2015-01-01 48 views
1

我需要在密鑰的字節大小很重要的環境中使用RSA加密。 我不想冒險破壞安全,所以我想知道是否可以讓一個人首先使用(2048位)傳輸他的密鑰,然後讓另一個人傳輸與其他人的密鑰一起加密的大小(256位)的密鑰。如果這仍然會提供一個安全的方案?加密其他人的公鑰以減少整體所需的密鑰大小,可行嗎?

PS:我意識到256位會增加加密,你可以忽略中間人問題。

TL; DR:公鑰保密是否允許更小的密鑰大小?

回答

0

通常人們會使用RSA和其他非對稱算法專門用於交換密鑰。 RSA的安全性與分解大素數有關,這就是爲什麼它們的密鑰大小通常比諸如AES之類的算法的對稱密鑰長得多的原因。你不想做的是在你的方案中減少RSA密鑰的大小。所以,如果你正在做的是創建一個256位的AES密鑰,然後使用AES進行加密,那麼我認爲安全方案將起作用。公鑰加密比對稱加密慢得多,因此出於性能和其他原因您不想使用RSA。對於你關於保持公鑰的祕密的問題,我認爲這與RSA的意義不符。公鑰是爲了公開。

該實現也可能存在缺陷,例如2014年發現SSL 3存在填充oracle漏洞。我建議您使用標準實現,如TLS,而不是試圖製作自己的協議。安全協議通常是密碼學中最困難的問題。

+0

談論無法看到樹木的森林。是的,這是非常有意義的,我總是認爲RSA被用於所有事情,但那樣會很愚蠢。 –