Главная страница

Криптография 2е издание Протоколы, алгоритмы и исходные тексты на языке С


Скачать 3.25 Mb.
НазваниеКриптография 2е издание Протоколы, алгоритмы и исходные тексты на языке С
Дата29.04.2022
Размер3.25 Mb.
Формат файлаpdf
Имя файлаShnayer_Prikladnaya-kriptografiya.352928.pdf
ТипПротокол
#504484
страница2 из 78
1   2   3   4   5   6   7   8   9   ...   78
Штатах.
В то время, когда писались эти строки, возникло новое препятствие для общественного использования кри п- тографии. Правительство дополнило широко опубликованный и используемый алгоритм DES засекреченным алгоритмом, реализованным в микросхемах памяти, независящей от времени. Эти микросхемы будут содержать кодифицированный механизм правительственного контроля. Отрицательные аспекты такой програ м- мы-троянского коня простираются от потенциально губительного раскрытия тайны лич ности до высокой стои- мости аппаратной модернизации продуктов, ранее реализованных программно. Таким образом, предлагаемое нововведение не вызвало энтузиазма и подверглось широкой критике, особенно со стороны независимых кри п- тографов. Ряд людей, однако, видят свое будущее в программировании, а не в политике и удваивают свои ус и- лия, стремясь представить миру мощные средства криптографии.
Значительное отступление от возможности того, что закон о контроле над экспортом отменит Первую п о- правку
1
, казалось было сделан в 1980 году, когда в опубликованные в Federal Register исправления ITAR вошло следующее положение: "...положение было добавлено с целью показать, что регулирование экспорта технич е- ских данных не приведет к конфликту с правами личности, определяемыми Первой поправкой". Но то, что ко н- фликт между Первой поправкой и законами о контроле над экспортом не разрешен окончательно, должно быть очевидно из заявлений, сделанных на конференции, проводимой RSA Data Security. Представитель NSA из от- дела контроля над экспортом выразил мнение, что люди, публикующие криптографические программы, нах о- дятся " в серой зоне" по отношению к закону. Если это так, то именно эту "серую зону" немного осветило первое издание этой книги. Экспорт приложений для этой книги был разрешен с подтверждением того, что опублик о- ванные материалы не попадают под юрисдикцию Совета по контролю над вооружением. Однако, экспортир о- вать опубликованные программы на диске было запрещено.
Изменение стратегии NSA от попыток контролировать криптографические исследования к усилению регул и- рования в области разработки и развертывания криптографических продуктов по видимому обусловлено осо з- нанием того, что все величайшие криптографические работы не защитили ни одного бита информации. Будучи
1
К конституции США
поставлен в шкаф, этот том не сделает ничего нового по сравнению с предшествующими книгами и работами,
но использование его содержания на рабочей станции, где пишется криптографический код, может привести к иному результату.
Уитфилд Диффи
Маунтэйн Вью, Калифорния.

