История криптографии - учебная и научная деятельность анисимова владимира викторовича. Информационный центр "центральный дом знаний"


Содержание
1. Введение
2. История криптографии
3. Заключение
4. Список литературы

Введение

«Сограждане!» - начал он взволнованным голосом, но так как речь его была секретная, то весьма естественно, что никто ее не слыхал.
М. Салтыков – Щедрин
История человеческой цивилизации стала также историей создания систем безопасной передачи информации. Искусство шифрования и тайной передачи информации было присуще практически всем государствам.
Криптография в прошлом использовалась лишь в военных целях. Однако сейчас, по мере образования информационного общества, криптография становится одним из основных инструментов, обеспечивающих доверие, авторизацию, электронные платежи, корпоративную безопасность и бесчисленное множество других важных вещей.
Криптографические методы могут применяться для решений следующих проблем безопасности:
- конфиденциальности передаваемых, хранимых данных
- аутентификации
- целостности хранимых и передаваемых данных
- обеспечения подлинности документов.
Базовых методов преобразования информации, которыми располагает криптография немного, среди них:
- шифрование (симметричное и несимметричное)
- генерация электронной цифровой подписи
- генерация последовательности псевдослучайных чисел
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен.
История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была своеобразной криптографической системой, так как в древних обществах ею владели только избранные. Священные книги древнего Египта и древней Индии тому примеры.
Историю криптографии условно можно разделить на 4 этапа.
1. Наивная криптография
2. Формальная криптография
3. Научная криптография
4. Компьютерная криптография
Для наивной криптографии (до нач. XVI века) характерно использование любых способов запутывания противника относительно содержания шифруемых текстов.
Этап формальной криптографии (кон. XV века - нач. XX века) связан с появлением формализованных и относительно стойких к ручному криптоанализу шифров. Данный шифр состоит в последовательном «сложении» букв исходного текста с ключом.
К началу 30-х годов окончательно сформировались разделы математики, являющиеся научной основой криптологии: теория вероятностей и математическая статистика, общая алгебра, теория чисел, начали активно развиваться теория алгоритмов, теория информации, кибернетика. Своеобразным вводоразделом стала работа Клода Шеннона «Теория связи в секретных системах», где сформулированы теоретические принципы криптографической защиты информации. Шеннон ввел понятия «рассеивание» и «перемешивание», обосновал возможность создания сколь угодно стойких криптосистем.
Компьютерная криптография (с 70-х годов XX века) обязана своим появлением вычислительным средствам с производительностью, достаточной для реализации криптосистем.

В 70-е годы был разработан американский стандарт шифрования DES, принятый в 1978 году, его автор Хорст Фейстел описал модель блочных шифров, на основе которой были построены другие, более стойкие симметричные криптосистемы.
В середине 70-х годов произошел прорыв в современной криптографии - появление асимметричных криптосистем, которые не требовали передачи секретного ключа между сторонами.
В 80-90-е годы появились совершенно новые направления криптографии: вероятностное шифрование, квантовая криптография и другие. Также в эти годы были разработаны нефейстеловские шифры (SAFER, RC6) , а в 2000 году после открытого международного конкурса был принят новый национальный стандарт шифрования США - AES.

