Предисловие Ф. Циммерманна к книге
«Исходный код и свойства PGP»

Опубликовано MIT Press, 1995. ISBN 0-262-24039-4 (в печати больше нет)

Эта книга содержит весь исходный код на языке C к пакету программных средств под названием PGP (Pretty Good Privacy). PGP - наиболее широко используемое программное обеспечение в мире, для шифрования электронной почты. Эта программа использует алгоритм шифрования с Открытым Общественным ключом, что дает Вам возможность общаться с людьми, которых Вы никогда не встречали, без предварительного обмена ключами по безопасным каналам.

Зачем публиковать целую книгу (причем большую), состоящую главным образом из скучного исходного кода компьютерной программы? Для этого есть несколько причин. Это касается Ваших гражданских свобод и требует небольшого объяснения, но это действительно довольно интересная история.

Криптография на удивление политическая технология, в последние годы она стала еще более политической, с дискусиеей вокруг Government's Clipper chip, законопроекта FBI о прослушивании разговоров, контролем над экспортом криптографических программных продуктов и равновесия власти между правительством и его народом. Исторически криптография использовалась, главным образом, правительством для дипломатической и военной почты. Но с приходоминформационного века, повсеместным распространением персональных компьютеров, модемов и факсимильных аппаратов, это положение изменилось. С возникновением глобальной экономики, которая больше и больше зависит от цифровой связи, простые люди и компании нуждаются в криптографи для того, чтобы защитить свой ежедневный обмен информацией. Действия правоохранительных органов и разведывательных управлений направлены на получение доступа ко всей информации, для того, чтобы ловить людей, которые преступают закон и расследовать угрозу национальной безопасности. Борцы за гражданские права хотят, чтобы правительство не вмешивалось в частную жизнь и хотят защитить нас и сохранить здоровую демократию.

PGP - свободно распространяемое программное обеспечение. Каждый может получить его из сети Internet, или любогоо другого источника. Это вызвало споры, потому что программа распространилась по всему миру и, фактически, стала стандартом для шифрования электронной почты, несмотря на экспортные ограничения США. Впервые опубликованный в США этот пакет распространился с быстротой, характерной для свободнораспространяемых программ с "запретным" вкусом, давшим ему импульс суперпопулярности. Как это ни странно, но, возможно, что правительство США непреднамеренно повлияло на распространение PGP, сделав его еще популярнее из-за моего дела. Я находился под уголовным преследованием из-зи распространения PGP за пределы США, что является, как утверждает правительство, нарушением экспортных ограничений США. Мое дело привлекло внимание прессы частично потому, что если американца можно посадить в тюрьму за опубликование электронной информации чего-либо в США, тогда журналисты сами могут оказаться в рискованном положении в завтрашнем мире электронных газет на информационном пути.

Другая причина, почему пресса так заинтересовалась моим делом, это попытка правительства ограничить доступ общественности к стойкой криптографии. Администрация Клинтона пытается заставить телефонные компании устанавливать специальные шифровальные приспособления в каждый телефонный аппарат. Ожидается, что пройдет много лет, пока им удастся закончить это. Когда этот "Clipper chip", как он назвается, будет производится правительством, они поместят универсальный шифровальный ключ в каждый чип и будут держать копию ключа в обширной правительственной базе данных, для целей прослушивания. У Вашего телефона, когда нибудь, появится "Большой брат" внутри. Правительство надеется, что американская общественностьпримет эту контролируемую ими криптографию и настойчиво препятствует другим формам криптографии, которые они не контролируют. Один из способов препятствования - использование экспортных ограничений на криптографические программные продукты. Это привлекает внимание прессы к PGP.

У госаппарата США есть список предметов, которые нельзя экспортировать без лицензии. Department has a list of items that may not be exported without a license. Список военных материалов.(?не уверена в точности перевода). В основном это оружие, но туда включены и шифровальные программные продукты. Эти программы нельзя экспортировать без лицензии и эту лицензию очень трудно получить, если программные продукты используют передовую шифровальную технолошию, которую правительство не может с легкостью открыть.Такие программы, как PGP.

Госдепартамент позволяет предметам из списка военных материалов быть экспортируемыми, если эти предметы получают статус широкого потребления, попадающих под юрисдикцию департамента торговли, вместо госдепартамента. Эта юрисдикция дает право предмету легально экспортироваться из США Было бы политически сложно для правительства запретить экспорт книги, которую каждый может найти в публичной библиотеке или книжном магазине. Госдепартамент уже присудил эту юрисдикцию другой книге, содержащей исходный код "Прикладная криптография" Брюса Шнайдера. Поэтому, мы помещаем исходный код PGP в книгу, которая может быть сканирована. И мы получаем юрисдикцию. Будет интересно увидеть, куда приведет этот процесс.

