Ssh

SSH 密鑰:為什麼 id_rsa 比 id_rsa.pub 大?

  • May 8, 2011

我的私鑰 ( ~/.ssh/id_rsa) 是一個 1766 字節的文件,但我的公鑰 ( ~/.ssh/id_rsa.pub) 長度只有 396 字節。為什麼會有巨大的差異?是因為私鑰是用AES加密的嗎?AES 密文的長度通常與明文的長度不一樣嗎?

你的私鑰比你的公鑰擁有更多的資訊。公鑰僅傳遞加密指數 (e) 和模數 (n),而私鑰還包括解密指數 (d) 和模數的兩個素數因子(p 和 q)。私鑰本質上里面有一個公鑰。

$$ Encryption: ciphertext = message^e (mod n); Decryption: message = ciphertext^d (mod n) $$ 要查看私鑰文件中的所有數據:

$ openssl rsa -in id_rsa -text -noout

編輯:私鑰文件顯然沒有加密指數,但它有指數 d_1 和 d_2,其中 d_1 = d (mod p-1) 和 d_2 = d (mod q-1)。這些用於加速解密——您可以將解密取冪拆分為更小的並行取冪呼叫,最終對於大 d 和大 n 來說比一個大 m=c^d (mod n) 更快。

引用自:https://serverfault.com/questions/267522