История развития криптографии
История криптографии насчитывает не одно тысячелетие. Уже в исторических документах древних цивилизаций – Индии, Египте, Китае, Месопотамии – имеются сведенья о системах и способах составления шифрованного письма. Первые системы шифрования появились одновременно с письменностью в четвёртом тысячелетии до нашей эры.
В древнеиндийских рукописях приводится более шестидесяти способов письма, среди которых есть и такие, которые можно рассматривать как криптографические. Имеется описание системы замены гласных букв согласными, и наоборот.
Развитию криптографии способствовал переход от идеографического письма, основанного на использовании огромного числа иероглифов, к фонетическому письму. Упрощение письма стимулировало развитие криптографии.
В Спарте в 5-6 вв. до н.э. использовалось одно из первых шифровальных приспособлений – Сцитала. Другим шифровальным приспособлением времён Спарты была табличка Энея.
Со времён Ю. Цезаря до 15 века шифровальное дело претерпело много изменений, однако нам мало известно о методах и системах шифрования, применяемых в этот период времени.
В эпоху Возрождения в итальянских городах- государствах активно развивается криптография. Нередко учёные зашифровывали научные гипотезы, чтобы не прослыть еретиками и не подвергнуться преследованиям инквизиции.
Научные методы в криптографии впервые появились в арабских странах. Арабского происхождения и само слово шифр. Первая книга, специально посвящённая описанию некоторых шифров, появилась в 855г., она называлась «Книга о большом стремлении человека разгадать загадки древней письменности».
В 14 веке появилась книга о системах тайнописи, написанная сотрудником тайной канцелярии Папы Римского Чикко Симонетти. В этой книге приводятся шифры замены, в которых гласным буквам соответствуют несколько значковых выражений.
Значительный шаг вперёд криптография сделан, благодаря труду Леона Альберти, который в 1466 году написал труд о шифрах. В этой работе был предложен шифр, основанный на использовании шифровального диска.
Многоалфавитные шифры получили развитие в вышедшей в 1518 г. первой печатной книге по криптографии под названием "Полиграфия". Автором книги был один из самых знаменитых ученых того времени аббат Иоганнес Тритемий. В этой книге впервые в криптографии появляется квадратная таблица.
В 1553 г. Джованни Баттиста Белазо предложил использовать для многоалфавитного шифра буквенный, легко запоминаемый ключ, который он назвал паролем. Паролем могло служить слово или фраза.
В то время в Европе получили широкое распространение шифры, называемые номенклаторами, объединявшие в себе простую замену и код. В простейших номенклаторах код состоял из нескольких десятков слов или фраз с двухбуквенными кодовыми обозначениями. Со временем списки заменяемых слов в номенклаторах увеличились до двух или трех тысяч эквивалентов слогов и слов.
Кстати, несколько слов о русской криптографии. Уже с XIV в. в Новгороде существовала техника тайного письма. Использовались в основном шифры простой замены. Благодаря привлечению Петром I для разработки проектов развития образования и государственного устройства России знаменитого Готфрида Вильгельма Лейбница, который известен и как криптограф, в Петербурге появилась цифирная палата, задачами которой было развитие и использование систем шифрования.
В годы жизни Галилео Галилея существовал обычай закреплять за собой право на первенство в каком-либо открытии своеобразным способом. Напав на открытие, которое нуждается в дальнейшем подтверждении, ученый из опасения, чтобы его не опередили другие, прибегал к помощи анаграммы (перестановке букв); он кратко объявлял о сущности своего открытия в форме анаграммы, истинный смысл которой был известен лишь ему одному. Когда же он окончательно убеждался в правильности первоначальной догадки, он раскрывал секрет анаграммы.
Много новых идей в криптографии принес XIX в. Изобретение в середине XIX в. телеграфа и других технических видов связи дало новый толчок развитию криптографии. Информация передавалась в виде токовых и бестоковых посылок, то есть представлялась в двоичном виде. Поэтому возникла проблема «рационального» представления информации, которая решалась с помощью кодов. Коды позволяли передать длинное слово или целую фразу двумя-тремя знаками. Появилась потребность в высокоскоростных способах шифрования и в корректирующих кодах, необходимых в связи с неизбежными ошибками при передаче сообщений.
В 1817 г. американец Десиус Уодсворт сконструировал шифровальное устройство, которое внесло новый принцип в криптографию.
Еще одним известным криптографом того времени был голландец Керкгоффс. Он в возрасте 47 лет написал книгу "Военная криптография". В ней сформулированы 6 конкретных требований к шифрам, два из которых относятся к стойкости шифрования, а остальные - к эксплуатационным качествам. Одно из них стало называться «правилом Керкгоффса». Суть этого правила состоит в том, что надежность шифра определяется лишь секретностью ключа.
XX в. «прославился» двумя мировыми войнами. Эти войны оставили свой отпечаток на всех процессах, происходивших в человеческом обществе. Они не могли не сказаться и на развитии криптографии.
В период первой мировой войны широко использовались ручные шифры, в первую очередь шифры перестановки с различными усложнениями. Это были вертикальные перестановки, усложненные перекодировкой исходного алфавита, а также двойные вертикальные перестановки.
Первая мировая война явилась поворотным пунктом в истории криптографии: если до войны криптография представляла собой достаточно узкую область, то после войны она стала широким полем деятельности. Причина этого состояла в необычайном росте объема шифрпереписки. Криптоанализ стал важнейшим элементом разведки.
Прогресс этой области криптографии характеризовался и изменениями в самом криптоанализе.
Характер используемых шифров потребовал для их вскрытия скрупулезного анализа переписки, поиска ситуаций, благоприятствующих успешному криптоанализу, знания соответствующей обстановки. В тот период проявились таланты целого ряда ставших впоследствии известными криптографов. В их числе был Г. О. Ярдли, который убедил военное министерство в необходимости создания криптографической службы. Позже он был назначен начальником криптографического отдела (MI-8) разведки военного министерства. При отделе было создано учебное отделение по подготовке криптоаналитиков для американской армии. В 1919 г. отдел был преобразован в "черный кабинет" с совместным финансированием. Одной из главных задач "черного кабинета" было раскрытие японских кодов. В период с 1917 по 1929 г. специалистам "черного кабинета" удалось дешифровать более 45 тысяч криптограмм различных стран.
Значительный успех в криптографии связан с еще одним
американцем - Г. Вернамом. В 1917 г. он, будучи сотрудником телеграфной компании, предложил идею автоматического
шифрования телеграфных сообщений. Речь шла о своеобразном наложении гаммы на знаки алфавита, представленные в
соответствии с телетайпным кодом Бодо пятизначными "импульсными комбинациями". Несмотря на то, что шифр Вернама обладал целым рядом достоинств, он не получил широкого распространения.
В 1921 г. Хеберн основал первую в США компанию по производству шифрмашин, которую через десять лет ждал бесславный конец, связанный с финансовыми трудностями. Самой знаменитой из шифромашин была "Энигма". В 1923 г. "Энигма" выставлялась на конгрессе международного почтового союза.
Среди заметных фигур в криптографии первой половины XX в. выделяется У. Фридман, получивший серьезные теоретические результаты в криптоанализе и ставший известным благодаря своим заслугам по вскрытию военных шифров Японии и Германии.
В 1915 г. У. Фридман был принят на работу к Д. Фабиану в поместье Ривербэнк специалистом по генетике. Вскоре он увлекся криптографией и проявил себя в этом деле.
Через некоторое время У. Фридман уже возглавлял в Ривербэнкских лабораториях два отдела - генетики и шифров.
Наибольший интерес с точки зрения современной криптографии представляют лекции У. Фридмана «Методы раскрытия шифров с длинной связной гаммой» и «Индекс совпадения и его применения в криптографии» эти работы являются серьезным вкладом в теоретическую криптографию. В 1929 г. он стал широко известен как один из ведущих криптографов мира, после его статьи «О кодах и шифрах».
Выдающиеся результаты в применении математических методов в криптографии принадлежат Клоду Шеннону. В 1940 г. он получил степень доктора по математике, в течение года обучался в Принстонском институте усовершенствования, после чего был принят на службу в лабораторию компании «Bell Telephone».
К 1944 г. К. Шеннон завершил разработку теории секретной связи. В 1945 г. им был подготовлен секретный доклад «Математическая теория криптографии», который был рассекречен в 1949 г. и издан.
Разработанные К. Шенноном концепции теоретической и практической секретности позволяют количественно оценивать криптографические качества шифров и пытаться строить идеальные или совершенные шифры. Моделируется также и язык открытых сообщений.
К. Шеннону удалось решить фундаментальные проблемы в теоретической криптографии. Его работы стимулировали бурный рост научных исследований по теории информации и криптографии.
Следующая страница в истории криптографии XX в. посвящена телефонным шифраторам, которые были разработаны в 30-х годах и стали широко использоваться во время второй мировой войны. В России разработка телефонного шифратора велась под руководством В.А.Котельникова.
Ему принадлежит знаменитая теорема дискретизации (или теорема отсчетов), лежащая в основе теории цифровой обработки сигналов.
Согласно, идея телефонного шифратора была запатентована Д. Х. Роджерсом еще в 1881 г., спустя пять лет после изобретения Беллом телефона.
Идея состояла в передаче телефонного сообщения по нескольким цепям поочередными импульсами в некоторой быстро изменяющейся последовательности.
Предлагалось разнести такие линии на значительное расстояние друг от друга с тем, чтобы устранить возможность подключения сразу ко всем одновременно. В более поздних разработках предлагались различные преобразования непосредственно самой речи. Звуки речи преобразуются телефоном в непрерывный электрический сигнал, который с помощью соответствующих устройств изменяется шифратором по законам электричества. К числу возможных изменений относятся: инверсия, смещение, или деление диапазона частот, шумовые маскировки, временные перестановки частей сигнала, а также различные комбинации перечисленных преобразований. Естественно, каждое из указанных преобразований производится под управлением ключа, который имеется у отправителя и получателя.
В США первый телефонный шифратор, под названием A3, был принят в эксплуатацию в 1937 г. Именно он доставил президенту Рузвельту известие о начале второй мировой войны. A3 осуществлял инверсию и перестановку 5 поддиапазонов частот. Из 3840 возможных комбинаций фактически использовались лишь 6, которые менялись 36 раз за каждые 20 секунд.
Слабость используемой криптографии компенсировалась регулярным изменением частот передачи.
В настоящее время аналоговая телефония уступает место цифровой телефонии. Тем самым и многие технические проблемы, связанные с криптографическими преобразованиями аналоговых сигналов, отпадают за ненадобностью.
Во второй половине XX в., вслед за развитием элементной базы вычислительной техники, появились электронные шифраторы, разработка которых потребовала серьезных теоретических исследований во многих областях прикладной и фундаментальной математики, в первую очередь алгебре, теории вероятностей и математической статистике. Сегодня именно электронные шифраторы составляют подавляющую долю средств шифрования. Они удовлетворяют все возрастающим требованиям по надежности и скорости шифрования.

Прогресс в развитии вычислительной техники сделал возможными программные реализации криптографических алгоритмов, которые все увереннее вытесняют во многих сферах традиционные аппаратные средства.
В семидесятых годах произошло два события, серьезно повлиявших на дальнейшее развитие криптографии. Во-первых, был принят первый стандарт шифрования данных (DES), "легализовавший" принцип Керкгоффса в криптографии. Во-вторых, после работы американских математиков У. Диффи и М. Хеллмана родилась «новая криптография»- криптография с открытым ключом. Криптография стала широко востребоваться не только в военной, дипломатической, государственной сферах, но также в коммерческой, банковской и других сферах.
Вслед за идеей Диффи и Хеллмана появилась шифрсистема RSA с открытым ключом. Такая система была предложена в 1978 г. Райвестом, Шамиром и Адлеманом. Наряду с идеей открытого шифрования Диффи и Хеллман предложили идею открытого распределения ключей, позволяющую избавиться от защищенного канала связи при рассылке криптографических ключей.

Заключение
Появление в середине двадцатого столетия первых электронно-вычислительных машин кардинально изменило ситуацию в области шифрования. С проникновением компьютеров в различные сферы жизни возникла принципиально новая отрасль - информационная индустрия.
Проблема обеспечения необходимого уровня защиты информации оказалась весьма сложной, требующей для своего решения не просто осуществления некоторой совокупности научных, научно-технических и организационных мероприятий и применения специфических средств и методов, а создания целостной системы организационных мероприятий и применения специфических средств и методов по защите информации.
Объем циркулирующей в обществе информации стабильно возрастает. На пороге нового тысячелетия человечес
и т.д.................

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

В условиях соперничества (военного, научного или коммерческого - не важно) знания существуют в двух формах - «у меня и у моего врага». И для того чтобы победить или хотя бы выжить, первую форму желательно довести до максимума, а вторую - до минимума. Защищая свою информацию, мы стремимся сохранить в тайне имеющийся у нас запас знаний, а рассекречивая чужую - увеличить этот запас за счет конкурентов.

История защиты информации начинается, по всей вероятности, где-то в то время, когда люди начали учиться общаться при помощи переписки. Естественно, им потребовались способы обеспечить ее секретность. Точных дат и достоверных данных о тайнописи в древности никто не приводит.

Известно, например, что в Древней Греции голову раба брили, писали на его голове, ждали, когда волосы вновь вырастут, после чего отправляли с поручением к адресату. Что и говорить, время было такое - расстояния большие, скорости малые, плюс-минус два месяца роли не играли.

Знатокам поэзии хорошо известен такой довольно широко используемый в то время прием тайнописи, как акростих, в котором скрываемое сообщение образуют начальные буквы стихотворных строк.

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

Все вышеперечисленные и подобные им способы защиты информации относят к стеганографическим или симпатическим, при которых сама информация остается неизменной, ее стараются сделать невидимой и тем самым скрыть факт ее передачи.

