Определение вашего собственного сообщения RSA - PullRequest
1 голос
/ 08 февраля 2012

У меня есть Программное обеспечение, которое Зашифровывает сообщение с использованием AES, случайным образом сгенерированный ключ AES Зашифровывается открытым ключом RSA получателя.теперь, когда я отправляю сообщение нескольким пользователям ...

Сторона отправителя:

  1. Сообщение зашифровано случайным хэшированием (sha256) КЛЮЧ AES

  2. Затем ключ AES шифруется много раз и добавляется к зашифрованному сообщению с использованием открытого ключа каждого получателя.

  3. сообщение имеет [номер для получателей, [список зашифрованныхключи], Зашифрованное сообщение]

Сторона получателя:

  1. получить количество получателей

  2. Зацикливайтесь на прилагаемых зашифрованных ключах и расшифровывайте их с помощью вашего частного RSA.пока вы не найдете тот, который предназначен для вас.таким образом, когда он / она расшифровывает ключ, он получает ключ AES.

3. дешифрует сообщение с помощью ключа AES.

Зная, что ключ имеет базовую 64строка, которая означает, что она заканчивается на «=», и имеет длину 256 из-за ша

. Вопрос в том, как я узнаю (если я получатель), что дешифрованный ключ с использованием моего частного RSAисправить автоматически?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

Два вопроса: является ли протокол, который вы описываете, фиксированным, или он может быть изменен каким-либо образом?Если это исправлено, какую схему заполнения вы используете для RSA?PKCS # 1 v1.5, OAEP или вообще ничего?

  1. Если протокол может быть изменен, вы можете использовать режим шифрования с аутентификацией, такой как EAX, CCM или GCM.Если дешифрование передачи ключа RSA происходит молча, то аутентификация расшифровывается AES.

  2. Используйте вариант RSA-OAEP для транспорта ключа, который обеспечивает «осведомленность в виде простого текста», как описано здесь: http://www.rsa.com/rsalabs/node.asp?id=2346.

0 голосов
/ 08 февраля 2012

Нет способа найти это зашифрованное сообщение, которому принадлежит получатель.

Но вы можете попытаться расшифровать сообщение, если расшифровка прошла успешно, то это получатель

...