3

一連のバイトの RSA 秘密鍵暗号化を計算するために OpenSSL ライブラリの .Net ラッパーを使用すると、いくつかの問題が発生します。

現在、使用したい秘密鍵を含む .pem ファイルを BIO オブジェクトに読み込みます。

public byte[] ComputeRSAEncryption(byte[] dataBlock, BIO privateKey)
{
   RSA rsa = RSA.FromPrivateKey(privateKey);
   return rsa.PrivateEncryption(dataBlock, RSA.Padding.None);
}

サイズが 64 バイトの RSA キーと 64 バイトのデータブロック サイズを使用しています。上記のメソッドが呼び出されると、エラーが発生します。

係数に対してデータが大きすぎます

ただし、すべてのバイトが 0x00 に設定されているサイズ 64 バイトのデータブロックを使用すると、メソッドはエラーなしで機能します。

足りないものはありますか?

ありがとう。

4

1 に答える 1

4

私はついに問題を解決しました。興味のある他の人にとっては、データブロックの最下位バイトの値は 0x00 でなければなりません。この条件を適用することで、RSA 暗号化と復号化は魔法のように機能します。

于 2012-05-25T09:01:52.737 に答える