Стеганогра́фия (от греч. στεγανός - скрытый + γράφω - пишу; буквально «тайнопись» ) - это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи.

Симпати́ческие (невидимые) черни́ла - это чернила, записи которыми являются изначально невидимыми и становятся видимыми только при определенных условиях (нагрев, освещение, химический проявитель и т. д.)

Методы эти развивались и усложнялись вместе с ходом технического прогресса. Вершиной развития этих методов можно считать, вероятно, технологию создания сверхминиатюрных фотографий - так называемых микроточек, - которая появилась после Второй мировой войны. Такая микроточка размером с точку печатного текста могла содержать сотни документов, и найти ее в книге, журнале или газете было ненамного проще, чем иголку в стоге сена. Современная микросхемотехника сверхбольшой интеграции позволяет записать текст так мелко, что без электронного микроскопа прочесть его будет невозможно. Широкое распространение компьютеров позволяет применять другие способы сокрытия информации. Например, «нестандартное» форматирование дисков, запись на технические дорожки, замешивание информации в большие объемы данных и т. д.


Однако явным недостатком симпатических методов является то, что скрытность созданных с их помощью сообщений обеспечивается лишь на данном этапе развития техники. Любой способ создания симпатического текста будет вскоре разрушен. А что за секретность без гарантии стойкости?

Интересно, что в глубокой древности тайнопись считалась одним из 64-х искусств, которым следует владеть как мужчинам, так и женщинам. Сведения о способах шифрованного письма можно обнаружить уже в документах древних цивилизаций Индии, Египта, Месопотамии. Среди самых простых - иероглифическое письмо, написание знаков не по порядку, а вразброс по некоторому правилу.

Первое исторически достоверное применение технических средств шифровки приписывается древним грекам и датируется примерно V–VI веками до нашей эры. Таким техническим средством был специальный брусок, называемый «скитала»(сцитала). Его оборачивали узкой полоской бумаги и писали сообщение вдоль бруска. Затем полоску снимали и отправляли адресату. Предполагалось, что прочесть сообщение, не зная толщины бруска - которая служила здесь ключом шифрования - было невозможно.

Кроме того, Эней в работе «Об обороне укрепленных мест» описывает так называемый «книжный шифр» и способ перестановки букв в тексте по специальной таблице.

Известна также система шифрования под названием «квадрат Полибия», в которой каждая буква заменяется парой чисел - ее координатами в квадрате 5x5, куда предварительно в заранее заданном порядке вписаны буквы алфавита.

Уже тогда шифрованная переписка использовалась не только полководцами, но и церковью, и учеными. Жрецы шифровали тексты прорицателей, а ученые - свои открытия. Например, у Эдуарда Шюре в книге «Великие посвященные» встречается фраза о том, что «с великим трудом и большой ценой добыл Платон один из манускриптов Пифагора, который никогда не записывал свое учение иначе, как тайными знаками и под различными символами».

Классический пример с шифром Цезаря описан во всех учебниках по криптографии: не доверяя гонцам, Юлий Цезарь шифровал свои депеши, используя способ, который впоследствии получит название шифра прямой замены . В своих письмах он заменял каждую A на D, каждую B на E, и т. д. И его послание мог дешифровать только тот, кто знал правило «смещения на 3».

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

Довольно мало сведений о применяемых шифрах можно найти до эпохи Возрождения. Известен ряд значковых шифров, при котором буквы открытого текста заменяются специальными знаками (помните «танцующих человечков» Конана Дойля?). Таким является шифр Карла Великого, применявшийся в IX веке нашей эры.

Период расцвета арабских государств (VIII век н. э.) - поистине эпоха великих открытий в области криптографии. Не зря ведь слово «шифр», как и слово «цифра», имеет арабские корни. В появившейся в 855 году арабской «Книге о стремлении человека разгадать загадки древней письменности» описываются различные системы защиты информации, в том числе и несколько классических шифралфавитов. Один такой шифралфавит, называвшийся «дауди» (по имени израильского царя Давида), использовался для шифрования трактатов по черной магии. Он был составлен из видоизмененных букв древнееврейского алфавита.

Следующие сведения о криптографии также относятся к арабскому миру. В 1412 году на свет появляется произведение Шехаба Калкашанди - 14-томная «Энциклопедия всех наук», содержащая и сведения о методах засекречивания переписки. Раздел под общим заголовком «Относительно сокрытия в буквах тайных сообщений» состоял из двух частей: одна касалась символических действий, намеков и иносказаний, во второй описывались симпатические чернила и криптология.

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

Криптоло́гия - наука, занимающаяся методами шифрования и дешифрования. Криптология состоит из двух частей - криптографии и криптоанализа.

Криптогра́фия - наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Изначально криптография изучала методы шифрования информации - обратимого преобразования открытого (исходного) текста на основе секретного алгоритма и/или ключа в шифрованный текст (шифротекст).

Криптография и шифрование тысячи лет используются людьми для защиты своих секретов. С некоторой долей условности эту историю можно начать с Древнего Египта.

Древний Египет

Самый древний текст с элементами криптографии найден в гробнице древнеегипетского вельможи Хнумхотепа II, наследного князя и номарха города Менат-Хуфу, жившего почти 4000 лет назад. Где-то около 1900 г до н.э. писарь Хнумхотепа описывал жизнь своего господина в его гробнице. Среди иероглифов он использовал несколько необычных символов, которые скрывают прямое значение текста. Такой метод шифрования фактически представляет собой шифр подстановки, когда элементы исходного текста заменяются другими элементами по определённым правилам.

Символы из гробницы Хнумхотепа II и их расшифровка

По мере развития египетской культуры замены иероглифов встречались всё чаще. Есть разные версии, почему египтяне использовали такую систему шифрования. По одной версии, они хотели охранить свои религиозные ритуалы от обычных людей. По другой версии, таким образом писцы придавали тексту некий формальный вид, как в наше время юристы используют специфические выражения для замены обычных слов. Как и сейчас, египетская криптография тоже могла быть способом писца впечатлить других людей - показать, что он может изъясняться на более высоком уровне, чем они.

Древняя Греция

Примерно в 500 г до н.э. спартанцы разработали устройство под названием скитала, созданное для отправки и получения секретных сообщений. Оно представляло собой цилиндр, обёрнутый по спирали узкой полоской пергамента. Послание писалось вдоль скиталы, но если полоску развернуть, оно становилось нечитаемым. Для прочтения текста требовалась скитала такого же диаметра. Только в этом случае буквы становились в ряд, чтобы восстановить оригинальное сообщение.


Пример скиталы

Скитала является примером перестановочного шифра, в котором элементы исходного текста меняют местами, а не заменяют другими символами. По современным стандартам скиталу было бы очень просто взломать, но 2500 лет назад очень мало людей умели читать и писать. Скитала обеспечила спартанцам защищённую связь.

Древний Рим

Самый ранний известный способ военного применения криптографии принадлежит Юлию Цезарю. Около 2000 лет назад Цезарь, будучи полководцем римской армии, решил проблему безопасных коммуникаций со своими полками. Проблема была в том, что гонцы с секретными военными сообщениями часто перехватывались неприятелем. Цезарь разработал шифр подстановки, в котором заменял одни буквы другими. Только тот, кто знал таблицу подстановки, мог расшифровать секретное сообщение. Теперь, даже если гонец попадёт в руки врага, шифровки не будут рассекречены. Это дало римлянам огромное преимущество в войне.


Пример шифра подстановки

В отличие от примера на этой иллюстрации, Цезарь обычно просто сдвигал буквы на некое определённое число. Это число было шифровальным ключом для его алгоритма. Случайный порядок замены символов обеспечивает гораздо лучшую безопасность благодаря большему количеству возможных таблиц замены.

Шифр Альберти-Виженера

В середине 15 века итальянский учёный, архитектор, скульптор, художник и математик Леон Батиста Альберти изобрёл систему шифрования на основе шифровального диска. Это было механическое устройство со скользящими дисками, которые допускали много разных методов подстановки символов. Это базовая концепция многоалфавитного шифра, в котором метод шифрования меняется непосредственно в процессе шифрования. В своей книге «Взломщики кодов» Дэвид Кан называет Альберти «отцом западной криптографии». Альберти никогда не реализовал свою концепцию шифровального диска, она осталась только на бумаге.


Шифровальный диск

