デジタル署名用のTurboPower LockBoxライブラリを評価しています。1024 ビットの RSA キーを作成し、それを使用して 260 バイトのテキストに署名しようとしました。テキスト内の 1 つか 2 つの文字を変更した後でも、署名は有効です。それは大丈夫ですか?または、このライブラリに問題がある可能性があります。1文字でも変更すると、重大な影響があります。より大きなキーを作成する必要がありますか?
アップデート
ライブラリをテストするために、付属のデモ アプリケーションを使用しました。1024 RSA キー ペアを生成し、デジタル署名機能を試しました。最初に、実際の 260 ビット テキスト ファイルで試してみたところ、その中のいくつかの文字を変更でき、署名がまだ有効であることがわかりました。次に、次の文字列に少し絞り込みました。
AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA 8
「8」の文字を変更しても機能します。もっと絞ってもいいかもしれません。
検証を実行するコードは次のとおりです。
Signatory1: TSignatory;
....
var
DocumentStream, SignatureStream: TStream;
....
DocumentStream := TFileStream.Create( edtRSADocumentFile.Text, fmOpenread);
try
SignatureStream := TFileStream.Create( edtRSASignatureFile.Text, fmOpenread);
try
Res := Signatory1.Verify( DocumentStream, SignatureStream)
finally
SignatureStream.Free
end;
finally
DocumentStream.Free;
end;