Математическая криптография

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

Ключевой вехой в развитии криптографии является фундаментальный труд Клода Шеннона «Теория связи в секретных системах» (англ. Communication Theory of Secrecy Systems) — секретный доклад, представленный автором в 1945 году, и опубликованный им в «Bell System Technical Journal» в 1949 году. В этой работе, по мнению многих современных криптографов, был впервые показан подход к криптографии в целом как к математической науке. Были сформулированы её теоретические основы и введены понятия, с объяснения которых сегодня начинается изучение криптографии студентами.

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

В 1967 году выходит книга Дэвида Кана «Взломщики кодов». Хотя книга не содержала сколько-нибудь новых открытий, она подробно описывала имеющиеся на тот момент результаты в области криптографии, большой исторический материал, включая успешные случаи использования криптоанализа, а также некоторые сведения, которые правительство США полагало всё ещё секретными. Но главное — книга имела заметный коммерческий успех и познакомила с криптографией десятки тысяч людей. С этого момента начали понемногу появляться работы и в открытой печати.

Примерно в это же время Хорст Фейстель переходит из Военно-воздушных сил США на работу в лабораторию корпорации IBM. Там он занимается разработкой новых методов в криптографии и разрабатывает ячейку Фейстеля, являющуюся основой многих современных шифров, в том числе шифра Lucifer, ставшего прообразом шифра DES — стандарта шифрования США с 23 ноября 1976 года, первого в мире открытого государственного стандарта на шифрование данных, не составляющих государственной тайны.

При этом по решению Агентства национальной безопасности США (АНБ) при принятии стандарта длина ключа была уменьшена со 112 до 56 бит. Несмотря на найденные уязвимости (связанные, впрочем, в первую очередь, именно с уменьшенной длиной ключа), он использовался, в том числе с изменениями, до 2001 года. На основе ячейки Фейстеля были созданы и другие шифры, в том числе TEA (1994 год), Twofish (1998 год), IDEA (2000 год), а также ГОСТ 28147-89, являющийся стандартом шифрования в России как минимум с 1989 года.

В 1976 году публикуется работа Уитфилда Диффи и Мартина Хеллмана «Новые направления в криптографии» (англ. «New Directions in Cryptography»). Данная работа открыла новую область в криптографии, теперь известную как криптография с открытым ключом. Также в работе содержалось описание алгоритма Диффи — Хеллмана, позволявшего сторонам сгенерировать общий секретный ключ используя только открытый канал. Кроме этого одним из результатов публикации стал значительный рост числа людей, занимающихся криптографией.

Хотя работа Диффи-Хеллмана создала большой теоретический задел для открытой криптографии, первой реальной криптосистемой с открытым ключом считают алгоритм RSA (названный по имени авторов — Rivest, Shamir и Adleman). Опубликованная в августе 1977 года работа позволила сторонам обмениваться секретной информацией не имея заранее выбранного секретного ключа. Опасаясь распространения системы в негосударственных структурах, АНБ безуспешно требовало прекращения распространения системы. RSA используется во всём мире и, на 1996 год, являлся стандартом де-факто для шифрования с открытым ключом.

Черновики стандарта ISO для цифровой подписи и банковского стандарта ANSI основаны на RSA, также он служит информационным дополнением для ISO 9796, принят в качестве стандарта во Французском банковском сообществе и в Австралии. В США, из-за давления АНБ, стандарты на шифрование с открытым ключом или цифровую подпись отсутствуют, хотя большинство компаний использует стандарт PKCS #1, основанный на RSA.

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

В России для шифрования с открытым ключом стандарт отсутствует, однако для электронной цифровой подписи (органически связанной с шифрованием с открытым ключом) принят стандарт ГОСТ Р 34.10-2001, использующий криптографию на эллиптических кривых.