Введение
Криптография бывает двух типов: криптография, которая помешает читать ваши файлы вашей младшей с е- стре, и криптография, которая помешает читать ваши файлы дядям из правительства. Эта книга о втором типе криптографии.
Если я беру письмо, кладу его в сейф где-нибудь в Нью-Йорке, затем велю Вам прочитать это письмо, то это не безопасность. Это непонятно что. С другой стороны, если я беру письмо и кладу его в сейф, затем передаю этот сейф Вам вместе с детальным описанием, передаю также сотню подобных сейфов с их комбинациями, чт о- бы Вы и лучшие "медвежатники" мира могли изучить систему замков, а вы все равно не сможете открыть сейф и прочитать письмо - вот это и есть безопасность.
В течение многих лет этот тип криптографии использовался исключительно в военных целях. Агентство н а- циональной безопасности Соединенных Штатов Америки (National Security Agency, NSA) и его аналоги в быв- шем Советском Союзе, Англии, Франции, Израиле и прочих странах тратили миллиарды долларов на очень серьезную игру в обеспечение безопасности собственных линий связи, одновременно пытаясь взломать все о с- тальные. Отдельные личности, обладающие значительно меньшими средствами и опытом, были беспомощны защитить свои секреты от правительств.
В течение последних 20 лет значительно вырос объем открытых академических исследований. Пока обычные граждане использовали классическую криптографию, со времен Второй мировой войны компьютерная крипт о- графия во всем мире применялась исключительно в военной области. Сегодня искусство компьютерной крипт о- графии вырвалось из стен военных ведомств. Непрофессионалы получили возможность средства, позволяющие им обезопасить себя от могущественнейших противников, средства, обеспечивающие защиту от военных в е- домств.
А нужна ли обычному человеку такая криптография? Да. Люди могут планировать политическую кампанию,
обсуждать налоги, вести незаконные действия. Они могут разрабатывать новые изделия, обсуждать рыночную политику или планировать захват конкурирующей фирмы. Они могут жить в стране, которая не соблюдает з а- прета на вторжение в личную жизнь своих граждан. Они могут делать что-либо, что не кажется им незаконным,
хотя таковым и является. По многим причинам данные и линии связи должны быть личными, тайными и з а- крытыми от постороннего доступа.
Эта книга выходит в свет в беспокойное время. В 1994 году администрация Клинтона приняла Стандарт у с- ловного шифрования (Escrowed Encryption Standard), включая микросхему Clipper и плату Fortezza, и превра- тило Билль о Цифровой телефонии в закон . Эти инициативы пытаются увеличить возможности правительства проводить электронный контроль.
Вступают в силу некоторые опаснейшие домыслы Оруэлла: правительство получает право прослушивать личные переговоры, а с человеком, пытающимся скрыть свои секреты от правительства, может что-нибудь сл у- читься. Законодательство всегда разрешало слежку по решению суда, но впервые люди сами должны предпр и- нимать какие-то шаги, чтобы сделаться доступными для слежки. Эти инициативы не просто предложения пр а- вительства в некой туманной сфере, это упреждающая и односторонняя попытка присвоить прежде принадл е- жащие людям права.
Законопроекты о микросхеме Clipper и Цифровой телефонии не способствуют сохранению тайны, но беспо ч- венно заставляют людей считать, что правительство уважает их тайны. Те же самые власти, которые незаконно записывали телефоны Мартина Лютера Кинга, могут легко прослушать телефон, защищенный микросхемой
Clipper. В недавнем прошлом полицейские власти на местах были привлечены к гражданской или уголовной ответственности за незаконное прослушивание во многих судах - в Мэриленде, Коннектикуте, Вермонте,
Джорджии, Миссури и Неваде. Идея развернуть технологию, которая может привести к появлению полице й- ского государства - это плохая идея.
Дело в том, что недостаточно защитить себя законами, нам нужно защитить себя математикой. Шифров а- ние имеет слишком большое значение, чтобы оставить ее использование только правительствам .
Эта книга снабдит Вас инструментарием, позволяющим защитить ваши тайны. Передача криптографич е- ских продуктов может быть объявлена незаконной, передача информации - никогда .
Как читать эту книгу
Я написал Прикладную криптографию как живое введение в криптографию и как всеобъемлющий спр а- вочник. Я пытался сочетать читаемость текста с жертвенной точностью, но эта книга писалась не как мате- матическая работа. Хотя я не искажал информацию умышленно, торопясь, я опускал теорию . Для интере- сующихся теоретическими выкладками приведены обширные ссылки на академическую литературу .
Глава 1 представляет собой введение в криптографию, описывает множество терминов, в ней кратко ра с-
сматривается докомпьютерная криптография .
Главы со 2 по 6 (Часть I) описывают криптографические протоколы - что люди могут сделать с помощью криптографии - от простых (передача шифрованных сообщений от одного человека другому) до сложных
(щелканье монетой по телефону) и тайных (секретное и анонимное обращение электронных денег ). Некоторые из этих протоколов очевидны, другие - удивительны . Множество людей и не представляет многие из проблем,
которые может решить криптография.
Главы с 7 по 10 (Часть II) содержат обсуждение методов криптографии. Все эти четыре главы важны для самых распространенных применений криптографии. В главах 7 и 8 рассказывается о ключах: какова должна быть длина безопасного ключа, как генерировать, хранить и распределять ключи, и т.д. Управление ключами представляет собой труднейшую часть криптографии и часто является ахиллесовой пятой систем, безопасных во всем остальном. В главе 9 рассматриваются различные способы использования криптографических алгоритмов,
а глава 10 описывает особенности и цели использования этих алгоритмов - как их выбирать, реализовывать и применять.
Главы с 11 по 23 (Часть III) описывают эти алгоритмы. Глава 11 представляет собой математическую базу и является обязательной только, если вы интересуетесь алгоритмами с открытыми ключами . Если вы собираетесь использовать DES (или что-то похожее), ее можно пропустить. В главе 12 обсуждается алгоритм DES, его ис- тория, безопасность и разновидности. В главах 13, 14 и 15 рассказывается о других блочных алгоритмах. Если вам нужно что-то более надежное чем DES, сразу переходите к разделам о IDEA и тройном DES. При желании узнать о группе алгоритмов, некоторые из которых могут быть безопаснее DES, прочитайте всю главу. В главах
16 и 17 обсуждаются потоковые алгоритмы. В главе 18 подробно рассматриваются однонаправленные хэш-функции, среди которых самыми являются MDS и SHA, хотя я останавливаюсь и на многих других . В гла- ве 19 рассматриваются алгоритмы шифрования с открытым ключом , а в главе 20 - алгоритмы цифровой под- писи с открытым ключом. В главе 21 обсуждаются алгоритмы идентификации с открытым ключом , а в главе
22 - алгоритмы обмена с открытым ключом. Самыми важными являются алгоритмы RSA, DSA, Фиат-Шамира
(Fiat-Shamir) и Диффи-Хелмана (Diffie-Hellman). Глава 23 содержит ряд эзотерических алгоритмов и проток о- лов с открытым ключом, математика в этой главе достаточно сложна, так что пристегните ремни .
Главы 24 и 25 (Часть IV) переносят вас в реальный мир криптографии. В главе 24 обсуждаются некоторые современные применения алгоритмов и протоколов, в то время как глава 25 касается некоторых политических аспектов криптографии. Несомненно, эти главы не являются всеохватывающими .
В книгу также включены исходные коды 10 алгоритмов, рассмотренных в Части III. Я не смог включить весь код, который хотел, из-за его большого объема, кроме того, криптографические коды в любом случае нельзя экспортировать. (Любопытно, что Госдепартамент разрешил экспортировать первое издание этой книги с и с- ходным кодом, но не разрешил экспортировать компьютерный диск с теми же исходными кодами. Смотри р и- сунок.) Соответствующий набор дисков с исходным кодом содержит существенно больше исходных кодов, чем я смог включить в эту книгу, возможно, это самая большая подборка криптографических исходных кодов, по я- вившаяся за пределами военных ведомств . Сейчас я могу переслать эти диски с исходным кодом только гра ж- данам США и Канады, живущим в этих странах, но, возможно, когда-нибудь все изменится. Если вы собира е- тесь использовать или попробовать эти алгоритмы, добудьте диск . Подробности на последней странице книги. .
К недостаткам этой книги относится то, что из-за ее энциклопедической природы пострадала читаемость книги. Я хотел написать единый справочник для тех, кто мог встретиться с каким-либо алгоритмом в академ и- ческой литературе или при использовании какого-то продукта , и заранее извиняюсь перед теми, кто разыскива- ет учебное пособие. Впервые все множество сделанного в криптографии собрано под одной обложкой . Несмот- ря на это, соображения объема заставили меня оставить многое за пределами этой книги, я включил те темы,
которые мне показались важными, практическими или интересными. Если я не мог полностью охватить тему, я приводил ссылки на соответствующие работы и статьи .
Я сделал все, что мог, пытаясь выловить и исправить все ошибки в книге, но многие люди уверяли меня,
что это все равно невозможно. Конечно, во втором издании ошибок меньше, чем в первом . Перечень ошибок можно получить у меня, он также периодически рассылается в телеконференции Usenet sci.crypt. Если кто- нибудь из читателей обнаружит ошибку, пожалуйста, пусть сообщит мне об этом. Каждому, кто первый обн а- ружит данную ошибку в книге, я бесплатно пошлю диск с исходным кодом .
Благодарности
Перечень людей, приложивших руку к созданию этой книги, может показаться бесконечным, но все они до с- тойны упоминания. Мне хотелось бы поблагодарить Дона Альвареса ( Don Alvarez), Росса Андерсона (Ross An- derson), Дэйва Бейленсона (Dave Balenson), Карла Бармса (Karl Barms), Стива Белловина (Steve Bellovin), Дэна
Бернстайна (Dan Bernstein), Эли Байем (Ell Biham), Джоан Бояр (Joan Boyar), Карен Купер (Karen Cooper), Ви- та Диффи (Whit Diffie), Джоан Фейгенбаум (Joan Feigenbaum), Фила Кана (Phil Karn), Нила Коблица (Neal
Koblitz), Ксуейа Лай (Xuejia Lai), Тома Леранта (Tom Leranth), Майка Марковица (Mike Markowitz), Ральфа
Меркла (Ralph Merkle), Билла Паттена (Bill Patten), Питера Пирсона (Peter Pearson), Чарльза Пфлегера (Charles

Pfleeger), Кена Пиццини (Ken Pizzini), Барта Пренела (Bart Preneel), Марка Риордана (Mark Riordan), Йоахима
Шурмана (Joachim Schurman) и Марка Шварца (Marc Schwartz) за чтение и редактирование всего первого и з- дания или его частей; Марка Воклера (Marc Vauclair) за перевод первого издания на французский ; Эйба Абра- хама (Abe Abraham), Росса Андерсона (Ross Anderson), Дэйва Бенисара (Dave Banisar), Стива Белловина (Steve
Bellovin), Эли Байем (Ell Biham), Мэтта Бишопа (Matt Bishop), Мэтта Блэйза (Matt Blaze), Гэри Картера (Gary
Carter), Жана Комениша (Jan Comenisch), Клода Крепо (Claude Crepeau), Джоан Дэймон (Joan Daemon), Хорхе
Давила (Jorge Davila), Эда Доусона (Ed Dawson), Вита Диффи (Whit Diffie), Карла Эллисона (Carl Ellison),
Джоан Фейгенбаум (Joan Feigenbaum), Нильса Фергюсона (Niels Ferguson), Матта Франклина (Matt Franklin),
Розарио Сеннаро (Rosario Cennaro), Дитера Колмана (Dieter Collmann), Марка Горески (Mark Goresky), Ричарда
Грэйвмана (Richard Graveman), Стюарта Хабера (Stuart Haber), Джингмана Хе (Jingman He), Боба Хэйга (Bob
Hague), Кеннета Айверсона (Kenneth Iversen), Маркуса Джекобсона (Markus Jakobsson), Берта Калиски (Burt
Kaliski), Фила Кана (Phil Karn), Джона Келси (John Kelsey), Джона Кеннеди (John Kennedy), Ларса Кнудсена
(Lars Knudsen), Пола Кочера (Paul Kocher), Джона Лэдвига (John Ladwig), Ксуейа Лай (Xuejia Lai), Аджена
Ленстры (Arjen Lenstra), Пола Лейланда (Paul Leyland), Майка Марковица (Mike Markowitz), Джима Мэсси
(Jim Massey), Брюса МакНейра (Bruce McNair), Вильяма Хью Мюррея (William Hugh Murray), Роджера Нидхэ- ма (Roger Needham), Клифа Неймана (Clif Neuman), Кейсу Найберг (Kaisa Nyberg), Люка О'Коннора (Luke
O'Connor), Питера Пирсона (Peter Pearson), Рене Перальта (Rene Peralta), Барта Пренела (Bart Preneel), Израиля
Радай (Yisrael Radai), Мэтта Робшоу (Matt Robshaw), Майкла Роу (Michael Roe), Фила Рогуэя (Phil Rogaway),
Эви Рубина (Avi Rubin), Пола Рубина (Paul Rubin), Селвина Рассела (Selwyn Russell), Казуе Сако (Kazue Sako),
Махмуда Салмасизадеха (Mahmoud Salmasizadeh), Маркуса Стадлера (Markus Stadler), Дмитрия Титова
(Dmitry Titov), Джимми Аптона (Jimmy Upton), Марка Воклера (Marc Vauclair), Сержа Воденея (Serge Vaude- nay), Гидеона Ювала (Gideon Yuval), Глена Зорна (Glen Zorn) и многих безымянных правительственных сл у- жащих за чтение и редактирование всего второго издания или его частей ; Лори Брауна (Lawrie Brown), Лизу
Кэндл (Leisa Candle), Джоан Дэймон (Joan Daemon), Питера Гутмана (Peter Gutmann), Алана Инсли (Alan
Insley), Криса Джонстона (Chris Johnston), Джона Келси (John Kelsey), Ксуейа Лай (Xuejia Lai), Билла Лейнин- гера (Bill Leininger), Майка Марковица (Mike Markowitz), Ричарда Аутбриджа (Richard Outerbridge), Питера
Пирсона (Peter Pearson), Кена Пиццини (Ken Pizzini), Кэлма Пламба (Calm Plumb), RSA Data Security, Inc.,
Майкла Роу (Michael Roe), Майкла Вуда (Michael Wood) и Фила Циммермана (Phil Zimmermann) за предостав- ленные исходные коды; Пола МакНерланда (Paul MacNerland) за создание рисунков к первому издания ; Карен
Купер (Karen Cooper) за редактирование второго издания; Бота Фридмана (Both Friedman) за сверку второго издания; Кэрол Кеннеди (Кэрол Kennedy) за работу над предметным указателем для второго издания ; читателей sci.crypt и почтового списка Cypherpunks за комментирование идей, ответы на вопросы и поиск ошибок первого издания; Рэнди Сюсс (Randy Seuss) за предоставление доступа к Internet; Джеффа Дантермана (Jeff Duntemann)
и Джона Эриксона (Jon Erickson) за то, что помогли мне начать; семью Insley (в произвольном порядке) за сти- муляцию, воодушевление, поддержку, беседы, дружбу и обеды ; и AT&T Bell Labs, зажегшей меня и сделавшей возможным все это. Все эти люди помогли создать гораздо лучшую книгу, чем я бы смог создать в одиночку .
Брюс Шнайер
Оак Парк, Иллинойс schneier@counterpane.com
Об авторе
БРЮС ШНАЙЕР - президент Counterpane Systems, Оак Парк, Иллинойс, фирма-консультант, специализ и- рующаяся в криптографии и компьютерной безопасности . Брюс также написал E-Mail Security, John Wiley &
Sons, 1995, (Безопасность электронной почты) и Protect Your Macintosh, Peachpit Press, 1994, (Защити свой
Макинтош). Он является автором дюжин статей по криптографии в основных журналах . Он также соредактор
Dr. Dobb's Journal (Журнал доктора Добба), где он редактирует колонку "Аллея алгоритмов" , и соредактор
Computer and Communications Security Reviews (Обзор безопасности компьютеров и линий связи) . Брюс входит в совет директоров Международной Ассоциации Криптологических Исследований ( International Association for
Cryptologic Research), является членом Консультационного совета Центра Секретности Электронной Информа- ции (Electronic Privacy Information Center) и входит в комитет программы Семинара по Новым парадигмам
Безопасности (New Security Paradigms Workshop). К тому же, он находит время для частых лекций по крипт о- графии, компьютерной безопасности и секретности .

Глава 1
Основные понятия
1.1 Терминология
Отправитель и получатель
Предположим, что отправитель хочет послать сообщение получателю . Более того, этот отправитель хочет послать свое сообщение безопасно: он хочет быть уверен, что перехвативший это сообщение не сможет его пр о- честь.
1   2   3   4   5   6   7   8   9   ...   78


написать администратору сайта