在RSA加密中既然公鑰和私鑰是可逆的,為什麼都是把公鑰給別人,而不能把私鑰給別人?

時間 2021-05-06 19:32:41

1樓:詹天佐

從另外乙個角度考慮下,公鑰資料裡一般包含公鑰指數e,模N;私鑰資料裡一般包含私鑰d,公鑰指數e,模N。

很多時候公鑰指數e約定好,固定取值3或者65537,這樣一來e是公開的,而N在公鑰和私鑰運算時都需要用到,也必須公開(加解密雙方或者簽名驗證雙方都要知道N),那d就必須保密了。因為N是必須公開的,所以如果你公開了私鑰d,那就要保密指數e,但是事實上e是固定取值的,那相當於你的私鑰也是公開的。

如果用中國剩餘定理格式的公鑰私鑰那更簡單了,私鑰有p和q,公鑰資料裡是模N,p和q可以算出d和N,公尺把私鑰p和q公開課,那你N沒法保密,別跟用p和q就計算出來了

2樓:沒追求

理論上公鑰和私鑰是可以的

但實際上,無法從公鑰得到私鑰。這是因為對大質數做質因數分解具有很高的時間複雜度。

我想這樣就能解答題主的問題了。順便提一句,之所以大家說可拓展的量子計算機如果實現了,現在的很多加密手段不安全,就是因為量子計算機利用Shor演算法等,可以進行快速的質因數分解。

3樓:週刊

自己儲存的金鑰才叫私鑰,對外公開的金鑰才叫公鑰。

尤拉函式φ(n)之後,自己選乙個與φ(n)互質的e,然後算出d。

通常把d說是私鑰,e說是公鑰。

其實他們是乙個二元一次方程組的解,也就是說是可以互換的。

所以,不是因為私鑰所以自己儲存。而是把自己儲存的金鑰稱之為私鑰。

4樓:dgon

簡單理解下RSA演算法:先選兩個大的質數p,q,算出N=p*q,再算出r=(p-1)(q-1)。

選乙個與r互質的數e,根據r算出e的模反元素d。這裡理解起來開始有點難了,不理解也無所謂了。總之e和d其實是對稱的,互為r的模反元素。

銷毀p、q、r。上面那段不理解就算了,重點在這裡,r沒了,e就推不出d了,d也推不出e了,整個演算法的加密點可以說就在這裡。RSA加密,基本理論就是把大數N做因數分解再分出p和q來是公認的世界級難題,目前無解。

(N,d)就是公鑰,(N,e)就是私鑰。這兩貨是對稱的,你要換一下(N,d)當私鑰,(N,e)當公鑰完全可以。

5樓:Shiwei Zhang

這簡直就是人類迷惑行為。

就像是你家門鎖和鑰匙都是可逆的,為什麼不能把鑰匙給別人??雖然說理論上可逆,但是你能通過你家門鎖造出一把對應的鑰匙來?

正常回答一下:在密碼學中,公鑰可以模擬成鎖,私鑰模擬成鑰匙。加密檔案要用鎖,然後用鑰匙開啟。

劃重點,私鑰可以推導或者包含公鑰,但是私鑰無法在有效時間內從公鑰計算出來可逆可計算是兩碼事。

@知乎小管家 為啥不能在回答裡使用Emoji?

6樓:

我知道題主的意思,「可逆」想指的是在數學上地位相對。

理論上是可以,不過安全性稍微有降低,記得以前看過詳細的解釋,但是只記得了結論。

7樓:

對RSA來說,金鑰是成對生成的。

你給出去的叫公鑰,自己儲存的叫私鑰。

任何一對秘鑰,你換一下,給出別人乙個,儲存另外乙個,無論給出的是哪個都叫公鑰,自己儲存的都叫私鑰。

針對標準協議,一般為了方便識別金鑰,都是把公鑰或者私鑰的長度固定,另外乙個根據演算法決定長度,當然你自己設計私有協議完全可以不遵守這個規則。

8樓:張三

針對RSA,是可以交換的。

但是實現中,比如openssl,不知道是不是生成的兩個整數儲存格式上有所區別?但是這個不是啥本質問題,格式可以轉換。

針對RSA,你可以管私鑰叫公鑰,公鑰叫私鑰(好繞……)。

在非對稱加密中,是怎麼做到知道公鑰也沒法破解密文的?

馬聰 其實我覺得問這個問題的人不見得要了解如此詳細的細節吧。問題大致的意思就是說我明明可以從A走到B,我反著走從B走到A不行嗎?而事實上,從A走出來的內容是B C,在對外公開的時候,C被丟棄了,其實通過B C是非常容易反推A的。那麼有人說,C我可以猜啊,但是C的可能性非常多,多到目前全世界計算機根本...

tls過程中,為何不用證書提供的公鑰加密資料或者加密私鑰,而要設計金鑰交換流程呢?

非對稱加密和對稱加密的效率確實不在乙個量級。可另外乙個原因 服務端用私鑰加密了,豈不是任何人都能用公鑰解密?毫無隱私可言 Menooker 公鑰密碼較慢,比如rsa演算法需要冪模運算,cpu並不適合這樣的運算,相反對稱加密演算法在設計時已經考慮到使用現有cpu支援的運算,比如shift,xor等cp...

密碼學中,公鑰作為加密鍵,是公開的,私鑰作為解密鍵,是保密的。既然公鑰是公開的,那它存在的意義是什麼?

戰鬥力旺盛的勃勃 雖然名字叫做公鑰,你可以把他理解成一把鎖,我把鎖公布出去,想給我發資訊就用這把鎖把資訊鎖起來,這樣就可以確保只給我發的信心只有我能開啟 賀蘭衛 在非對稱的密碼系統中,公鑰是唯一的,代表通訊收方,收方也是唯一的。也就是說,無論是加密還是認證,公鑰的不同,代表著不同的通訊物件。 sky...