В 16 веке французский дипломат Блез Виженер на основе концепции многоалфавитного шифра Альберти создал шифр, который получил название шифра Виженера. Он работает точно как система Цезаря за исключением того, что ключ меняется в процессе шифрования. В шифре Виженера применяется решётка из букв, которая задаёт метод подстановки. Её называют квадратом Виженера или таблицей Виженера. Решётка состоит из 26 строк алфавита со смещением на один символ друг относительно друга.

Метод смены одного ключа на другой следует простому шаблону. В качестве ключа шифрования выбирается специальное секретное слово. Каждый символ в исходном тексте заменяется с использованием таблицы. Чтобы определить, на какую букву нужно заменить первый символ, мы совмещаем первый символ исходного текста (по одной оси) с первым символом секретного слова (по другой оси). Метод повторяется для второй и каждой последующей букв, секретное слово используется многократно, пока не закончатся символы в исходном тексте.

Предположим, что нужно зашифровать такую фразу:

ATTACKATDAWN («Нападение на рассвете»)
Отправитель послания выбирает секретное слово и повторяет его до окончания исходного текста. Например, LEMON.

LEMONLEMONLE
Для зашифровки первого символа нужно совместить строку A со столбцом L (в результате получается L), для шифрования второго символа - строку T со столбцом E (в результате получается X) и так далее. Вот как выглядит результат:

Исходный текст: ATTACKATDAWN Ключевое слово: LEMONLEMONLE Шифротекст: LXFOPVEFRNHR
Расшифровка выполняется таким же способом: буква в тексте послания (диагональные строки таблицы) совмещается с буквой секретного слова в столбцах или строках таблицы.

Дисковый шифр Джефферсона

В конце 18 века Томас Джефферсон придумал шифровальную систему, очень похожую на шифр Виженера, но с лучшей защитой. Его шифратор состоял из 26 дисков с буквами алфавита, случайно размещёнными на каждом. Диски были пронумерованы и установлены на цилиндр в определённом порядке. Ключом является порядок дисков на оси.


Дисковый шифр Джефферсона

Чтобы зашифровать сообщение, нужно составить исходный текст в одной из строк цилиндра. Зашифрованным текстом будет любая другая строка. Получатель сообщения должен расположить диски в правильном порядке, после чего составить строку зашифрованного текста на цилиндре. Затем быстрый визуальный осмотр цилиндра сразу выявит текст исходного сообщения. Практически нулевая вероятность, что в строках цилиндра появится два не лишённых смысла сообщения.

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

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

FURFUR начинает серию статей о криптографии и методах ее использования. Первый материал - вводный: история вопроса и базовые термины.

Формально криптография (с греческого - «тайнопись») определяется как наука, обеспечивающая секретность сообщения. Пионером, написавшим первый научный труд о криптографии, считается Эней Тактик, завершивший свой земной путь задолго до Рождества Христова. Свои данные пытались шифровать еще Индия и Месопотамия, но первые надежные системы защиты были разработаны в Китае. Писцы Древнего Египта часто использовали изощренные способы письма, чтобы привлечь внимание к своим текстам. Чаще всего шифровка информации использовалась в военных целях: широко известен шифр «Скитала», примененный Спартой против Афин в V веке до н. э.

Криптография активно развивалась в Средние века, шифровками пользовались многочисленные дипломаты и купцы. Одним из самых известных шифров Средних веков называют кодекс Copiale - изящно оформленную рукопись с водяными знаками, не расшифрованную до сих пор. Эпоха Возрождения стала золотым веком криптографии: ее изучением занимался Фрэнсис Бэкон, описавший семь методов скрытого текста. Он же предложил двоичный способ шифрования, аналогичный использующемуся в компьютерных программах в наше время. Значительное влияние на развитие криптографии оказало появление телеграфа: сам факт передачи данных перестал быть секретным, что заставило отправителей сосредоточиться на шифровке данных.

Во время Первой мировой войны криптография стала признанным боевым инструментом. Разгаданные сообщения противников вели к ошеломляющим результатам. Перехват телеграммы немецкого посла Артура Циммермана американскими спецслужбами привел к вступлению США в боевые действия на стороне союзников.

Вторая мировая война послужила своеобразным катализатором развития компьютерных систем - через криптографию. Использованные шифровальные машины (немецкая «Энигма», английская «Бомба Тьюринга») ясно показали жизненную важность информационного контроля. В послевоенное время правительства многих стран наложили мораторий на использование криптографии. Ключевые работы публиковались исключительно в виде секретных докладов - таких, как, например книга Клода Шеннона «Теория связи в секретных системах», подходящая к криптографии как к новой математической науке.

Правительственная монополия рухнула только в 1967 году с выходом книги Дэвида Кана «Взломщики кодов». Книга подробно рассматривала всю историю криптографии и криптоанализа. После ее публикации в открытой печати стали появляться и другие работы по криптографии. В это же время сформировался современный подход к науке, четко определились основные требования к зашифрованной информации: конфиденциальность, неотслеживаемость и целостность. Криптография была разделена на две взаимодействующие части: криптосинтез и криптоанализ. То есть криптографы обеспечивают информации защиту, а криптоаналитики, напротив, ищут пути взлома системы.

Wehrmacht Enigma («Энигма»)

Шифровальная машина Третьего рейха. Код, созданный при помощи «Энигмы»,
считается одним из сильнейших из использованных во Второй мировой.


Turing Bombe («Бомба Тьюринга»)

Разработанный под руководством Алана Тьюринга дешифратор. Его использование
позволило союзникам расколоть казавшийся монолитным код «Энигмы».

Cовременные методы использования криптографии

Появление доступного интернета перевело криптографию на новый уровень. Криптографические методы стали широко использоваться частными лицами в электронных коммерческих операциях, телекоммуникациях и многих других средах. Первая получила особенную популярность и привела к появлению новой, не контролируемой государством валюты - биткойна.

Многие энтузиасты быстро смекнули, что банковский перевод - штука, конечно, удобная, однако, для покупки таких приятных в быту вещей, как оружие или «вещества», он не подходит. Не подходит он и при запущенных случаях паранойи, ибо требует от получателя и отправителя обязательной аутентификации.

Аналоговую систему расчета предложил один из «шифропанков», о которых речь пойдет ниже, молодой программист Вэй Дай. Уже в 2009 году Сатоши Накамото (которого многие свято считают целой хакерской группировкой) разработал платежную систему нового типа - BitCoin. Так родилась криптовалюта. Ее транзакции не требуют посредника в виде банка или другой финансовой организации, отследить их невозможно. Сеть полностью децентрализована, биткойны не могут быть заморожены или изъяты, они полностью защищены от государственного контроля. В то же время биткойн может использоваться для оплаты любых товаров - при условии согласия продавца.

Новые электронные деньги производят сами пользователи, предоставляющие вычислительные мощности своих машин для работы всей системы BitCoin. Такой род деятельности называется майнинг (mining - добыча полезных ископаемых). Заниматься майнингом в одиночку не очень выгодно, гораздо проще воспользоваться специальными серверами - пулами. Они объединяют ресурсы нескольких участников в одну сеть, а затем распределяют полученную прибыль.

Крупнейшей площадкой купли-продажи биткойнов является японская Mt. Gox, через которую проводятся 67% транзакций в мире. Заядлые анонимы предпочитают ей российскую BTC-E: регистрация здесь не требует идентификации пользователя. Курс криптовалюты довольно-таки нестабилен и определяется только балансом спроса и предложения в мире. Предостережением новичкам может служить известная история о том, как 10 тысяч единиц, потраченых одним из пользователей на пиццу, превратились через некоторое время в 2,5 миллиона долларов.

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

Сатоши Накамото, хакер

Терминология

Основными операторами являются исходное сообщение (открытый текст, plaintext) и его изменение (шифротекст, ciphertext). Дешифровкой (decryption) называется сам процесс трансформации шифротекста в текст открытый. Для начинающего криптографа важно запомнить и несколько других терминов:

АЛИСА, ЕВА И БОБ (ALICE)

Свести описание криптопротокола к математической формуле помогают определенные имена участников игры: Алиса и Боб. Противник в действующей криптосистеме обозначен как Ева (eavesdropper - подслушивающий). В редких случаях имя меняется, однако противник всегда остается женского рода.

АВТОНОМНАЯ СИСТЕМА ЭЛЕКТРОННЫХ ПЛАТЕЖЕЙ (OFF-LINE E-CASH SYSTEM)

Благодаря ей покупатель и продавец могут работать напрямую, без участия банка-эмитента. Минус этой системы заключается в дополнительной транзакции, которую совершает продавец, переводящий полученные деньги на свой банковский счет.

