Какое значение имеет длина ключа при подписании файла? - PullRequest
0 голосов
/ 27 июля 2011

Я никогда не посещал никаких занятий по шифрованию или безопасности, и я пытаюсь научить себя некоторым основам, так что извините, если это глупый вопрос (не волнуйтесь, я не работаю над чем-то чувствительным)

Итак, я играю с Crypto ++, чтобы я мог сделать подпись файла, чтобы увидеть, был ли файл отредактирован кем-то другим, кроме меня. Тестовое приложение, поставляемое с библиотекой, похоже, имеет опции (rs и rv), которые делают именно то, что я хочу сделать в моей собственной программе (проверять целостность подписи файла). Конечно, прежде чем сделать это, мне нужно создать открытый и закрытый ключ. Делая это с опцией g тестового приложения, он просит меня указать длину ключа в битах. Какая разница в длине ключа?

1 Ответ

2 голосов
/ 27 июля 2011

Длина ключа определяет, насколько сложно кому-то взломать вашу криптографию.Для цифровых подписей это означает, что для кого-то трудно создать поддельную подпись.

Для RSA длина ключа 1024 бита достаточна для нечувствительной информации, но ее следует использовать только в течение нескольких лет.а затем заменить на новый ключ.2048 бит сильнее, а 4096 еще сильнее.

Для наивного злоумышленника, использующего грубую силу, добавление одного бита к длине ключа удваивает объем работы, который им необходимо выполнить, чтобы скомпрометировать ваш ключ.Однако алгоритмы, такие как RSA, не масштабируются таким образом: 2048-битный ключ RSA не в 2 ^ 1024 раза сложнее взломать, чем 1024-битный ключ (если только атакующий не * действительно глуп).

Обычно алгоритмам с открытым ключом (например, RSA) требуются ключи намного большего размера, чем алгоритмам симметричный ключ (например, AES), поскольку они зависят от различных математических свойств.

Для хорошего учебника по криптографии вы должны проверить Годовое руководство по криптографии Питера Гутмана .Он довольно читабелен и дает вам хорошее представление о том, как работает криптография в различных ее формах.

...