Рейтинг:0

Шифрование RSA и ECDH в OpenPGP

флаг pe

Согласно стандарту RFC4880

1. См. раздел 2.1 Конфиденциальность посредством шифрования --> OpenPGP сочетает в себе шифрование с симметричным ключом и шифрование с открытым ключом обеспечить конфиденциальность

+Для защиты сеансового ключа --> зашифровано открытым ключом получателя

+Для расшифровки сессионного ключа --> используйте закрытый ключ получателя

2. См. раздел 5.1 Пакеты ключей сеанса шифрования с открытым ключом.

+Шифрование RSA

+ Шифрование Эльгамаля (Диффи-Хеллмана)

  1. ECDH
  • отправитель: вычислить общий секрет --> KDF --> производный ключ --> AES-CFB
  • получатель: вычислить общий секрет --> KDF --> производный ключ --> AES-CFB

Итак, мой вопрос:

  1. в каком случае используйте RSA для соответствия стандарту OpenPGP
  2. в каком случае используйте ECDH для соответствия стандарту OpenPGP
  3. Правильно ли я понимаю модель ECDH, как указано выше? (отправитель шифрует только сообщение? Не шифрует сеансовый ключ как шифрование RSA) и можно ли использовать PBKDF2 вместо KDF в качестве стандарта?
Рейтинг:2
флаг cn

Шифрование ECDH для OpenPGP определено в RFC6637 не RFC4880, и для совместимости с существующими форматами сообщений, а также для обеспечения возможности нескольких получателей, он не использует результат ECDH напрямую, а использует его для переноса ключа сеанса с использованием AES-KW (RFC3394).

KDF, используемый в соглашении ECDH, не является PBKDF2 и не должен им быть; нет смысла использовать KDF, предназначенный для обеспечения растяжения паролей для данных, которые не являются паролем и не нуждаются в растяжении. На самом деле это один из KBKDF из SP800-56A, и он довольно тривиален (хотя все же важно указать, поскольку жизненно важно, чтобы все участники реализовали одно и то же).

Наконец, гнида: сообщение или «массовое» шифрование в OpenPGP (подправлено) CFB, но не обязательно AES; поддерживаются несколько симметричных блочных шифров. Хотя AES популярен, и на то есть веские причины.

Я не уверен, что понимаю ваши первые 2 вопроса.Как шифрование с использованием упаковки RSA, так и шифрование с использованием упаковки ECDH+ являются стандартными. Вы можете использовать шифрование RSA при отправке получателю, у которого есть ключ RSA (использование которого позволяет шифрование), и шифрование ECDH при отправке получателю, у которого есть ключ ECDH; вы можете использовать оба при отправке получателям, некоторые из которых имеют один тип ключа, а некоторые - другой. Вы не можете использовать ни то, ни другое при отправке кому-то с ключом ElGamal (FFC/modp), если вы можете найти кого-то, кто все еще делает это.

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.