АНОНИМНОСТЬ (ANONYMITY)

Это понятие означает, что участники акции могут работать конфиденциально. Анонимность бывает абсолютной и отзываемой (в системах, подразумевающих участие третьего лица, арбитра). Арбитр может при определенных условиях идентифицировать любого игрока.

ПРОТИВНИК (ADVERSARY)

Нарушитель. Он стремится нарушить периметр конфиденциальности протокола. Вообще, использующие криптопротокол участники воспринимают друг друга как потенциальных противников - по умолчанию.

ЧЕСТНЫЙ УЧАСТНИК (HONEST PARTY)

Честный игрок, обладающий необходимой информацией и строго следующий протоколу системы.

ЦЕНТР ДОВЕРИЯ (AUTHORITY (TRUSTED AUTHORITY))

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

БОЛЬШОЙ БРАТ (BIG BROTHER)

Да, именно он. Действия Большого Брата не контролируются и не отслеживаются другими участниками криптопротокола. Доказать нечестную игру Большого Брата невозможно, даже если все в этом уверены.

Анонимность

Начинающие ревнители конфиденциальности сохраняют инкогнито при помощи специальных сайтов - веб-прокси. Они не требуют отдельного программного обеспечения и не забивают голову пользователя сложной настройкой. Искомый адрес юзер вводит не в браузере, а в адресной строке сайта-анонимайзера. Тот обрабатывает информацию и передает от своего имени. Заодно такой сервер получает чудесную возможность скопировать проходящие через него данные. В большинстве случаев так и происходит: информация лишней не бывает.

Продвинутые анонимы предпочитают использовать средства посерьезнее. Например, Tor (The Onion Router). Этот сервис использует целую цепочку прокси-серверов, контролировать которую практически невозможно из-за ее разветвленности. Система многослойной (на сленге - луковой) маршрутизации обеспечивает пользователям Tor высокий уровень безопасности данных. Кроме того, The Onion Router мешает анализировать проходящий через него трафик.

Шифропанк

Впервые термин прозвучал из уст известной хакерши Джуд Милхон в адрес чрезмерно увлеченных идеей анонимности программистов. Основная идея шифропанка (cypherpunk) - возможность обеспечения анонимности и безопасности в сети самими пользователями. Достигнуть этого можно посредством открытых криптографических систем, которые в большинстве своем разрабатываются активистами шифропанка. Движение имеет неявную политическую окраску, большей части участников близок криптоанархизм и многие либертарные социальные идеи. Известнейший представитель шифропанка - Джулиан Ассанж, на радость всем мировым державам основавший WikiLeaks. У шифропанков есть официальный манифест .

«Новая большая игра - это отнюдь не война за нефтепроводы... Новое всемирное сокровище - это контроль
над гигантскими потоками данных, соединяющими целые континенты и цивилизации, связывающими в единое целое коммуникацию миллиардов людей и организаций»

Джулиан Ассанж

Джулиан Ассанж

На своем портале WikiLeaks публично продемонстрировал всем желающим изнанку многих государственных структур. Коррупция, военные преступления, сверхсекретные тайны - вообще все, до чего дотянулся деятельный либертарианец, стало достоянием общественности. Помимо этого, Ассанж - создатель адской криптосистемы под названием «Отрицаемое шифрование» (Deniable encryption). Это способ компоновки зашифрованной информации, который обеспечивает возможность правдоподобного отрицания ее наличия.

Брэм Коэн

Американский программист, родом из солнечной Калифорнии. На радость всему миру придумал протокол BitTorrent, которым небезуспешно пользуются и по сей день.

Архаичные шифраторы канули в Лету, чего нельзя сказать об алгоритмах шифрования. Операции сдвига, замены и перестановки до сих пор применяются в современных алгоритмах, однако с существенной поправкой в стойкости. За многие столетия, прошедшие со времен первого применения этих шифров, криптографы научились оценивать количество информации, энтропию и стойкость, однако так было не всегда. Рассмотрим подробнее, как работают самые популярные шифры в истории криптографии и в чем их недостатки.

В современном обществе, где почти каждый человек имеет электронный девайс (а то и не один), где каждую минуту совершаются операции с электронной валютой, пересылаются конфиденциальные email, подписываются электронные документы, криптография нужна как воздух. Нужна пользователям, чтобы защитить свою приватность. Нужна программистам, чтобы обеспечить безопасность проектируемых систем. Нужна хакерам, чтобы при аудите понимать уязвимые места в системах. Нужна админам, чтобы представлять, чем и как лучше защищать корпоративные данные. Мы не могли обойти стороной такую важную тему и начинаем цикл статей, посвященный введению в криптoграфию. Для новичков - самый простой путь познакомиться с криптой, для профи - хороший повод систематизировать свои знания. Шесть уроков, от самого простого к сложному. Вперед!

Термины

Для начала давай определимся с терминологией:

  • Криптография - это наука о том, как обеспечить секретность сообщения.
  • Криптоанализ - это наука о том, как вскрыть зашифрованное сообщение, не зная ключа.
  • Дешифровка - это процeсс получения открытого текста средствами криптоанализа.
  • Расшифрование - это процесс получения открытого текста с использованием ключа и алгоритма расшифрования, предусмотренного для данного шифра.

В мире криптографии путаться в этих словах - ужасный моветон.

Зачем мне знания о криптографии?

Предположим, криптография очень нужна, но пусть ей займутся дядьки с усами математики. Зачем же мне знания по криптографии?

Если ты обычный пользователь - то как минимум, чтобы обеспечить свою приватность. Сегодня крупным государствам и влиятельным организациям становятся доступны средства тотального надзора за миллионами людей. Поэтому криптография оказывается важнейшим инструментом, обеспечивающим конфиденциальность, доверие, целостность, авторизацию сообщений и электронных платежей. Повсеместное распространение криптографии останется одним из немногих способов защитить пользователя от угроз, нависающих над его конфиденциальной информацией. Зная, как работает тот или иной протокол или шифр, чем он хорош и где его слабые места, ты сможешь оcознанно выбирать инструменты для работы или просто общения в Сети.

Если ты программист или специалист по ИБ, то здесь вообще от криптографии никуда не скрыться. Любой крупный проект требует обеспечения безопасности информации. Неважно, что ты разрабатываешь: контентный сервис, почтовик, мессенджер, соцсеть или просто интернет-магазин, - везде есть критичные данные, которые надо защищать от перехвата или угона БД. Каждая операция должна быть защищена криптографическими протоколами. В этом случае криптография - подходящий инструмент. Если ты еще с ней не столкнулся, будь уверен - это на 100% лишь вопрос времени.

Короче говоря, криптография используется гораздо чаще, чем можно себе представить. Поэтому пора снять завесу тайны с этой науки, познакомиться с наиболее интересными аспектами и использовать ее возможности себе на пользу.

Зачем изучать старые шифры?

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

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

Зачем же нам знакомиться с такими древними и нестойкими шифрами, если можно сразу прочитать про DES и RSA - и вуаля, почти специалист? Изучение первых шифров поможет лучше понять, зачем нужна та или иная операция в современном алгоритме шифрования. Например, шифр перестановки, один из первых примитивных алгоритмов, не был забыт, и перестановка - одна из часто встречающихся операций в современном шифровании. Таким образом, чтобы лучше осознать, откуда на самом деле растут ноги у современных алгоритмов, нужно оглянуться на несколько тысяч лет назад.

Исторические шифры и первые шифраторы

Согласно источникам, первые способы шифрования текста появились вместе с зарождением письменности. Способы тайного письма применялись древними цивилизациями Индии, Месопотамии и Египта. В письменах Древней Индии упоминаются способы изменения текста, которые использовали не только правители, но и ремесленники, желающие скрыть секрет мастерства. Истоком криптографии считается использование специальных иероглифов в древнеегипетской письменности около четырех тысячелетий назад.

Первым шифром, зародившимся в древних цивилизациях и актуальным, в некотором роде, и по сей день, можно считать шифр замены. Чуть позже был придуман шифр сдвига, который применялся Юлием Цезарем, почему и был назван в его честь.

Помимо шифров, нельзя не упомянуть о приборах для шифрования, которые разрабатывали древние математики. Например, скитала - первый шифратор, разработанный в Спарте. Представлял собой палку, на которую по всей длине наматывалась лента пергамента. Текст наносился вдоль оси палки, после чего пергамент снимался, и получалось шифрованное сообщение. Ключом служил диаметр палки. Однако такой способ шифрования был абсолютно нестойким - автором взлома стал Аристотель. Он наматывал ленту пергамента на конусообразную палку до тех пор, пока не появлялись отрывки читаемого текста.

