• Авторизация


ретро софт: PGP v1.0 12-04-2006 18:35 к комментариям - к полной версии - понравилось!


Программа PGP, автором которой был Philip Zimmermann, оказалась знаковой в истории развития шифрования на IBM PC-совместимых микрокомпьютерах. PGP позволяла пользователям не только обмениваться зашифрованными файлами и сообщениями, но и проверять при этом их подлинность.  В те времена существовало немало "шифровалок", большинство которых использовали либо DES, либо самодельные алгоритмы неизвестной стойкости. Но ни одна из этих программ не обеспечивала возможность обмениваться данными, обезопасив их от перехвата, просмотра или изменения третьими лицами.

Немного истории.

В 1980 году вскоре после окончания колледжа Zimmermann вместе со своими друзьями организовал фирму Metamorphic Systems. Их проект не имел вообще ничего общего с криптографией: предполагалось создать карту на основе нового процессора Intel 8088 для апгрейда компьютеров Apple II, работавших под управлением более медленных MOS 6502.

И вот однажды в
Metamorphic Systems раздался телефонный звонок. Звонил программист из Арканзаса Charlie Merritt. Его интересовало "железо", которое обладало бы достаточной скоростью для реализации криптографической схемы с открытым ключем RSA. Этот звонок оказался одним из совпадений, которые в последствии оказывают огромное влияние на будущее.

Еще во время обучения в колледже,
Zimmermann интересовался криптографией, но не обладал достаточной математической базой. Merritt же оказался хорошим математиком. Именно благодаря ему Zimmermann заинтересовался криптографией с открытым ключем и, в частности, RSA. Летом 1986 года они впервые встречаются, и уже тогда Zimmermann всерьез думает о реализации алгоритма RSA на IBM PC. Вскоре Merritt организует их встречу с Jim Bidzos - президентом RSA Data Security Inc, чтобы обсудить вопросы с лицензированием.

Вскоре после этого
Zimmermann объявил, что Bidzos предложил ему бесплатную лицензию на RSA, хотя Bidzos это отрицал. Так или иначе, в июне 1991 года появляется PGP v1.0. Изначально тот релиз не был предназначен для широкого распространения. Однако Zimmermann дал программу одному из своих друзей, а тот опубликовал её в Usenet. В RSA Data Security не были особо рады этому событию, так как PGP оказалась главным конкурентом их собственному продукту - RSADSI’s MailSafe. Фирма заключает с Zimmermann'ом договор, что против него не будет выдвинут судебный иск, если он прекратит распространение PGP. Но поезд уже ушел...

На что это было похоже...

Изначально предполагалось, что симметричным алгоритмом в PGP должен был быть DES. Однако Zimmermann заменил DES на собственный, созданный на основе работ Merritt'a симметричный криптоалгоритм, названный Bass-O-Matic.  На Crypto Conference '91 Zimmermann обращается к Adi Shamir (тому самому, благодаря которому в аббревиатуре RSA присутствует буква S) с просьбой проанализировать стойкость Bass-O-Matic. но Shamir отказывается. Тогда Zimmermann обращается с той же просьбой к не менее весомой фигуре в мире криптографии - Eli Biham. Biham дает согласие, и вскоре не оставляет от Bass-O-Matic камня на камне.
Остается лишь добавить, что в качестве хэш-функции в PGP 1 использовался алгоритм MD4, 2 из 3х раундов которого полностью обратимы, а поиск искусственных коллизий для MD4 на современных компьютерах занимает считанные секунды. В детали реализации RSA я, несмотря на доступность исходников, не вдавался. Но доводилось видеть старую библиотеку генерации ключей, написанную
Zimmermann'ом, и использовавшуюся в свое время в первых версиях навесной защиты ASProtect.В этой библиотеке ключи RSA генерировались в зависимости от 32-битного PRNG, и сложность взлома даже 1024-бит ключа осставляла всего 2^31.

В общем, с точки зрения криптографии, PGP 1.0 представлял из себя одну большую дыру :) Но сам факт доступности подобной программы рядовому пользователю был гораздо важнее неудачной реализации, которая была исправлена уже в следующей версии. А версия 2.6.3i до сих пор считается "классикой жанра" и даже используется.

Ну и в заключении - скриншот "той самой" PGP 1.0:
вверх^ к полной версии понравилось! в evernote
Комментарии (2):
Dr_F0lken 12-04-2006-18:57 удалить
Эээ... познавательно, читал с удовольствием. Немного оффтопика. Почему после обращения в линуксе к устройству /dev/urandom (генератор сл. чисел) для последующей генерации RSA ключа, программа падает ? Это проявляется у меня на hydranode при настройке ed2k протокола, а еще я нарвался на схожий случай, когда у народа инициализируется SSL extension для Apache. Я знаю, что задаю дурной вопрос, но "среагировала" память на слово RSA... Нет ли случайно идей по этому поводу. Это раз. Второе. Есть ли БЕСПЛАТНЫЙ софт (с исходником желательно), который позволил бы создавать защищенные контейнеры и дергать оттуда файлы, и, соответственно писать их туда. Сценарий такой: я вставляю флешку, запускаю exe-файл, у меня рождается еще один диск в системе. С него работаю. По выходу из проги все нафиг грохается, то есть диск отмонтируется.
TraxxOfAxe 12-04-2006-19:35 удалить
Насчет причин падения проги при обращению к urandom - без понятия. А по поводу бесплатной мультиплатформенной open source проги для создания защищенных контейнеров - смотри в сторону truecrypt.org


Комментарии (2): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник ретро софт: PGP v1.0 | TraxxOfAxe - Уголок глубоких мыслей | Лента друзей TraxxOfAxe / Полная версия Добавить в друзья Страницы: раньше»