разный размер зашифрованного текста.
Ребята помогите разрешить спор.
У меня стоит ПГП 8.1, у друга 6-ка(6.0.3 вроде или 6.0.8)
я понимаю, что это уже обсуждалось.....
он говорит что в 8-ках и ваше есть универсальные ключи.
Проверяется это просто.
взяли одинаковый текст.
зашифровали одинаковыми ключами. (паролные фразы обе по 12 символов)
DH/DSS, 2048/1024, AES-256
в результате мой(8.1) зашифрованный текст получился больше =(
ОН сказал, – "Ну вот, видишь, он больше потому что там универсальный ключик присутствует".
Помогите разобраться плиз.
Ссылки
[link1] http://www.pgpdump.net
Если бы все было так просто.
Даже при шифровании одного и того же текста одной и той же программой его длина может отличаться на пару байт.
К тексту добавляются служебные поля (например включающие текущую дату), он сжимается, шифруется с использованием случайных векторов инициализации в режиме CFB. Шифрованные пакеты форматируется с использхованием MDC – кодов проверки целостности сообщений. В разных версиях это может быть реализовано разными алгоритмами (например с помощью разных хэш-функций).
В шифрованное сообщение также включаются сведения о ключе того, кто его шифровал – но это не для отмычки, а для проверки.
В итоге длина шифртекста зависит также от версии и настроек программы и ключа, а также даты и других параметров.
"Универсальную отмычку" при желании можно встроить в программу и с меньшим по объему шифрекстом, с одинаковым и т.д. Выявить ее наличие таким примитивным способом невозможно.
В PGP 6 не было кодов MDC, их реализовали только в 8.0.2 в ответ на атаку Шнайера-Джеллада-Катца. Так что шифртекст в 8.х всегда будет несколько больше.
В действительности, формат OpenPGP существенно изменился за эти несколько лет. В то же время время, он остаётся совершенно открыт. Предложите своему другу при очередном приступе паранойи разобрать ascii-armored-блок на соответствующие пакеты. Или вручную, или с помощью pgpdump[link1]. Всему сообществую будет любопытно, если он найдёт там нечто постороннее.
Ещё PGP 9 (не знаю как другие версии) любит мусор всякий в шифртекст добавлять:
После анализа на http://www.pgpdump.net видно, что это Marker Packet:
GnuPG таким не страдает.
В последних CKT сборках (09b3) PGP 6.5.8 коды MDC полностью реализованы. Но в PGP 6.0.х их действительно нет.
CKT — это побочная неофициальная ветвь PGP. Она развивалась много позднее изначального выхода официальных релизов с тем же номером версии, и заимствовала многое из более свежих редакций RFC 2440.