Encryption
多次使用 RSA 是否安全
假設我在特定機器上有多個對稱密鑰(可能超過 10000 個),我可以使用相同的 rsa 密鑰來加密所有這些密鑰嗎?我有點擔心多個加密密鑰將具有相似的模式並且會洩漏有關原始密鑰的數據的情況
如果您使用 PKCS#1 v2 加密填充 - OAEP,則不必擔心。
OAEP,最佳非對稱加密填充保證即使原始明文(在您的情況下,對稱密鑰)中的微小差異也會導致填充明文的巨大差異。
**是的。**根據安全密碼的任何現代定義,它可以安全地使用相同的密鑰多次使用(OTP 不能安全地重用其填充/密鑰,因此不是正確的密碼)。
拋開很多形式主義不談, PKCS#1v2.2 的RSAES-OAEP是一種安全的非對稱密碼,其安全性通過以下組合得到證明(在某種程度上,在包括完美實現在內的某些假設下):
- 它在內部使用的散列的假定安全性。
- RSA 問題的假設難度:正確選擇密鑰 $ (N,e,d) $ , 發現 $ m $ 是隨機選擇的 $ [0,N) $ 給定 $ m^e\bmod N $ .
這個結果有一個錯綜複雜的歷史。除非我錯過了後來的發展,否則最嚴格的證明是 Eiichiro Fujisaki、Tatsuaki Okamoto、David Pointcheval 和 Jacques Stern 的RSA-OAEP 在 RSA 假設下是安全的,發表於密碼學雜誌,2004 年。抽象的:
最近,Victor Shoup 指出,普遍認為的 OAEP 針對自適應選擇密文攻擊的安全結果存在差距。此外,他還表明,從潛在的陷門排列的單向性來看,可能無法證明 OAEP 是安全的。本文建立了OAEP安全性的另一個結果。它證明了 OAEP 在隨機預言模型中,在底層排列的部分域單向性下,提供了針對自適應選擇密文攻擊的語義安全性。因此,這使用了形式上更強的假設。然而,由於 RSA 函式的部分域單向性等價於其(全域)單向性,因此可以得出 RSA-OAEP 的安全性實際上可以在唯一的 RSA 假設下得到證明,儘管減少並不嚴格。