5. Коды и их назначение …………………………………………………………..14
6. Криптография и криптоанализ………………………………………………….19
7. История криптографии…………………………………………………………..22
8. Заключение……………………………………………………………………….48
9. Примечания ……………………………………………………………………...50
10. Список литературы……………………………………………………………...57
Введение.
«Сограждане!» -- начал он взволнованным
голосом, но так как речь его была секретная,
то весьма естественно, что никто ее не слыхал.
М. Салтыков-Щедрин,
«История одного города».
История человеческой цивилизации стала также историей создания систем безопасной передачи информации. Искусство шифрования и тайной передачи информации было присуще практически всем государствам.
Что обычно приходит на ум при произнесении слова «криптография»? Спецслужбы, дипломатическая переписка, "математическое шаманство"? А при произнесении фразы «криптография в информационных технологиях»? Шифрование данных припомнят сразу. Про электронную подпись вспомнят. Кто то знает что то про «Сертификаты открытых ключей». Или про «взлом» чужих шифров. Попробуем разобраться со всеми этими, а заодно и другими, понятиями и подходами, которыми оперирует современная криптография. Криптография в прошлом использовалась лишь в военных целях. Однако сейчас, по мере образования информационного общества, криптография становится одним из основных инструментов, обеспечивающих конфиденциальность, доверие, авторизацию, электронные платежи, корпоративную безопасность и бесчисленное множество других важных вещей. Справедливости ради надо отметить, что криптография -- не панацея от всех бед. Криптографические методы могут помочь обеспечить безопасность, но только на эти методы надеяться не следует. Криптографические методы могут применяться для решений следующих проблем безопасности:
- конфиденциальности передаваемых/хранимых данных
- аутентификации
- целостности хранимых и передаваемых данных
- обеспечения подлинности документов Базовых методов преобразования информации, которыми располагает криптография, немного, среди них:
- шифрование (симметричное и несимметричное)
- вычисление хэш функций
- генерация электронной цифровой подписи
- генерация последовательности псевдослучайных чисел
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. История криптографии - ровесница истории человеческого языка. Более того, первоначально
письменность сама по себе была своеобразной криптографической системой, так как в древних обществах ею владели только избранные. Священные книги древнего Египта, древней Индии тому примеры.
Историю криптографии условно можно разделить на 4 этапа.
1. Наивная криптография.
2. Формальная криптография.
3. Научная криптография.
4. Компьютерная криптография.
Для наивной криптографии (до нач. XVI века) характерно использование любых (обычно примитивных) способов запутывания противника относительно содержания шифруемых текстов. На начальном этапе для защиты информации использовались методы кодирования и стеганографии, которые родственны, но не тождественны криптографии. Большинство из используемых шифров сводились к перестановке или моноалфавитной подстановке. Одним из первых зафиксированных примеров является шифр Цезаря, состоящий в замене каждой буквы исходного текста на другую, отстоящую от нее в алфавите на определенное число позиций. Другой шифр, полибианский квадрат, авторство которого приписывается греческому писателю Полибию, является общей моноалфавитной подстановкой, которая проводится с помощью случайно заполненной алфавитом квадратной таблицей (для греческого алфавита размер составляет 5x5). Каждая буква исходного текста заменяется на букву, стоящую в квадрате снизу от нее. Этап формальной криптографии (кон. XV века - нач. XX века) связан с появлением формализованных и относительно стойких к ручному криптоанализу шифров. В европейских странах это произошло в эпоху Возрождения, когда развитие науки и торговли вызвало спрос на надежные способы защиты информации. Важная роль на этом этапе принадлежит Леону Батисте Альберти, итальянскому архитектору, который одним из первых предложил многоалфавитную подстановку. Данный шифр, получивший имя дипломата XVI века Блеза Вижинера, состоял в последовательном «сложении» букв исходного текста с ключом (процедуру можно облегчить с помощью специальной таблицы). Его работа «Трактат о шифре» A466) считается пер- первой научной работой по криптологии. Одной из первых печатных работ, в которой обобщены и сформулированы известные на тот момент алгоритмы шифрования является труд «Полиграфия» A508 г.) немецкого аббата Иоганна Трисемуса. Ему принадлежат два небольших, но важных открытия: способ заполнения полибианского квадрата (первые позиции заполняются с помощью легко запоминаемого ключевого слова, остальные - оставшимися буквами алфавита) и шифрование пар букв (биграмм). Простым но стойким способом многоалфавитной замены (подстановки биграмм) является шифр Плейфера, который был открыт в начале XIX века Чарльзом Уитстоном. Уитстону принадлежит и важное усовершенствование - шифрование ««двойным квадратом». Шифры Плейфера и Уитстона использовались вплоть до первой мировой войны, так как с трудом поддавались ручному криптоанализу. В XIX веке голландец Керкхофф сформулировал главное требование к криптографическим системам, которое остается актуальным и поныне: секретность шифров должна быть основана на секретности ключа, но не алгоритма. Наконец, последним словом в донаучной криптографии, которое обеспечили еще более высокую криптостойкосить, а также позволило автоматизировать (в смысле механизировать) процесс шифрования стали роторные криптосистемы. Одной из первых подобных систем стала изобретенная в 1790 году Томасом Джефферсоном, будущим президентом США механическая машина. Многоалфавитная подстановка с помощью роторной машины реализуется вариацией взаимного положения вращающихся роторов, каждый из которых осуществляет «прошитую» в нем подстановку. Практическое распространение роторные машины получили только в начале XX века. Одной из первых практически используемых машин, стала немецкая Enigma, разработанная в 1917 году Эдвардом Хеберном и усовершенствованная Артуром Кирхом. Роторные машины активно использовались во время второй мировой войны. Помимо немецкой машины Enigma использовались также устройства Sigaba (США), Турех (Великобритания), Red, Orange и Purple2 (Япония). Роторные системы - вершина формальной криптографии так как относительно просто реализовывали очень стойкие шифры. Успешные криптоатаки на роторные системы стали возможны только с появлением ЭВМ в начале 40-х годов. Главная отличительная черта научной криптографии 30-е - 60-е годы XX века) - появление криптосистем со строгим математическим обоснованием криптостойкости. К началу 30-х годов окончательно сформировались разделы математики, являющиеся научной основой криптологии: теория вероятностей и математическая статистика, общая алгебра, теория чисел, начали активно развиваться теория алгоритмов, теория информации, кибернетика. Своеобразным водоразделом стала работа Клода Шеннона «Теория связи в секретных системах» ), где сформулированы теоретические принципы криптографической защиты информации. Шеннон ввел понятия «рассеивание» и «перемешивание», обосновал возможность создания сколь угодно стойких криптосистем. В 60-х годах ведущие криптографические школы подошли к созданию блочных шифров, еще более стойких по сравнению с роторными криптосистемами, однако допускающие практическую реализацию только в виде цифровых электронных устройств. Компьютерная криптография (с 70-х годов XX века) обязана своим появлением вычислительным средствам с производительностью, достаточной для реализации критосистем, обеспечивающих при большой скорости шифрования на несколько Примерно в 1900 году до н. э. древние египтяне начали видоизменять и искажать иероглифы, чтобы закодировать определенные сообщения. порядков более высокую криптостойкость, чем «ручные» и «механические» шифры. Первым классом криптосистем, практическое применение которых стало возможно с появлением мощных и компактных вычислительных средств, стали блочные шифры. В 70-е годы был разработан американский стандарт шифрования DES (принят в 1978 году). Один из его авторов, Хорст Фейстел (сотрудник IBM), описал модель блочных шифров, на основе которой были построены другие, более стойкие симметричные криптосистемы, в том числе отечественный стандарт шифрования ГОСТ 28147-89. С появлением DES обогатился и криптоанализ, для атак на американский алгоритм был создано несколько новых видов криптоанализа (линейный, дифференциальный и т.д.), практическая реализация которых опять же была возможна только с появлением мощных вычислительных систем. В середине 70-х годов произошел настоящий прорыв в современной криптографии - появление асимметричных криптосистем, которые не требовали передачи секретного ключа между сторонами. Здесь отправной точкой принято считать работу, опубликованную Уитфилдом Диффи и Мартином Хеллманом в 1976 году под названием «Новые направления в современной криптографии». В ней впервые сформулированы принципы обмена шифрованной информацией без обмена секретным ключом. Независимо к идее асимметричных криптосистем подошел Ральф Меркли. Несколькими годами позже Рон Ривест, Ади Шамир и Леонард Адлеман открыли систему RSA, первую практическую асимметричную криптосистему, стойкость которой была основана на проблеме факторизации больших простых чисел. Асимметричная криптография открыла сразу несколько новых прикладных направлений, в частности системы электронной цифровой подписи (ЭЦП) и электронных денег. В 80-90-е годы появились совершенно новые направления криптографии: вероятностное шифрование, квантовая криптография и другие. Осознание их практической ценности еще впереди. Актуальной остается и задача совершенствования симметричных криптосистем. В 80-90-х годах были разработаны нефейстеловские шифры (SAFER, RC6 и др.), а в 2000 году после открытого международного конкурса был принят новый национальный стандарт шифрования США - AES.
В 600 - 500 годы до н. э. древние евреи создали упорядоченную систему криптографии "Атбаш" - в России известна под названием "тарабарская грамота". Суть метода проста: при письме одна буква алфавита заменяется другой, например, вместо буквы "а" всегда пишется буква "я".
Основные принципы разведки и контрразведки, включая и методы обработки информации, впервые сформулировал китайский ученый Сун Цзы в своей книге "Искусство войны" примерно в 500 году до н. э. Малоизвестно, что в известной древнеиндийской книге "Кама Сутра" криптография упоминается как одно из 64 искусств, обязательных к изучению.
Абу Яхмади, составитель первого словаря арабского языка в VIII веке научился взламывать византийские секретные депеши, написанные на основе греческого языка.
В XV веке итальянский математик Леон Батиста Альберти создал первую математическую модель криптографии. Он также создал первое механическое устройство для шифрования секретных документов. На основе его изобретения действовали все криптографические устройства, использовавшиеся до появление компьютеров. В частности, в 17 веке известный английский ученый сэр Фрэнсис Бэкон создал подобное устройство, где каждой букве алфавита могло соответствовать пять вариантов шифровки.
В XVII столетии криптографией увлекся Томас Джефферсон, один из отцов-основателей США, третий по счету президент страны и ученый. Он создал шифровальную машину цилиндрической формы, позволявшую использовать десятки вариантов кодирования. Подобные устройства использовались во всем мире вплоть до конца Второй мировой войны.
В XVIII веке английская разведка стала широко применять невидимые чернила - в частности молоко. Метод письма молоком (текст становится виден при нагревании листа бумаги) позже использовал Владимир Ленин.
Предмет Криптологии.
Описание предмета криптологии начнем с доуточнения обиходного понятия информация. Иностранному термину информация достаточно близко отвечает русское слово смысл. Очевидно, что одну и ту же информацию можно передать разными сообщениями, например, на разных языках, а также письмом, телеграфом или факсом.
С другой стороны, одно и то же сообщение разными людьми понимается по-разному. Например, при сообщении о победе «Спартака» иной футбольный болельщик обрадуется, а другой может и огорчиться. Значит, можно сделать вывод, что информация людьми извлекается из сообщения с помощью ключа, правила, придающего сообщению конкретный смысл. Для обычных сообщений такие правила дают здравый смысл и знание языка. Иногда же, ключом владеет лишь узкая группа лиц, знающая специальные термины или жаргон. Например, на блатном языке начала века сизюмаp пено означало число 75. Жаргон преферансистов хорошо иллюстрирует анекдот. Кассир спрашивает у мужчины, снимающего крупную сумму денег со счета: «Гарнитурчик собираетесь прикупить?», тот со вздохом отвечает: «Прикупил вчера, на мизере». У программистов на персональных компьютерах можно услышать массу специфических терминов: старая мама, кривой винт, косые флопы, полуось, огрызок. О'Генри в «Королях и капусте» привел пример, как написанная на Нью-Йоркском жаргоне телеграмма: «...главный с кисейным товаром держит курс на соль...» -- была не понята туземными чиновниками, сколько ни ломали себе они над ней голову. Но ее смысл, что президент Анчурии бежал с любовницей к океану, сразу же разгадал американец Билли Кьоу, который «...как то ухитрился понять даже приказ улетучиться, произнесенный на классическом китайском языке и подтвержденный дулом мушкета...»
Особую роль ключ имеет в криптографии, где его знание гарантирует извлечение
истинного смысла сообщения. Вспомните смешные фигурки из рассказа «Пляшущие человечки» Конан Дойля. Их рисунок казался детской шалостью, но привел в ужас героиню, которая, зная ключ, прочла адресованную ей шифровку: «Илей, готовься к смерти».
Язык сообщения.
Исходное незнание языка сообщения обычно делает невозможным восприятие его смысла. Мужчина, привыкший к скромной символике на отечественных сигаретах, так и не смог правильно прочесть название их нового сорта: «ПОКТОБ». На пачке под красивым княжеским гербом была не английская, а русская надпись РОСТОВ.
Мало кто сможет понять запись «мана дерутумо», сделанную по-нганасански, ведь знающих этот язык во всем мире вряд ли больше тысячи. И уж совсем невероятной кажется возможность прочтения надписи на забытом языке. В Большом энциклопедическом словаре написано: «Расшифровка Ф. Шампольоном иероглифического текста Розеттского камня положила начало чтению древнеегипетских иероглифов». В этом высказывании все верно. Однако можно ли расшифровать письмена, которые не были зашифрованы? Паскаль в своих «Мыслях» высказался: «Языки суть шифры, в которых не буквы заменены буквами, а слова словами, так что неизвестный язык есть легко разгадываемый шифр». Но криптологи и языковеды не поддерживают это мнение. Поэтому далее употребление слова расшифровка будет относиться лишь к прочтению сообщений на известных языках, сделанных с помощью шифра, то есть системы изменения текста письма, чтобы сделать смысл его непонятным для непосвященных, не знающих ключа.
Стоит сделать небольшое, но важное замечание. Иногда необходимо русский текст напечатать на пишущей машинке с латинским алфавитом. Для этого можно воспользоваться соответствием русских букв латинским принятым для написания международных телеграмм. Например, SHESTOE POCHTOVOE OTDELENIE GORODA
IAROSLAVLIA.
Заметим, буква Э передается так же как и буква Е, тем не менее написанный так текст останется русским, просто изменится его кодировка. Язык существенно влияет на структуру текста и его понимание. Однако, даже определившись с языком сообщения, бывает подчас трудно решить сколько букв будет составлять алфавит: латинский насчитывает 24-25 букв, а русский 31-32. Неоднозначность возникает потому, что при письме часть букв заменяют другими, сходными по звучания или написанию. Обычно русскую букву Ё в письме заменяют на букву Е, а букву Й на И. Каждый язык имеет свой специфический алфавит, но, увы не единственный. Так, хотя болгарский и русский алфавиты, происшедшие от кириллицы, почти одинаковы, но в болгарском нет букв Ё, Ы, Э. Поэтому, набирая попеременно то русский, то болгарский тексты, обычно держатся лишь русского алфавита, включающего в себя болгарский.
Сложнее всего дело с алфавитом обстоит в Европе на территории эксреспублики Югославии, где для сербохорватского языка давно используются сразу две основные системы письменности. Одна из них, вуковица, названная по имени Вуко Кароджича, является подвидом кириллицы и употребляется главным образом сербами, другая же, гаевица, представляет подвид латиницы и используется хорватами. Соответствие между буквами вуковицы и гаевицы неоднозначно, поскольку сербской букве, обозначающей звук «дь», отвечают две, или даже три хорватские. Но это еще не все. Есть, как минимум, два варианта сербохорватского произношения: екавский и экавский, которые различно отображаются на письме. Из этого примера хорошо видно, что справиться с неопределенностью языка сообщения без его знания вовсе непросто. По этому поводу Герман Вейль удачно привел двустишие Готфрида Келлера: «Что это значит -- каждый знает, кто во сне верхом скакал без коня». По этой причине язык сообщений криптологи считают заранее известным и алфавит его фиксированным. Интересно заметить, во время Второй мировой войны сделать свои шифровки нечитаемыми для японцев американцы смогли довольно простым путем: они набирали криптографов из небольшого индейского племени Навахо и те вели секретную связь только на своем родном языке.
Тайнопись.
Начиная с давних времен, люди обменивались информацией, посылая друг другу
письма. Древним новгородцам приходилось сворачивать свои берестяные грамотки
текстом наружу -- только так они могли перевозиться и храниться, не разворачиваясь самопроизвольно от изменения влажности. Это походило на современные почтовые карточки, где текст тоже открыт для посторонних взоров. Пересылка берестяных
грамот была широко распространена, но имела серьезный изъян, содержимое посланий не было защищено ни от своекорыстных интересов, ни от неуемного любопытства иных людей. Поэтому со временем послания стали свертывать особо, так, чтобы текст оказывался внутри. Когда же и это казалось недостаточным, то письмо запечатывали восковой, а в позднейшее время сургучной личной печатью. Печати всегда были не столько в моде, сколько в повседневном обиходе. Они обычно выполнялись в виде перстней с рельефными изображениями, и Эрмитаж в античном отделе хранит их множество. Печати, придуманы по уверениям некоторых историков китайцами, хотя древние камеи Вавилона, Египта, Греции и Рима ничем от печатей не отличаются. Воск прежде, а сургуч и поныне помогают поддерживать секреты почтовой переписки.
Точных дат и бесспорных сведений о секретном письме в древности сохранилось очень мал. Однако вместе с шифрами были, само собой разумеется, и попытки сокрытия текста. В древней Греции для этого однажды обрили раба, написали на его голове, и, когда волосы отросли, отправили с поручением к адресату. Отзвук этой истории можно встретить в «Гиперболоиде инженера Гарина» Алексея Толстого, где текст нанесли на спину мальчика. Если же гонец был надежен и даже под пытками не выдал бы послания, то его изложение могло быть изустным. Боярин Иван Фрязин, в 1469 году выступая сватом Великого князя Иоанна к Софье (Софья -- племянница и наследница последнего византийского императора Костантина Палеолога, принесшая России свой герб в виде двуглавого орла как приданое), имел грамоту следующего содержания: «Сиксту, Первосвятителю Римскому, Иоанн, Великий князь Белой Руси, кланяется и просит верить его послам».
Опишем кратко, но не будем дальше рассматривать сообщения симпатические, латентные или скрытые. Они могут быть сделаны специальными техническими средствами, как передача остронаправленным лучом, надпись бесцветными чернилами, проявляющаяся лишь после специального физического или химического воздействия. Именно скрытые сообщения принято называть тайнописью, но не шифры. Популярные исторические книжки сообщали, что российские революционеры в тюрьмах использовали в качестве симпатических чернил даже обычное молоко -- и это правда. При нагревании на огне или горячим утюгом такие записи становились отчетливо видны. (Дейл Карнеги полагал, что для «проявления» такой тайнописи достаточно было погрузить письмо в горячий чай. Здесь он не прав.) Литератор Куканов в своей повести о Ленине «У истоков грядущего» рассуждал так: «Молоко в роли чернил -- не самый хитрый способ тайнописи, но порой, чем проще уловка, тем она надежнее».
Заглянем же теперь в документ под номером 99312 из архива российской охранки: «Переписка химией состоит в следующем. Пишут на шероховатой, не глянцевой бумаге. Пишут сначала обыкновенными чернилами какой-нибудь безразличный текст, то есть что-либо совершенно безобидное, ни слова о делах. Когда это письмо написано, то берут совершенно чистое мягкое перо и пишут между строками, написанными чернилами, уже то, что хотят сказать о конспиративных делах. Это конспиративное письмо пишут химическими чернилами, то есть раствором какой-нибудь кислоты...». Была приведена выдержка из письма, сделанного химией революционерами партии РСДРП, которое было отправлено в Россию редакцией газеты «Правда» из Вены. Выявить и прочесть эту тайнопись Департаменту полиции не составляло никакого труда, ведь именно в России были разработаны и развиты способы чтения скрытых и стертых текстов с помощью фотографии и подбора освещения, применяемые и поныне. Интересно, зачем долгие годы упорно распространялась легенда о трудности прочтения «молочной» тайнописи?
Позднее, физик Роберт Вуд предложил использовать для чтения скрытых текстов явление люминесценции, потрясшее эффективностью английские секретные службы, занимавшиеся этой проблемой. Биограф Сибрук со слов Вуда описывает это так:
«Мне принесли большой гладкий чистый штамп военной цензуры. Я натер его вазелином, затем, как следует вытер платком, пока он не перестал оставлять следы на
бумаге. Затем, я плотно прижал его к шпионоупорной бумаге, не давая соскользнуть в сторону.
-- Можете ли вы обнаружить здесь запись? -- спросил я.
Они испытали бумагу в отраженном и поляризованном свете и сказали:
-- Здесь ничего нет.
-- Тогда давайте осветим ультрафиолетовыми лучами.
Мы взяли ее в кабинку и положили перед моим черным окошечком. На бумаге яркими голубыми буквами, как будто к ней приложили штамп, намазанный чернилами,
светились слова: секретных надписей нет.»
Сокрытие текста достигло своих вершин после Второй мировой войны, когда распространились сверхминиатюрные фотографии, называемые микроточками. Одна микроточка размером с обычную точку текста могла содержать сотни страниц документов и найти ее в книге среднего формата было много сложнее, чем пресловутую иголку в стоге сена. Адвокат Рудольфа Абеля, оказавшегося в американской каторжной тюрьме по обвинению в незаконном въезде в США (Обвинение Абелю (Вильям Фишер) в шпионаже не предъявили потому, что за шпионаж в США неизбежна смертная казнь, а его попытались обменять на американского шпиона, схваченного впоследствии в СССР. В 1962 году Абель, отсидев в каторжной тюрьме 5 лет из 30, был обменян на пилота Pшпиона Пауэрса, сбитого в советском воздушном пространстве.), хотел продать его конфискованные картины с аукциона, чтобы улучшить положение своего подзащитного хотя бы материально. Однако этого не удалось сделать, так как картины, написанные маслом с применением непрозрачных для рентгеновских лучей красок, при поиске микроточек непременно были бы разрушены, а сам поиск занял бы годы кропотливой работы ЦРУ. Поэтому в тюрьме Абелю пришлось подрабатывать, рисуя лишь прозрачные акварели. Сейчас нет технических проблем записать текст так мелко, что его вообще нельзя будет прочесть оптическими средствами, а придется рассматривать в электронный микроскоп. Такая технология используется при создании компьютерных микросхем сверхбольшой интеграции. На одном квадратном миллиметре их поверхности можно записать все книги, которые когда-либо были напечатаны человечеством.
Чтобы не сложилось впечатление, что симпатические сообщения бывают лишь у революционеров и шпионов, напомним ряд примеров из области компьютерных скрытых текстов. Наиболее ранняя идея их создания относится к предложению форматировать диск под размер секторов отличный от принятого DOS. Когда же все убедились, что такого рода сокрытие действует на хакеров как красная тряпка на быка, появились более глубокие приемы, где форматирование осуществляла специальная программа, напрямую обращающаяся к накопителю на гибких дисках. В ответ немедленно были созданы программы, которые могли читать любое форматирование. Для сокрытия информации на дискетах широко используются их инженерные дорожки, доступные для чтения, но не воспринимаемые дисковыми операционными системами, а также так называемые короткие зоны и неустойчивые биты (Weak bits -- слабые, неустойчивые биты, которые специально записаны на уровне, промежуточном между 0 и 1). Вспомните сообщения о вирусах, которые прячутся в сбойных блоках -- это тоже тайнопись своего рода. Кроме того, программой редакции диска можно очень просто дописать информацию в свободной части хвостового кластера файла. Только стоит ли? Уж слишком просто вскрывать. Симпатические сообщения имеют тот недостаток, что их скрытность обусловлена лишь состоянием развития техники, которая стремительно совершенствуется. Прибегая к симпатическим сообщениям, невольно приходится вступать в бесконечное состязание меча и щита, которому нет конца -- на каждый щит найдется и поражающий его меч. Любой способ создания симпатического текста будет вскоре разрушен, и к этому нужно быть готовым. А что это за секретность без гарантий стойкости?
Стоит несколько слов сказать и о квантовой криптографии, которая недавно еще представлялась как фантастика, поскольку требуемая для ее реализации технология казалась фантастической. Но когда Беннет и Брэссард в 1982 году пришли к выводу: роль фотона состоит не в хранении, а передаче информации, и можно разработать квантовый канал открытого распределения секретных ключей. В криптографии считается, что линии связи всегда контролируются перехватчиком, которому , известно содержание всех передаваемых сообщений, о чем могут и не знать абоненты. Но, если информация кодируется неортогональными состояниями фотона, то нарушитель не может получить сведений даже о наличии передачи без нарушения целостности ее процесса, что будет сразу же обнаружено. Перехватив фотон, злоумышленник не сможет сделать над ним несколько измерений, так как от первого же фотон разрушится и не даст ключевой информации в необходимом объеме. Поэтому даже активный перехватчик не сможет правильно передать аналогичный фотон получателю так, чтобы перехват не был бы замечен.
Дискуссия о тайнописи в неожиданном аспекте прозвучала, когда правительство США попыталось недавно ограничить или вообще запретить свободное применение криптографии. Однако, возражали оппоненты, полный ее запрет не повлечет за собой прекращение секретной связи. Во многих каналах коммерческой связи поток помех значительно превышает долю шифруемой секретной информации. Поэтому шифрованные секретные биты станут прятать в обычных сообщениях, имитируя небольшое увеличение шума. Приводился пример: в одном цифровом снимке Kodak Photo содержится около 18 мегабайт информации, и умело произведенное сокрытие в нем мегабайта шифровки практически не ухудшит качества изображения. Прятать шифровки очень просто потому, что они ничем не отличимы от обычного шума или
помех в каналах связи. Если обычная тайнопись легко читается, то тайнопись шифрованного сообщения, замаскированного под шум или сбои, найти невозможно. Интересный вариант тайнописной шифровки был использован при печати на ЭВМ контрактов с клиентами в одной из московских компаний. За счет малозаметных искажений очертаний отдельных символов текста в него вносилась шифрованная информация об условиях составления контракта. Эта тайнопись выглядела как обычные незначительные дефекты печати и обеспечивала очень высокую степень защиты подлинности документа. В связи с указом Ельцина об аттестации шифрованной связи, пытающимся фактически предельно ограничить ее применение, можно предположить, что ФАПСИ теперь придется не только взламывать шифры, но и отыскивать их во тьме помех дрянных каналов связи, предоставляемых коммерсантам.
Коды и их назначение.
К шифрам не относятся и коды -- системы условных обозначений или названий, применяемых при передаче информации в дипломатии, коммерции и военном деле. Кодирование часто применяется для повышения качества передачи. Хорошо известны и широко используются коды, исправляющие ошибки при передаче сообщений по каналам связи или хранении данных в памяти ЭВМ. Так, код Хемминга хорошо себя зарекомендовал себя в аппаратуре оперативной памяти ЭВМ СМP4. Другой многочисленный класс кодов представлен средствами сжатия данных, наподобие программ архивации ARC, ARJ, ICE, ZIP и сжатия дисков на IBM PC. Употребление этих кодов вызвано не секретностью, а стремлением сэкономить на стоимости передачи или хранения сообщения. Файлы текстов, изображений и программ содержат информацию с сильно отличающимися свойствами и программы их кодирования должны быть разными. Если архиватор хорошо сжимает текст, вовсе не значит, что он так же хорош для сжатия изображений или других данных.
Для текстовых файлов чаще других употребляется кодировка Хаффмена, заключающаяся в том, что символы текста заменяются цепочками бит разной длины. Чем чаще символ, тем короче обозначающая его цепочка. Рассмотрим пример кодирования Хаффмена текста МАМА МЫЛА РАМЫ с приведенной ниже таблицей кодирования.
Легко теперь подсчитать, что поскольку исходный текст состоит из 14 символов, то при кодировке ASCII он занимает 112 бит, в то время как кодированный по Хаффмену лишь 34 бита. При кодировании Лемпела и Зива, представляющим собой развитие метода Хаффмена, кодируются не символы, а часто встречаемые последовательности бит вроде слов и отдельных фраз. Текстовые файлы сжимаются в 2-3 раза, но очень плохо, всего лишь на 10-15% сжимаются программы. Нередко используют готовые кодовые таблицы, так как статистические свойства языка сообщения обычно хорошо известны и довольно устойчивы.
Несколько особняком стоит сжатие звуковой информации, расширяющее мультимедийные возможности аппаратуры и программ. Кодирование Лемпела и Зива сжимает объем звуковой информации всего лишь на 10%. Несомненно, что для более эффективного ее уплотнения нужны специальные алгоритмы, учитывающие физическую природу звука. Практически все алгоритмы кодирования звуковой информации используют два основных приема: кодирование пауз между отдельными звуками и дельта-модуляцию. При записи человеческого голоса важнее кодирование пауз, так как не только фразы, но и слова разделены достаточно длительными перерывами. Эффективность такого кодирования может быть очень высока, но платить за нее приходится потерей четкости высоких коротких звуков, например, С и Ц. Это легко наблюдать при передаче естественной речи по голосовому модему. А вот дельта-модуляция чаще применяется для качественной записи музыки и очень похожа на замену представления чисел в формате фиксированной точки на формат с плавающей запятой. Потери от нее выражаются в некоторой приглушенности звуков, но мало искажаются тона.
Однако самая большая работа по кодированию ведется над изображениями, скажем, при передаче факсов. Если бы образ стандартного машинописного листа формата А4 не был бы сжат, то его передача даже при низком разрешении заняла около часа. В самых распространенных факсах, принадлежащих группе III по классификации Международного консультативного комитета по телеграфии и телефонии, использованы фиксированные таблицы кодировки. Похожую схему кодирования дает хорошо известный формат представления графических файлов PCX. В нем очередной байт кода может означать либо счетчик повторений, если он начинается битами 11, либо байтом точек исходного изображения. Число повторений задается младшими 6 битами байта повторения, то есть имеет значение до 63. Изображение чистого листа бумаги при этом будет сжато больше чем в 30 раз. Более сложные схемы сжатия дают форматы обмена и хранения графической информации GIF и TIF. Они кодируют уже не строки точек изображения, а полоски строк и тем самым достигают большего сжатия. Следует предостеречь читателей от попыток сжатия любой информации с помощью программ, оперирующих с изображениями. Ряд алгоритмов эффективного сжатия изображений, вроде JPEG могут искажать информацию, что почти незаметно в изображениях, но фатально для программ и числовых данных. Именно за счет некоторой «чистки» исходного сообщения JPEG удается достигать сжатия в 100 раз и больше. Без сжимающего объем сообщения кодирования невозможно было создать и приобретающий все большую популярность видеотелефон. Для использования в нем МККТТ ( MKKTT -- международный консультативный комитет по телеграфии и телефонии) рекомендовал стандарт Н.261 -- первую систему сжатия изображения.
Порой возникают затруднения в пересылке программ, ключей, шифротекста и других бинарных файлов по системам связи, допускающим лишь текстовые сообщения, например, в почте UNIX. Для этого файлы превращают в текст формата RADIXP50. Шифровку разбивают на группы по 3 байта из которых формируют 4 группы по 6 бит. Каждую группу из 6 бит, принимающую значения от 0 до 63, превращают в печатный символ ASCII в соответствии с нижеприведенной таблицей. Это увеличивает длину бинарного сообщения лишь на треть, в то время как привычная для программистов шестнадцатеричная запись удваивает его. Так, слово МОСКВА дает код AuMY886U. Если длина сообщения не кратна 3, то при кодировании в конец его добавляют нули. Точную длину сообщения приходится приписывать в конце. Вот как выгладит открытый пароль Филиппа Циммермана, переданный по Интернет в коде RADIXP64:
----BEGIN PGP MESSAGE----_
Version: 2.6
iQBVAgUALeF27VUFZvpNDE7hAQFBFAH/Y
OQ52xOCH5yKSG/HgSV+N52HSm21zFEw
Ocu5LDhYxmOILr7Ab/KdxVA6LMIou2wKtyo.
ZVbYWXPCvhNXGDg7 4Mw==
=wstv
----END PGP MESSAGE----_
Расчет на недоступность для посторонних смысла кодированного сообщения может окончиться конфузом. Напомним, что в стихотворении «Моральный кодекс» Киплинга описан телеграфист, не подумавший о вседоступности кода и приревновавший в разлуке свою молодую жену. Офицеры штаба заметили кодовую сигнализацию и вот что случилось:
Молчит придурок адъютант, молчит штабная свита,
В свои блокноты странный текст все пишут деловито.
От смеха давятся они, читая с постной миной:
«Не вздумай с Бэнгзом танцевать -- распутней нет мужчины!»
Первый коммерческий код для уменьшения длины и стоимости телеграмм ввел в 1845 году Френсис Смит, компаньон Морзе. В конце XIX века Клаузен первым предложил для этой цели код АВС, a Маркони несколько позже первый многоязычный код. Сейчас аналогичных кодов тьма-тьмущая и все они представляют собой замену отдельных слов или фраз группами цифр или букв. Традиционно связисты, а не только шпионы, для этого обычно используют пятизначные группы букв или цифр, так как группы проще записывать. Широко применяется по настоящее время в связи и «Международный свод сигналов», который последний раз был пересмотрен в 1969 году.
Хотя криптологи различают шифры и коды, потому что для практических работ это разные системы, но коды представляют собой шифр простой замены слов. Обычно кодовые таблицы состоят из словаря, где каждому слову присвоен кодовый эквивалент. Фактически требуются две кодовые таблицы. Для кодирования применяется таблица алфавитно упорядоченная по словам, а для декодирования алфавитно упорядочивают коды -- иначе поиск в таблице становится необычайно трудоемким. Для применяющегося в коммерции телеграфного кода Маркони на английском языке начала этих таблиц выглядят так:
В этом коде использованы не все возможные группы, например, нет группы ААААА. Это сделано для удобства их чтения и повышения устойчивости от отдельных ошибок. Для достижения секретности коды приходится шифровать. Например, сначала можно закодировать сообщение кодом Маркони, а потом применить шифр.
Коды часто похожи на шифры и это обстоятельство породило массу курьезных случаев. До революции был сорван шахматный турнир по переписке Петербург-Москва, так как непонятные жандармам почтовые карточки со знаками записи ходов перехватывались до тех пор, пока не попали начальнику, наложившему резолюцию:«Шахматы-с!» Не исключено, что среди репрессированных в советское время было немало любителей игры на гитаре, пытавшихся вести запись своих произведений необычным для музыкантов цифровым методом. Любопытно, каким образом могло НКВД отреагировать на срочную телеграмму за рубеж такого содержания: SER VAL MET LYS ARG ARG PHE LEU. Удалось бы доказать подозреваемому в шпионаже, что в телеграмме дан ряд аминокислот в сердечной мышце свиньи? Да и обнаруженный при аресте в записной книжке Н. И. Вавилова текст K3C7AO+3G5 вряд ли был бы воспринят следователем за формулу строения цветка. Интересно упомянуть о телефонном коде, применяемом некоторыми зарубежными фирмами. Так, встретив, номер телефона технической службы (1)206PDIDPDEMA, не надо смущаться -- это телефон корпорации Aldus в Сиэтле. Кодовая таблица соответствия букв цифрам показана ниже.
Из таблицы определяем, что номер телефона корпорации 343P3362. Хотя, увидев на рекламном щите телефон предварительных заказов ночного клуба GUEPSTSPONLY, не пытайP тесь набирать 483P787P6659, а просто переведите с английского: «только для приглашенных». Эта запись в рекламе означает, что заказы принимаются по телефону, указанному в пригласительном или членском билете.
«Женя Дмитрий Ульяна Борис Ольга РобертИгорь Света», - сообщение принятое по плохо работавшему телефону. Хотя моряки говорили бы при этом так: «Живете Добро Ухо Буки Он Рцы Иже Слово» или «Juliet Delta Uniform Bravo Oscar Romeo India Sierra». Такое кодирование называется акрокодом (Akro -- по-гречески край, первые буквы слов или строк.). А телеграфное сообщение: «Железная дорога уведомлена. Буду обмер работ исполнять сам» представляет собой особый код, вводящий неосведомленного получателя в заблуждение. Если читать только первые буквы слов, то получится скрытое сообщение «ЖДУ Борис». Одна армейская газета в начале шестидесятых годов к революционному празднику опубликовала стихотворение, начинающееся словами «Хвала тебе...» и последующим официозным содержанием. И что же? Редактор был немедленно уволен, тираж газеты изъят из читалок и библиотек, а вот автора найти не удалось. Первые буквы строк стихов складывались в нелестную для главы государства Хрущева фразу. Никите Сергеевичу неповезло и с инициалами -- акрокодом имени и отчества. Произнесенные по-английски его инициалы NS на слух сильно напоминают слово an ass -- осел. Поэтому для именования этого политика в прессе, употреблялось лишь режущее отечественные уши фамильярное обращение -- Никита Хрущев.
Несомненно, что коды могут служить и для сокрытия смысла сообщений. Вспомним, в 1936 году сообщение «Над всей Испанией ясное небо» отнюдь не предвещало безоблачной погоды, а послужило кодовым сигналом начала гражданской войны. Однако область применения кодирования для сокрытия смысла ограничена одиночными сообщениями. Румынская разведка сигуранца могла читать в двадцатые годы радиограммы РККА лишь потому, что кодовые таблицы не менялись, пока не протирались до дыр. Краткое кодированное сообщение, не имея ключа в виде кодовых таблиц, вскрыть очень трудно, а то и невозможно. Практическое использование кодов стратегической авиацией США иллюстрируют кадры кинофильма «Доктор Стренджлав», когда пилот стратегического бомбардировщика, приняв радиограмму из группы цифр, достал секретную кодовую таблицу из сейфа и нашел там содержание приказа: ядерный удар по СССР.
Криптография и криптоанализ.
Дипломатические, военные и промышленные секреты обычно передаются или хранятся не в исходном виде, а после шифрования. В отличие от тайнописи, которая прячет сам факт наличия сообщения, шифровки передаются открыто, а прячется только смысл. Итак, криптография обеспечивает сокрытие смысла сообщения с помощью шифрования и открытие его расшифровыванием, которые выполняются по специальным криптографическим алгоритмам с помощью ключей у отправителя и получателя. Рассмотрим классическую схему передачи секретных сообщений криптографическим преобразованием, где указаны этапы и участники этого процесса:
Из схемы можно увидеть следующие особенности и отличия от обычных коммуникационных каналов. Отправителем сообщение шифруется с помощью ключа, и полученная шифровка передается по обычному открытому каналу связи получателю, в то время как ключ отправляется ему по закрытому каналу, гарантирующему секретность. Имея ключ и шифровку, получатель выполняет расшифровывание и восстанавливает исходное сообщение. В зависимости от целей засекречивания эта схема может несколько видоизменяться. Так, в компьютерной криптографии обычен случай, когда отправитель и получатель одно и то же лицо. Например, можно зашифровать данные, закрыв их от постороннего доступа при хранении, а потом расшифровать, когда это будет необходимо. В этом случае зачастую роль закрытого канала связи играет память. Тем не менее, налицо все элементы этой схемы.
Криптографические преобразования призваны для достижения двух целей по защите информации. Во-первых, они обеспечивают недоступность ее для лиц, не имеющих ключа и, во-вторых, поддерживают с требуемой надежностью обнаружение несанкционированных искажений. По сравнению с другими методами защиты информации классическая криптография гарантирует защиту лишь при условиях, что:
Некриптографические средства не в состоянии дать такую же степень защиты информации и требуют значительно больших затрат. Например, во что обходится подтверждение подлинности документа? Охрана, сейфы, сигнализация, секретные пакеты, индивидуальные печати, фирменные бланки, водяные знаки, факсимиле и личные подписи -- вот далеко не полный набор обычных средств, предназначенных для поддержания доверия к секретности информации. В то же самое время, криптографический подход намного надежнее и проще, если ключ подошел, то информации можно доверять больше, чем маме или нотариусу.
Шифрование и расшифровывание, выполняемые криптографами, а также разработка и вскрытие шифров криптоаналитиками составляют предмет науки криптологии (от греческих слов криптос -- тайный и логос -- мысль) . В этой науке преобразование шифровки в открытый текст (сообщение на оригинальном языке, порой называемое «клер») может быть выполнено в зависимости от того, известен ключ или нет. Условно ее можно разделить на криптографию и криптоанализ.
Криптография связана с шифрованием и расшифровыванием конфиденциальных данных в каналах коммуникаций. Она также применяется для того, чтобы исключить возможность искажения информации или подтвердить ее происхождение. Криптоанализ занимается в основном вскрытием шифровок без знания ключа и, порой, примененной системы шифрования. Эта процедура еще называется взломкой шифра. Итак, криптографы стремятся обеспечить секретность, а криптоаналитики ее сломать.
Однако терминология еще не устоялась даже зарубежом, где криптоаналитики называют себя то взломщиками кодов (breaker), то нападающими (attacker), а взломщики компьютерных систем нарекли себя воришками (sneaker). Вряд ли правильно выделять взлом шифров в отдельную дисциплину. Совершенствуя схему шифрования, неизбежно приходится рассматривать и пути ее взлома, а конструируя устройство засекречивания данных, необходимо предусмотреть в нем блок контроля качества. А ну как произошел сбой, и незащищенные данные попадут в открытую сеть коммуникаций! Поэтому часто говорят о криптографах, которые занимаются задачами шифрования, расшифровывания и анализа. Тем более, что ряд атак на шифры представляет собой обычное расшифровывание с подбором ключа путем анализа расшифрованного сообщения на близость связному тексту. Далее криптоанализ будет рассматриваться, как область криптологии, проверяющей и доказывающей устойчивость шифров как теоретически, так и практически. Возможность компьютера производить миллионы операций в секунду очень усложнила и криптографию, и криптоанализ. Поэтому в дальнейшем машинные шифры будем называть криптографическими системами. Криптографические системы становятся год от года все изощреннее и для их вскрытия требуется все более совершенная техника криптоанализа.
Изложение будет в основном ограничено рамками классической криптографии с симметричными ключами, когда ключ отправителя сообщения должен совпадать с ключом получателя. Обмен секретными ключами в ряде случаев представляет проблему. Поэтому в последние годы ведутся интенсивные исследования в направлении шифровальных систем с открытым ключом (у таких систем ключ для шифрования открытый, а для расшифрования секретный. Поэтому их еще называют двухключевыми системами или системами с несимметричными ключами). Хотя системы с открытыми ключами быстро развиваются, целый ряд преимуществ традиционных систем позволяет им надежно удерживать ведущее место. Например, ряд алгоритмов с открытыми ключами, наподобие «укладки ранца», повел себя при опробовании на сверхбыстродействующей ЭВМ Cray несолидно, расколовшись уже через час испытаний. Другие же алгоритмы принципиально ненадежны в классическом понимании с самого начала, никто всерьез не может гарантировать их стойкость при стремительно развивающихся вычислительных методах высшей арифметики и, кроме того, чрезвычайно медлительны. Тем не менее, их роль в таких областях, как пересылка ключей и цифровая подпись уникальна. Поэтому им будет уделено определенное внимание, хотя, далее с практической точки зрения будут рассматриваться в основном лишь два классических алгоритма шифрования: замены и перестановки. В шифре перестановки все буквы открытого текста остаются без изменений, но перемещаются с их нормальной позиции. Анаграмма (анаграмма -- перестановка букв в слове или фразе) -- это шифр перестановки. В шифре замены, наоборот, позиции букв в шифровке остаются теми же, что и у открытого текста, но символы заменяются. Комбинации этих двух типов образуют все многообразие практически используемых классических шифров.
К необходимым аксессуарам криптотрафической техники кроме алгоритмов шифрования и расшифрования принадлежат секретные ключи. Их роль такая же, как и у ключей от сейфа. А вот изготавливаются и хранятся криптографические ключи куда более тщательно, чем стальные аналоги. Заботу об их выпуске обычно берут на себя криптографические службы, лишь в этом случае гарантируя стойкость от взлома своих систем шифрования. Какие ухищрения только не предпринимаются, чтобы сделать ключи недоступными, а факт их чтения известным! Ключи хранят в криптографических блокнотах, которые всегда представляли собой крепость для посторонних. Во-первых, они открываются с предосторожностями, чтобы ключи не исчезли физически вместе с открывшим их человеком. Во-вторых, в блокноте находишь подобие отрывного календаря с прошитыми насквозь страницами, разделенными непрозрачными для любого подсматривания листами. Чтобы прочесть очередной ключ, нужно вырвать лист разделителя, а это не может впоследствии остаться незамеченным хозяином блокнота. Более того, как только страница с ключом открыта для чтения, то ее текст начинает бледнеть и через некоторое время пропадает бесследно. Но главное еще впереди -- нередко в блокноты вносят не сами ключи, а их шифровки, сделанные по ключу, который шифровальщик хранит лишь в памяти. Ухищрениям в хранении ключей нет конца. У разведчика Абеля американскими спецслужбами был обнаружен криптографический блокнот размером с почтовую марку. Позднее, неподалеку от дома, где Абель жил, найдена монета, развинчивающаяся на две половинки, с тайником внутри. Очень возможно, что она служила контейнером для этого миниатюрного криптографического блокнота. Доставку ключей осуществляют специальные курьерские службы, к сотрудникам которых Петр 1 выдвинул лишь два требования: чтобы они сколь можно меньше знали вне пределов своей компетенции и были очень довольны оплатой своего труда. На этом закончим знакомство с сюжетом и персонажами дальнейшего действия и перейдем к рассмотрению истории криптографии.
История криптографии.
История криптографии насчитывает не одно тысячелетие. Уже в исторических документах древних цивилизаций - Индии, Египте, Китае, Месопотамии - имеются сведенья о системах и способах составления шифрованного письма. Видимо, первые системы шифрования появились одновременно с письменностью в четвёртом тысячелетии до нашей эры.
В древнеиндийских рукописях приводится более шестидесяти способов письма, среди которых есть и такие, которые можно рассматривать как криптографические. Имеется описание системы замены гласных букв согласными, и наоборот. Один из сохранившихся шифрованных текстов Месопотамии представляют собой табличку, написанную клинописью и содержащую рецепт изготовления глазури для гончарных изделий. В этом тексте использовались редко употребляемые значки, игнорировались некоторые буквы, употреблялись цифры вместо имён. В рукописях Древнего Египта шифровались религиозные тексты и медицинские рецепты. Шифрование использовалось в Библии. Некоторые фрагменты библейских текстов зашифрованы с помощью шифра, который называется атбаш. Правило зашифрования состояло в замене -й буквы алфавита (n-i+1), где n - число букв в алфавита. Происхождение слова атбаш объясняется принципом замены букв. Это слово составлено из букв Алеф, Тае, Бет и Шин, то есть первой и последней, второй и предпоследней букв древнесемитского алфавита.