Основные сведения о криптографии: подпись RSA - PullRequest
0 голосов
/ 28 июня 2011

Мне нужно настроить сценарий, в котором клиент отправляет зашифрованный (AES) и подписанный файл, а сервер расшифровывает его и проверяет подпись (RSA).

Вот шаги, о которых я подумал:

1) Вычислить подпись текстового файла, а затем добавить подпись (в кодировке base64) в заголовок 2) Зашифруйте текстовый файл (с добавленным заголовком). 3) Отправить зашифрованный файл на сервер 4) На сервере расшифруйте файл, затем извлеките подпись из заголовка (base64 расшифрует его). Проверьте отправителя. Затем используйте проверенный текстовый файл.

Мой вопрос:

Как вы думаете, мне следует сначала зашифровать текстовый файл, а затем добавить простой заголовок (base64), чтобы сначала была выполнена проверка отправителя, а затем, если отправитель проверен, может ли операция перейти к расшифровке содержимого файла?

Суть в том, что когда я делал это сначала, я представлял, что подпись также может быть запутана, и поэтому я все это зашифровал. Теперь вопрос в том, должны ли подписи быть действительно запутанными? Как злоумышленник использует подпись (если она обычная?)? Он все равно не может подделать его, так как проверка не удастся ... Пожалуйста, пролите немного света.

1 Ответ

0 голосов
/ 28 июня 2011

Вкратце: не изобретайте велосипед, особенно если у вас нет опыта в криптографии.

Возьмите существующую схему криптографии, такую ​​как OpenPGP или PKI (вам потребуется ее часть CMS), и используйте ее.OpenPGP хорош, если у вас нет централизованного управления ключами (т.е. не задействованы центры сертификации и т. Д.).PKI хорош, если вы хотите положиться на существующую инфраструктуру распространения и управления сертификатами (и ключами).PKI имеет лучшую поддержку в различных программах, но если и клиент, и сервер спроектированы вами, это не имеет большого значения.

...