Также ярким примером из мира древних шифраторов может стать диск Энея - диск с отверстиями по количеству букв в алфавите. Нитка протягивалась последовательно в те отверстия, которые соответствовали буквам сообщения. Получатель вытаскивал нитку, записывал последовательность букв и читал секретное послание. Однако этот шифратор обладал существенным недостатком - достать нитку и разгадать послание мог кто угодно.

Шифр сдвига

Это один из самых первых типов шифра. Процесс шифрования очень прост. Он заключается в замене каждой буквы исходного сообщения на другую, отстоящую от исходной на заданное количество позиций в алфавите. Это количество позиций называется ключом. При ключе, равном трем, этот метод называется шифром Цезаря. Император использовал его для секретной переписки. Для того чтобы зашифровать сообщение, нужно построить таблицу подстановок:

a b c d e f g h i j k l m n o p q r s t u v w x y z
d e f g h i j k l m n o p q r s t u v w x y z a b c

Как видишь, во втором ряду символы алфавита сдвинуты на три позиции «назад». Чтобы зашифровать сообщение, для каждого символа исходного текста нужно взять соответствующий ему символ из таблицы подстановки.

Пример шифра

Исходный текст: Hi, Brut! How are you?
Шифрованный текст: Kl, Euxw! Krz duh brx?

Расшифрование

На этапе расшифрования мы имеем шифрованный текст и ключ, равный трем. Чтобы получить исходный текст, ищем для каждого символа сдвиг на три позиции к началу алфавита. Так, для первого символа K сдвиг три будет означать символ H. Далее посимвольно расшифровываем текст, пока не получаем исходную фразу Hi, Brut! How are you? .

Криптоанализ

Легче всего такой шифр взломать простым перебором всех возможных значений ключа - их всего 25. Здесь все просто, и останавливаться смысла нет.

Другой вариант - использовать частотный анализ текста. Для каждого языка есть статистическая информация о частоте употребления каждой буквы алфавита и наиболее часто встречающихся сочетаний букв. Для английского, например, среднестатистические частоты употребления букв таковы:

e 0,12702 s 0,06327 u 0,02758 p 0,01929 q 0,00095
t 0,09056 h 0,06094 m 0,02406 b 0,01492 z 0,00074
a 0,08167 r 0,05987 w 0,02360 v 0,00978
o 0,07507 d 0,04253 f 0,02228 k 0,00772
i 0,06966 l 0,04025 g 0,02015 j 0,00153
n 0,06749 c 0,02782 y 0,01974 x 0,00150

Что касается двухбуквенных сочетаний (биграмм), то можно заметить следующую тенденцию:

Биграмма Процентное содержание Биграмма Процентное содержание
th 3,15 he 2,51
an 1,72 in 1,69
er 1,54 re 1,48
es 1,45 on 1,45
ea 1,31 ti 1,28
at 1,24 st 1,21
en 1,20 nd 1,18

Идея в том, что в зашифрованном тексте самой часто встречаемой буквой будет не эталонная e, а что-то другое. Соответственно, нам нужно найти самую часто встречаемую букву в нашем шифре. Это и будет зашифрованная е. А дальше нужно подсчитать ее сдвиг от е в таблице подстановок. Полученное значение и есть наш ключ!

Шифр замены

Основной недостаток шифра сдвига заключается в том, что есть всего 25 возможных значений ключа. Даже Цезарь начал подозревать, что его шифр не самая лучшая идея. Поэтому на смену ему пришел шифр замены. Для того чтобы воспользоваться этим алгоритмом, создается таблица с исходным алфавитом и, непосредственно под ним, тот же алфавит, но с переставленными буквами (или любой другой набор знаков):

a b c d e f g h i j k l m n o p q r s t u v w x y z
b e x g w i q v l o u m p j r s t n k h f y z a d c

Пример шифра

Действуем аналогично предыдущему шифру. Для каждого символа исходного текста берем соответствующий ему из таблицы подстановки:

Исходный текст: Hi, Brut! How are you?
Шифрованный текст: Vl, Enfh!Vrz bnw drf?

Расшифрование

При расшифровании заменяем каждый символ шифротекста соответствующим символом из известной нам таблицы подстановки: v => h, l => i и так далее. После чего получаем исходную строку Hi, Brut! How are you? .

Криптоанализ

Криптоанализ этого шифра также выполняется методом частотного анализа текста. Рассмотрим пример:

MRJGRJ LK HVW XBSLHBM RI QNWBH ENLHBLJ , LHK SRMLHLXBM , WXRJRPLX , BJG XRPPWNXLBM XWJHNW . LH LK RJW RI HVW MBNQWKH XLHLWK LJ HVW ZRNMG BJG HVW MBNQWKH XLHD LJ WFNRSW . LHK SRSFMBHLRJ LK BERFH 8 PLMMLRJ . MRJGRJ LK GLYLGWG LJHR KWYWNBM SBNHK : HVW XLHD , ZWKHPLJKHWN , HVW ZWKH WJG , BJG HVW WBKH WJG . HVW VWBNH RI MRJGRJ LK HVW XLHD , LHK ILJBJXLBM BJG EFKLJWKK XWJHNW . JFPWNRFK EBJUK , RIILXWK , BJG ILNPK BNW KLHFBHWG HVWNW , LJXMFGLJQ HVW EBJU RI WJQMBJG , HVW KHRXU WAXVBJQW , BJG HVW RMG EBLMWD . IWZ SWRSMW MLYW VWNW , EFH RYWN B PLMMLRJ SWRSMW XRPW HR HVW XLHD HR ZRNU . HVWNW BNW KRPW IBPRFK BJXLWJH EFLMGLJQK ZLHVLJ HVW XLHD . SWNVBSK HVW PRKH KHNLULJQ RI HVWP LK HVW KH . SBFM \ "K XBHVWGNBM , HVW QNWBHWKH RI WJQMLKV XVFNXVWK . LH ZBK EFLMH LJ HVW 17HV XWJHFND ED KLN XVNLKHRSVWN ZNWJ . HVW HRZWN RI MRJGRJ ZBK IRFJGWG ED OFMLFK XBWKBN BJG LJ 1066 NWEFLMH ED ZLMMLBP HVW XRJTFWNRN . LH ZBK FKWG BK B IRNHNWKK , B NRDBM SBMBXW , BJG B SNLKRJ . JRZ LH LK B PFKWFP .

Частотный анализ букв этого шифра показывает следующее (читай построчно, буквы сортированы по частоте использования):

W -88 , H -74 , L -67 , J -55 , B -54 , K -52 ,

R -51 , N -41 , M -36 , V -35 , X -29 , G -27 ,

F -23 , P -16 , S -16 , I -15 , Z -13 , E -13 ,

D -11 , Q -10 , U -5 , Y -4 , T -1 , O -1 ,

A -1

Вероятно, что W => e, так как это самая часто встречающаяся буква в шифре (смотри таблицу среднестатистических частот использования букв для английского языка в предыдущем шифре).

Дальше пробуем найти наиболее короткое слово, куда входит уже известная нам буква W => e. Видим, что сочетание HVW чаще всего встречается в шифре. Нетрудно догадаться, что, скорее всего, это триграмма the, то есть в тексте мы уже определили три символа. Если посмотреть на промежуточный результат, сомнений не остается:

MRJGRJ LK the XBSLtBM RI QNeBt ENLtBLJ , LtK SRMLtLXBM , eXRJRPLX , BJG XRPPeNXLBM XeJtNe . Lt LK RJe RI the MBNQeKt XLtLeK LJ the ZRNMG BJG the MBNQeKt XLtD LJ eFNRSe . LtK SRSFMBtLRJ LK BERFt 8 PLMMLRJ . MRJGRJ LK GLYLGeG LJtR KeYeNBM SBNtK : the XLtD , ZeKtPLJKteN , the ZeKt eJG , BJG the eBKt eJG . the heBNt RI MRJGRJ LK the XLtD , LtK ILJBJXLBM BJG EFKLJeKK XeJtNe . JFPeNRFK EBJUK , RIILXeK , BJG ILNPK BNe KLtFBteG theNe , LJXMFGLJQ the EBJU RI eJQMBJG , the KtRXU eAXhBJQe , BJG the RMG EBLMeD . IeZ SeRSMe MLYe heNe , EFt RYeN B PLMMLRJ SeRSMe XRPe tR the XLtD tR ZRNU . theNe BNe KRPe IBPRFK BJXLeJt EFLMGLJQK ZLthLJ the XLtD . SeNhBSK the PRKt KtNLULJQ RI theP LK the Kt . SBFM \ "K XBtheGNBM , the QNeBteKt RI eJQMLKh XhFNXheK . Lt ZBK EFLMt LJ the 17th XeJtFND ED KLN XhNLKtRSheN ZNeJ . the tRZeN RI MRJGRJ ZBK IRFJGeG ED OFMLFK XBeKBN BJG LJ 1066 NeEFLMt ED ZLMMLBP the XRJTFeNRN . Lt ZBK FKeG BK B IRNtNeKK , B NRDBM SBMBXe , BJG B SNLKRJ . JRZ Lt LK B PFKeFP .

