1

ばかげた質問ですが、IIRC RSA はキーサイズに基づいて限られた量のビットしか暗号化できません。非対称暗号は、同じキー長でより多くの暗号化を行うことができます (そしてより高速に実行されます)。その場合、 RSACryptoServiceProvider.SignHashで限られた量のビットのみに署名できますか? または、署名するときに使用しても問題なく、署名に AES を使用する必要はありませんか? (コンテンツは AES で暗号化されているため、これを行うことができます)。

4

1 に答える 1

3

実際、RSA は限られた量のデータしか暗号化できません。対称暗号は、はるかに短いキー長でより多くの暗号化を行うことができ、実際に高速に実行されます (最新の暗号を考えると)。

Indeed を使用して署名できるのは、限られた量のデータのみSignHashです。このメソッドは、ハッシュのバイトをデータに渡して配信することのみを想定しています。これは常に比較的小さく、たとえば約 16 ~ 64 バイト (MD5 ~ SHA512) です。RSA 鍵/モジュラスのサイズは通常、はるかに大きく、RSA 1024 のサイズはすでに 128 バイトですが、その数値からかなりのパディング オーバーヘッドを差し引く必要があります。

通常、AES を使用して署名することはありません。対称暗号による署名は MAC'ing と呼ばれますが、署名の場合、RSA は上記のハッシュ アルゴリズムとペアになっています。

あなたの場合、暗号化についてもう少し読んでみますが、特定のライブラリに与えられたサンプルを守ります。

于 2012-09-13T23:34:15.720 に答える