2015-02-24 191 views
0

我正在使用openssl模塊處理rsa私鑰和公鑰/加密/解密/等。但是一個問題仍然沒有答案:爲什麼私鑰經常(總是,我不知道)比公鑰長?私鑰長度>公鑰?

有幾個答案呢?

public and private key

這是我的生成公鑰和私鑰。

+3

此問題似乎屬於Stack Exchange網絡中的其他站點。也許你應該試試[超級用戶](http://超級用戶。com /)或[信息安全堆棧交換](http://security.stackexchange.com/)。 – jww 2015-02-24 21:54:45

回答

2

RSA專用鍵包含在RSA公共密鑰值,以及一些更值是私人。而且,價值本身更大。

公鑰包含模數和公開指數e,它很短(大多數是3或65537)。另一方面,私鑰包含私有指數de-1(modφ(n))。根據φ(n),d可以比e大得多。

還有其他公鑰算法,這是不同的。一些基於橢圓曲線的算法有一個大的整數作爲私鑰(和組描述),公鑰具有大於大整數的曲線點(和組描述)。

+0

謝謝! 您有任何科學文章或其他資源可以向我解釋這些價值是什麼? – marshallino16 2015-02-24 21:58:57

+0

https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29 – 2015-02-24 22:00:39

4

爲什麼私鑰經常(總是,我不知道)比公鑰長嗎?

答案詳見PKCS 1(以及像RFC 2437這樣的朋友)。

公鑰是雙對{e, n},其中e是公開指數,n是模數。

一個私鑰表示的是三重{e, d, n},其中e是公用指數,d是專用指數和n是模數。

其他私鑰表示是n元組{e, d, n, p, q, dp, dq, qi},其中e是公開的指數; d是私人指數; n是模數;並且pq是因子n

其餘的是中國剩餘定理,它允許簽名加速(我相信)。 dp是p的指數,是一個正整數,例如e(dP) ≅ 1 (mod(p-1)); dq是q的指數,這樣的正整數e(dq) ≅ 1 (mod(q-1));並且qi是CRT係數,小於p的正整數,例如q(qInv) ≅ 1 (mod p)