Отлично, уже известны три буквы. Снова ищем наиболее короткие слова с новыми известными нам подстановками. Сочетание it является частоупотребляемым, и, поскольку буква t уже дешифрована (HVW => the), очевидно, что в нашем тексте L => i (LH => it). После этого обращаемся к поиску биграмм is и to, устанавливаем, что K => s, R => o. Затем обращаем внимание на триграммы ~ing и and. Анализ текста показывает, что BJG, скорее всего, шифротекст от and. После замены всех наиболее часто встречающихся символов получаем текст:

Mondon is the XaSitaM oI QNeat ENitain , its SoMitiXaM , eXonoPiX , and XoPPeNXiaM XentNe . it is one oI the MaNQest Xities in the ZoNMd and the MaNQest XitD in eFNoSe . its SoSFMation is aEoFt 8 PiMMion . Mondon is diYided into seYeNaM SaNts : the XitD , ZestPinsteN , the Zest end , and the east end . the heaNt oI Mondon is the XitD , its IinanXiaM and EFsiness XentNe . nFPeNoFs EanUs , oIIiXes , and IiNPs aNe sitFated theNe , inXMFdinQ the EanU oI enQMand , the stoXU eAXhanQe , and the oMd EaiMeD . IeZ SeoSMe MiYe heNe , EFt oYeN a PiMMion SeoSMe XoPe to the XitD to ZoNU . theNe aNe soPe IaPoFs anXient EFiMdinQs Zithin the XitD . SeNhaSs the Post stNiUinQ oI theP is the st . SaFM \ "s XathedNaM , the QNeatest oI enQMish XhFNXhes . it Zas EFiMt in the 17th XentFND ED siN XhNistoSheN ZNen . the toZeN oI Mondon Zas IoFnded ED OFMiFs XaesaN and in 1066 NeEFiMt ED ZiMMiaP the XonTFeNoN . it Zas Fsed as a IoNtNess , a NoDaM SaMaXe , and a SNison . noZ it is a PFseFP .

London is the capital of Great Britain , its political , economic , and commercial centre . It is one of the largest cities in the world and the largest city in Europe . Its population is about 8 million . London is divided into several parts : the City , Westminster , the West End , and the East End . The heart of London is the City , its financial and business centre . Numerous banks , offices , and firms are situated there , including the Bank of England , the Stock Exchange , and the Old Bailey . Few people live here , but over a million people come to the City to work . There are some famous ancient buildings within the City . Perhaps the most striking of them is the St . Paul "s Cathedral , the greatest of English churches . It was built in the 17th century by Sir Christopher Wren . The Tower of London was founded by Julius Caesar and in 1066 rebuilt by William the Conqueror . It was used as a fortress , a royal palace , and a prison . Now it is a museum .

Как видишь, в этом криптоанализе нашим главным инструментом был статистический анализ частот. Идем дальше!

Шифр Рихарда Зорге

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

Давай разберем довольно известный шифр Рихарда Зорге - советского разведчика, который был направлен в Японию. Этот шифр продуман до мелочей. Шифрование ведется на английском языке. Первоначально нужно составить следующую таблицу:

S U B W A Y
C D E F G H
I J K L M N
O P Q R T V
X Y Z . /

Сначала записываем в нее слово SUBWAY, выбранное нами. Затем пишем все остальные буквы алфавита по порядку. Слеш означает новое слово (разделитель), а точка обозначает себя. Далее наиболее часто встречающиеся буквы английского алфавита (A , S , I , N , T , O , E , R) нумеруются в порядке появления в таблице:

0) S U B W 5) A Y
C D 3) E F G H
1) I J K L M 7) N
2) O P Q 4) R 6) T V
X Y Z . /

Саму таблицу мы строим по горизонтали, записывая буквы рядами, а нумеруем по вертикали, столбцами. Так улучшаются перемешивающие свойства.

Далее таблица преобразуется к следующему виду: сначала в строку по столбцам записываются наиболее часто встречаемые буквы в порядке нумерации (S, I, E, …). А затем записываются и все остальные буквы, также по столбцам в строки (С, X, U, D, J, …). Такая таблица обеспечит хорошие перемешивающие свойства и в то же время не «испортит» частотный анализ шифротекста:

0 1 2 3 4 5 6 7 8 9
- S I O E R A T N - -
8 C X U D J P Z B K Q
9 . W F L / G M Y H V

Таблица готова. Теперь можно зашифровать сообщение.

Пример шифра

Возьмем исходный текст:

Mr . X will fly tomorrow .

Расставим слеши для разделения слов:

Mr . / X / will / fly / tomorrow .

Разобьем текст на блоки по четыре символа (просто для удобства представления):

Mr . / X / wi ll / f ly / t omor row .

Теперь текст нужно зашифровать по нашей таблице. Алгоритм такой:

  1. Для каждого исходного символа ищем соответствующую ему цифру в первом столбце (для M это будет 9).
  2. Для каждого исходного символа ищем соответствующую ему цифру в первом ряду (для M это будет 6).
  3. Записываем полученные символы один за другим (96). Если вместо символа в первом ряду/столбце стоит прочерк, не пишем ничего:96 4 …
    M R …
  4. Переходим к следующему символу. И так далее.

В итоге у нас получится такой шифротекст:

9649094 81 94 911 93939492 9397946 29624 429190

M R . / X / W I L L / F L Y / T OM OR ROW .

После этого шифротекст заново переразбивается на блоки одинаковой длины по пять символов. Оставшиеся символы, которые придутся на последнюю незавершенную группу из пяти символов, можно просто отбросить. Если у нас останется больше двух символов, то их нужно добить нулями до полной группы из пяти. Если один или два - можно отбросить, они не несут особо много информации, и до них легко догадаются в штабе. В нашем случае лишних символов не осталось.

После перегруппировки у нас получится вот такой шифротекст:

96490 94819 49119 39394 92939 79462 96244 29190

Далее нужно наложить на полученный шифротекст некую гамму. Если упрощенно, то гамма - это последовательность чисел, которая выбирается для сложения с исходным шифротекстом. Например, если у нас есть гамма 1234 5678 9876 , а исходный шифротекст выглядел как 12222 14444 1555 , то конечный шифротекст после наложения гаммы выглядит как их сумма - 1234+12222, 14444+5678, 9876+1555 .

Откуда брать гамму и как незаметно передать ее в штаб? Зорге выбирал гамму из «Немецкого статистического ежегодника». Такое издание не должно было вызвать удивление у японцев, так как Зорге приехал в страну под видом немецкого журналиста. Зорге указывал страницу и столбец, откуда начиналась последовательность, которая была наложена на шифротекст в этом послании. Например, 201-я страница и 43-й столбец. Эти данные он записывал добавочным числом 20143 перед шифротекстом, который, в свою очередь, уже шифровался гаммой.

Конечно, сегодня стоит выбирать более известный источник для гаммы. Подойдут любые распространенные табличные данные, не вызывающие подозрения. Но для знакомства с шифром давай все же использовать аутентичный исходник:).

Предположим, мы выбрали 199-ю страницу и четвертую строку, четвертый столбец. Отсюда и начинается нужная гамма:

324 36 380 230 6683 4358 50 2841

В этом случае, чтобы наложить гамму, нужно сделать:

19946 { 96490 + 324 94819 + 36 49119 + 380 39394 + 230 92939 + 6683 79462 + 4358 96244 + 50 29190 + 2841 }

В итоге полученный шифротекст будет:

19946 96814 94855 49499 39624 99622 83820 96294 32031

Расшифрование

В Москве этот текст расшифровывали с помощью аналогичной таблицы. Первым делом анализировалось первое пятизначное число, и в справочнике находилась указанная последовательность гаммы:

