4

デジタル署名用の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;
4

2 に答える 2

1

まず、ライブラリは何年​​も使用されているため、ライブラリに問題はないと思います。入力を変更して同じ署名を使用して検証することはできず、機能するはずです。キーサイズは関係ありません。

本当の答えを得るために、質問を拡張します-Delphiのバージョンは何ですか? いくつかのコードを表示できますか?

于 2010-11-19T18:48:26.483 に答える
0

LockBox 3には、デジタル署名コンポーネントの実装にバグがあります。LockBox 2.07は正しく署名して署名を検証できますが、Delphi2010ではキーの読み込み/保存が機能しません。

于 2010-11-24T11:25:26.450 に答える