Я оцениваю TurboPower LockBox библиотека для цифровой подписи.Я создал 1024-битный ключ RSA и попытался подписать им 260 байтов текста.После изменения одного или двух символов в тексте подпись остается в силе.Это нормально?Или возможно это проблема с этой библиотекой.Изменение даже одного персонажа имеет решающее значение.Нужно ли создавать ключ большего размера?
ОБНОВЛЕНИЕ
Для тестирования библиотеки я использовал демонстрационное приложение, которое поставляется с ней.Я сгенерировал пару ключей RSA 1024, а затем попробовал функции цифровой подписи.Сначала я попробовал с настоящим 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;