{ 96814 - 324 94855 - 36 49499 - 380 39624 - 230 99622 - 6683 83820 - 4358 96294 Mr . X will fly tomorrow

Криптоанализ

Шифр Зорге так и не был взломан вражескими криптоаналитиками. Множество раз японские спецслужбы перехватывали шифротекст, но он так и останется в виде колонок пятизначных чисел, которые подшивались в дела непойманных шпионов.

Шифр Вернама

Во время Первой мировой войны криптологами активно использовался одноразовый шифр-блокнот, или шифр Вернама. Доказано, что он теоретически абсолютно стойкий, однако ключ key должен быть той же длины, что и передаваемое сообщение. Абсолютная стойкость - это свойство, при котором зашифрованное сообщение не поддается криптоанализу, так как не дает злоумышленнику никакой информации об открытом тексте.

Cуть шифра Вернама крайне проста. Для этого нужно вспомнить операцию «исключающее или» или сложение по модулю 2. Итак, для сообщения plaintext шифротекст будет равен:

-- -- - +

G 11011

Во времена Первой мировой войны двоичные коды для символов задавались в Международном телеграфном алфавите № 2 (International Telegraph Alphabet No. 2, ITA2).

На самом деле, несмотря на свою криптостойкость, этот шифр имеет больше минусов, нежели плюсов:

  • в качестве ключа должна быть абсолютно случайная последовательность - вероятно, придется стоять и подбрасывать кубик, чтобы сгенерировать такую;
  • для передачи необходим защищенный канал - сомнительно, что он всегда имелся под рукой во времена Первой мировой войны;
  • если третья сторона сможет каким-то образом узнать послание, она легко и восстановит ключи, и подменит сообщение;
  • требуется надежное уничтожение страницы блокнота - сжечь ее и съесть пепел, тогда враг точно не узнает, что было зашифровано.

Пример шифра

Исходный текст: HELLO
Ключ: AXHJB

Складываем побитово по модулю 2 и ищем, какой букве соответствует полученный код в телеграфном алфавите:

H⊕A = 10100⊕00011 = 10111 => Q
E⊕X = 00001⊕11101 = 11100 => M
L⊕H = 10010⊕10100 = 00110 => I
L⊕J = 10010⊕01011 = 11001 => B
O⊕B = 11000⊕11001 = 00001 => E

Шифрованный текст: QMIBE

Расшифрование

Расшифрование с помощью ключа выполняется аналогично шифровке:

ciphertext⊕key = plaintext

Криптоанализ

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

Криптоанализ шифра Вернама легко возможен в том случае, если при шифровании мы выбрали ключ с повторяющимися символами. Если злоумышленнику удалось заполучить несколько текстов с перекрывающимися ключами, он сможет восстановить исходный текст.

Рассмотрим атаку, которая осуществима, если мы дважды при шифровании используем один и тот же ключ. Она называется атака вставки.

Предположим, нам удалось перехватить зашифрованное сообщение QMIVE. Мы пытаемся взломать шифр и убедили отправителя зашифровать свое сообщение еще раз, но при этом поставить первым символом 1 (конечно, отправитель должен быть безмерным простофилей, чтобы выполнить такое условие, но, предположим, мы умеем убеждать).

Тогда мы получаем шифротекст VDYBJY.

Нам известно, что первый символ 1. Я вычисляю первый символ секретного ключа key:

H⊕D = 10100⊕01001 = 11101 => X

Применяем его к первому тексту и получаем:

M⊕X = 11100⊕11101 = 00001 => E

  • складываем символ открытого текста с символом шифротекста => узнаем символ ключа;
  • складываем символ ключа с соответствующим символом шифротекста => получаем символ открытого текста

Такая последовательность операций повторяется, пока не станут известны все символы открытого текста.

Шифровальные машины

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

Итак, основным механизмом работы шифратора был диск с нанесенными с двух сторон контактами, соответствующими алфавитам открытого и шифрованного текста. Контакты соединялись между собой по некоторому правилу, называемому коммутацией диска. Эта коммутация определяла замену букв при начальном положении диска. При изменении положения диска коммутация менялась и алфавит для шифрования сдвигался.

Пример работы

Пусть начальное положение диска задает подстановку:

a b c d e f g h i j k l m n o p q r s t u v w x y z
b e x g w i q v l o u m p j r s t n k h f y z a d c

После того как первая буква исходного текста заменена, ротор поворачивается и подстановка сдвигается на один символ:

a b c d e f g h i j k l m n o p q r s t u v w x y z
e x g w i q v l o u m p j r s t n k h f y z a d c b

Вторая буква будет зашифрована согласно новому алфавиту. А после ее замены ротор сдвигается вновь, и так далее по количеству символов в исходном шифруемом сообщении.

Энигма

Первой роторной машиной шифрования была «Энигма», состоявшая на вооружении Германии во время Второй мировой войны. Она имела три ротора, связанных между собой. При повороте первого ротора соединенное с ним кольцо попадает в паз второго диска и толкает его. Аналогично итерации третьего ротора контролируются вторым ротором. В итоге при каждом нажатии на клавишу машины одна и та же буква кодируется совершенно разными значениями.

При шифровании необходимо было учитывать начальное положение роторов, их порядок и положения колец. Для двойной замены букв используется штекерная панель. Рефлектор осуществляет завершающую подстановку для контроля соответствия между операциями зашифрования и расшифрования. Взгляни на конструкцию «Энигмы»:

На рисунке жирной линией выделено, как буква A вводится с клавиатуры, кодируется штекером, проходит через три ротора, заменяется на рефлекторе и выходит зашифрованной буквой D.

«Энигма» долгое время считалась неуязвимой. Немцы ежедневно меняли положение штекеров, диски и их компоновку и положение. Во время военных действий они ежедневно кодировали короткую последовательность букв, которая шифровалась дважды и передавалась в самом начале сообщения. Адресат дешифровал ключ и устанавливал настройки машины согласно этому ключу. Именно это многократное использование одного и того же ключа позволило аналитикам из Блетчли-Парка (главного шифровального подразделения Великобритании) взломать немецкий шифр.

На самом деле механизм «Энигмы» не является стойким, так как штекеры и рефлектор выполняют взаимоисключающие операции. Пользуясь частотным анализом для достаточно большого шифротекста, можно подобрать положение роторов брутфорсом. Именно из-за этих уязвимостей «Энигма» остается лишь экспонатом в музее Блетчли-Парка.

Сигаба

Спустя десять лет американскими военными была разработана роторная шифровальная машина «Сигаба», которая значительно превзошла по характеристикам свою прародительницу. «Сигаба» имеет три блока по пять роторов и печатающий механизм. Шифрование на этой машине использовалось американскими военными и военно-морским флотом вплоть до 1950-х годов, пока ее не сменила более новая модификация KL-7. Как известно, эта роторная машина так и не была взломана.

Purple

Говоря о знаменитых криптографических механизмах, нельзя не упомянуть о японской шифровальной машине Purplе, как ее назвали американцы. Шифрование в Purple также основывалось на движении четырех роторов, а секретный ключ задавался один раз в день. Текст вводился с клавиатуры, при помощи роторов заменялся на шифрованный и выводился напечатанным на бумаге. При расшифровании процесс последовательного прохождения через роторы повторялся в обратном порядке. Такая система является совершенно стойкой. Однако на практике ошибки при выборе ключей привели к тому, что Purple повторила судьбу немецкой «Энигмы». Она была взломана американским отделом криптоаналитиков.

Выводы

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

ссылки:

Это первый урок из цикла «Погружение в крипту». Все уроки цикла в хронологическом порядке:

  • Уроки криптографии. Основные шифры. часть 1. Основы, исторические шифраторы, как работают (и анализируются) шифры сдвига, замены, Рихарда Зорге, шифр Вернама и шифровальные машины (ты здесь)
  • . часть 2. Что это такое, как выполняется распределение ключей и как выбрать криптостойкий ключ
  • Что тaкое сеть Фейстеля, какими бывают отечественные блочные шифры, используемые в современных протоколах, - ГОСТ 28147-89, «Кузнечик»
  • Урок 4. Современные зарубежные шифры . Что такое, как работают и в чем разница между 3DES, AES, Blowfish, IDEA, Threefish от Брюса Шнайдера
  • Урок 5. Электронная подпись . Виды ЭП, как они работают и как их использовать
  • Урок 6. Квантовая криптография . Что это такое, где используется и как помогает в распределении секретных ключей, генерации случайных чисел и электронной подписи

[Всего голосов: 5 Средний: 3.8/5]

Last updated by at Июнь 28, 2016 .

Похожие публикации