Aes

MS CryptoAPI RC4-1024 與 AES-128?

  • July 17, 2021

我試圖找出 MS CryptoAPI 在一台電腦上生成對稱密鑰,然後在另一台電腦上生成 RSA 密鑰,發送該公鑰以用於將對稱密鑰導出到另一台電腦。我在這裡查看他們的範例,它似乎創建了一個位長為 1024 的 RC4 會話(對稱)密鑰,然後是 1024 位的 RSA(AT_KEYEXCHANGE)。這讓我想知道,RC4-1024 與 AES-128 相比如何?或者我對那個樣本實際上在做什麼是錯誤的?

基於 MD5 的密鑰派生和 RC4 加密。真的嗎?2018 年創建的範例?微軟應該為自己感到羞恥。我沒有看到 1024 位密鑰,我看到了從上述 MD5 和 PKCS#1 RSA 加密創建的 128 位密鑰。至於密鑰大小“可以在生成密鑰時設置會話密鑰的大小。密鑰大小,表示密鑰模數的長度,以位為單位,用該參數的高 16 位設置。因此,如果一個將生成 128 位 RC4 會話密鑰,該值通過按位或運算0x00800000與任何其他預定義值組合。”dwFlags

由於生成的密鑰流有偏差,RC4 相對而言是有缺陷的,如果使用正確,帶有硬體加速的 AES 應該很容易更安全。您想使用 OAEP 和 GCM 等認證模式(但祝您找到範例好運)。哦,是的,“這些 CSP 中的每一個都具有 RC2 和 RC4 的預設 128 位對稱密鑰長度和公鑰算法的 1,024 位預設密鑰長度。”。你應該瞄準至少 2048 位,如果可能的話 4096 位;後者應該為您提供超過 128 位的安全性。

明年,您在該頁面上看到的所有加密貨幣都將滿 30 歲。現代加密貨幣自香農(1949 年)以來就已經存在,大約在 50 年前的 70 年代出現了最初的大繁榮。沒有 1024 位 RC4,只有 128 位 RC4。使用 1024 位的 RSA 密鑰太小,請不要考慮複製密碼的密鑰派生方法。

程式碼的結構也不是很好;您可以從中學到的一件事是對加密庫的呼叫以及您可以增量加密文件的方式,而不是一次性完成所有操作。

引用自:https://crypto.stackexchange.com/questions/92098