PGP использует лучшие алгоритмы криптографии, имеющиеся в открытой академической литературе - алгоритмы, которые выдержали самый пристальный анализ и корни которых в лучших конституционных принципах современной криптографии. PGP версии 2.6.2 использует алгоритм RSA для управления ключами и цифровой подписи, шифр IDEA для шифрования большого колличества данных и MD5 для одностороннего хеширования цифровой подписи. Эта версия позволяет сжатие данных перед из шифрованием, используя алгоритм ZIP.

PGP разрабатывалась в трудных условиях, без финансирования, в погоне за временем в 1991 году для того, чтобы выпустить ее раньше, чемстанет незаконным опубликование программных продуктов такого рода. Законопроект Сената №266 и антипреступный законопроект от 1991 года, имели пункты, которые предсказали форму выходящих вещей. Это была резолюция "sense of Congress", которая говорила, что все системы связи будут оснащены правительством для возможности получения открытого текста почты. Эта резолюция вскоре была отменена, после того, как PGP была впервые опубликована, благодаря публичному протесту групп сторонников гражданских прав. PGP была опубликована как свободнораспространяемый программный продукт, в попытке воспользоваться возможностью до того, как правительство сможет запретить эти технологии.

Есть другие книги в секции информатики Вашего книжного магазина, в которых есть примеры исходного кода различных алгоритмов. Эти книги обучают хорошему стилю програмирования, обеспечивая хорошие примеры кода. Эта же книга, большей частью непохожа на них. Хотя в ней есть несколько инструкций, как применить определенные алгоритмы, каждый может обнаружить примеры, что эта часть исходного кода - не лучший пример модульности. Этот код - то, как он существует. Условия испытаний разработки PGP привели к рациональным подходам и применению, иногда ценой ясности. Глобальные переменные используются чаще, чем следовало бы, есть много случаев использованияизлишнего позирования и есть много интермодульных зависимостей. Поскольку другие производители программного обеспечения, во всем мире, внесли вклад в их собственные разработки PGP, после того, как в 1991году, была опубликована версия 1.0. Они получили в наследство неудачное кристаллическое ядро, к которому могла прийти значительная часть кода и модифицировали и переделывали под давлением целесообразности. В PGP остается очень мало от моего оригинального кода, главным образом состоящего из библиотеки целых чисел множественной точности, который я впервые написал в конце 1986 года. К несчастью, более ясные примеры кода из моей 20-летней практики производителя программного обеспечения, не смогли послужить основой для того, что в конце концов становится настолько широкораспространенной частью исходного кода, что будут изучать такое большое колличество программистов.

Несмотря на неясность кода, качество криптографии и управление ключами очень хорошее. Достаточно хорошее для того, чтобы подействовать на мир таким образом, какого нет у других программ для криптографии, чтобы нарушить планы некоторых элементов правительства США, так же, как и большого числа иностранных правительств.

PGP не могла бы быть там, где она находится сейчас, без добровольных усилий многих талантливых программистов со всего света. Peter Gutmann и Branko Lankester приложили много усилий к развитию PGP. Jean-loup Gailly добавил свои шаблоны сжатия ZIP. Многие другие внесли свой вклад в кодирование и они названы в комментарии к исходному коду. Другие люди пожертвовали своими усилиями для проекта PGP, включая мою собственную команду юридической защиты, включая Phil Dubois, Eben Moglen, Ken Bass и Curt Karnow. Другие юристы, которые обеспечили консультации - Tom Nolan и Chuck Marson.

Я пишу эти строки в воздухе между Бухарестом и Будапештом, на разговорном туре о честной жизни в век информации. В Бухаресте я видел ужасное наследство системы, созданной людьми, которые требовали достоверности, не доверяя гражданам с личной свободой. Этим людям понравился бы Clipper chip. Народ там сейчас доволен, что у них есть свобода и они понимают мою обеспокоенность властью правительства. Они уже имеют это и не понимают, почему американцы нет.

Книга, состоящая целиком из исходного кода выглядит довольно скучно. Но тогда так же выглядит и неопределенный фрагмент бетона, разве что он не окажется частью Берлинской стены, которую многие поместили на своих каминных полках, как символ свободы, открытой для миллионов людей. Возможно, в своем марафоне, эта книга поможет открыть границы США свободному потоку информации.

Филипп Циммерманн
Boulder, Колорадо
Ноябрь 1994

 

Email the Admin Email the Webmaster
Copyright © Double Star, 2000-2001