Каков алгоритм PGP для шифрования сообщений?

Есть ли какая-либо документация, объясняющая, какие математические алгоритмы используются в PGP для шифрования сообщения (генерация ключа, преобразование сообщения в число, подпись...)?

Например, предположим, что у меня есть друг, который использует стороннее программное обеспечение для шифрования и дешифрования сообщений с помощью PGP, и я хочу отправить ему сообщение, например. «Привет, друг!», и я хочу зашифровать сообщение самостоятельно, без использования стороннего программного обеспечения. Как мне сгенерировать пару ключей и как рассчитать подписанное зашифрованное сообщение?

Я знаю об асимметричном шифровании, DSA, RSA, SHA-1 и т. д., но не могу найти никакой документации по алгоритму PGP.


person user66769    schedule 01.08.2017    source источник
comment
PGP и GPG — это программные решения, а не алгоритмы. Они используют все популярные алгоритмы, такие как RSA, AES и некоторые другие.   -  person Artjom B.    schedule 01.08.2017
comment
Я хотел бы знать, какие популярные алгоритмы он использует, в каком порядке и с каким параметром.   -  person user66769    schedule 01.08.2017
comment
Возможно, вы захотите взглянуть на RFC; хотя читать не легко. -tools.ietf.org/html/rfc1991#section-6.5.1 -tools.ietf.org/html/rfc2015   -  person Roshith    schedule 02.08.2017


Ответы (1)


PGP и некоторые другие производные программы изначально использовали закрытый формат файла. Это было проблемой, поэтому П. Циммерманн (который написал и впервые опубликовал программное обеспечение PGP в 1991 году) написал RFC (с соавторами В. Столлингсом и Д. Аткинсом) под названием Форматы обмена сообщениями PGP, опубликованные IETF в 1996 году: этот номер RFC ... 1991 (легко запомнить: PGP впервые опубликован в 1991 году, номер RFC 1991, повторяйте за мной , ...).

Обратите внимание, что этот RFC не является стандартом: это всего лишь информационный документ. Никто не должен претендовать на соответствие ему. Он был опубликован только потому, что, как указано Postel, Huitema и Crocker в RFC-1796: Скорее документировать, чем игнорировать.

Этот RFC устарел в соответствии с RFC-2440 под названием Формат сообщения OpenPGP, и этот документ является стандартом. Последний устарел в соответствии с RFC-4880 с тем же названием и той же категорией (отслеживание стандартов). И, наконец, RFC-5581 добавил несколько незначительных обновлений в RFC-4880. Эти спецификации объясняют, какие алгоритмы используются и как их использовать для форматирования сообщений.

Существует множество реализаций этого формата и криптографических операций. Вы даже найдете реализации JavaScript. Известный онлайн-сервис, который позволяет вашему браузеру использовать JavaScript для управления сообщениями Open PGP, доступен здесь: https://keybase.io. Это не реализация протокола: вы должны скопировать/вставить закодированный зашифрованный текст в свой почтовый пользовательский агент, например, если вы хотите отправлять сообщения OpenPGP, созданные с помощью этого сервиса.

person Alexandre Fenyo    schedule 16.08.2017