3

デフォルトのRSACryptoServiceProviderクラスを使用したC#でRSA暗号化を行うクラスがあります。しかし、次の点について懸念があります。入力に ​​hello という単語があり、暗号化された文字列が ABCDE として返される場合、RSA に同じキー (公開鍵と秘密鍵) を使用して入力 hello に対して別の暗号化操作を実行すると、出力は再び ABCDE になりますか?

前もって感謝します

4

1 に答える 1

5

実際、RSA は決定論的な暗号化アルゴリズムであるため、同じキーと平文が与えられた場合、同じ暗号文が出力されます。RSA は、セマンティックにセキュリティを確保するために、一般的にパディング スキームと共に使用されます。

もちろん、これは一般的なケースにすぎません。C# の RSACryptoServiceProvider を保証できません

編集:

もちろん、選択したパディング スキームもかなり疑似ランダムである必要があります。OAEP は一般的に使用されるものです。

于 2010-03-14T08:56:34.670 に答える