Европейская криптология. История спецсвязи — страница 44 из 47

4 января 1951 года приёмной комиссии был продемонстрирован действующий макет МЭСМ, а 25 декабря она была введена в эксплуатацию: в тот день на ней было получено решение реальной задачи — вычисление функций распределения вероятностей, — за 2,5 часа было выполнено 250 тысяч операций и получено 585 значений с точностью до 5-го знака. В то время это был самый мощный компьютер в континентальной Европе.

Разработанные Лебедевым основы построения ЭВМ без принципиальных изменений используются и в современной вычислительной технике. Теперь они общеизвестны:

1) в состав ЭВМ должны входить устройства арифметики, памяти, ввода-вывода информации, управления;

2) программа вычислений кодируется и хранится в памяти подобно числам;

3) для кодирования чисел и команд следует использовать двоичную систему счисления;

4) вычисления должны осуществляться автоматически на основе хранимой в памяти программы и операций над командами;

5) в число операций помимо арифметических вводятся логические — сравнения, условного и безусловного переходов, конъюнкция, дизъюнкция, отрицание;

6) память строится по иерархическому принципу;

7) для вычислений используются численные методы решения задач.

После МЭСМ началась разработка специализированной ЭВМ (далее — СЭСМ) для решения систем алгебраических уравнений (главный конструктор З.Л. Рабинович). Основные идеи построения СЭСМ выдвинул С.А. Лебедев. Это была его последняя работа в Киеве. Впоследствии специализированные ЭВМ (различного назначения) стали важным классом средств вычислительной техники. Это еще раз говорит о прозорливости ученого, выдвинувшего идею специализации ЭВМ на заре их создания.

13.5. Компьютерное шифрование

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

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

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

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

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

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

В то время компьютерное шифрование ограничивалось только тем кругом лиц, у кого имелись компьютеры: сначала это были правительственные и военные учреждения. Однако ряд научных открытий и инженерно-технологических достижений сделали компьютеры и компьютерное шифрование намного более доступными. Так, в 1947 году американской компанией «AT&T Bell Laboratories» был создан транзистор — дешёвая альтернатива электронной лампе.

Использование компьютеров для решения промышленных и коммерческих задач стало реальностью в 1951 году, когда компания «Ферранти» (англ. Ferranti) начала изготовлять компьютеры на заказ. В 1953 году компания «IBM» изготовила свой первый компьютер, а через 4 года она же создала язык программирования «Фортран» (англ. Fortran — сокращение от «Mathematical Formula Translating System» — система трансляции математических формул), что позволило рядовым гражданам «писать» компьютерные программы. А появление в 1959 году первых интегральных схем вообще определило начало новой эры мировой компьютеризации.

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

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

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

Одним из наиболее известных и признанных алгоритмов компьютерного шифрования и кандидатом на стандарт был продукт компании «IBM», известный как «люцифер» (лат. Lucifer — светоносный). Он был создан Хорстом Файстелем (англ. Horst Feistel, 1915-90), немецким эмигрантом, приехавшим в Америку в 1934 году. Файстель уже вот-вот должен был получить гражданство США, когда Америка вступила в войну, и это привело к тому, что он находился под домашним арестом вплоть до 1944 года. После этого он еще несколько лет скрывал свой интерес к криптологии, чтобы не вызывать подозрения у американской власти.

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

В 1960-х годах Файстель перешёл в компанию «Mitre Corporation», но АНБ продолжало «давить» на него и опять заставило его бросить свою работу. В конечном итоге Файстель оказался в исследовательской лаборатории Томаса Уотсона компании «IBM» неподалёку от Нью-Йорка, где в течение нескольких лет мог беспрепятственно продолжать свои исследования. Там в начале 1970-х годов он и создал криптоалгоритм «люцифер».

Национальным Бюро Стандартов США «люцифер» был официально принят 23 ноября 1976 года (патент США № 3958081) как первый в мире открытый национальный стандарт криптоалгоритма для внутреннего применения под названием «DES» (англ. Data Encryption Standard — стандарт шифрования данных). Он был «блочным шифром» (когда информация обрабатывается блоками фиксированной длины) и имел ключ (то есть элемент обеспечения секретности шифра) — число длиной 56 бит, дающее 255 вариантов ключей.

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

Гарантией стойкости алгоритма «DES» было время последовательного перебора комбинаций ключа длиной 56 бит не менее 100 лет непрерывного машинного вычисления суперкомпьютером «Cray-І». Однако за время, прошедшее после создания «DES», компьютерная техника развилась настолько быстро, что оказалось возможным осуществлять исчерпывающий перебор ключей и тем самым «раскрывать» шифр. Стоимость такой атаки постоянно снижается. Так, в 1998 году была построена машина стоимостью около 100 тысяч долларов, способная по паре «исходный текст — шифрованный текст» восстановить ключ за среднее время в трое суток.

Последний раз «DES» был раскрыт 9 января 1999 года за 22 часа 15 минут. С тех пор, насколько известно, попытки не повторялись, но понятно, что количество потраченного времени может только уменьшаться. Поэтому в настоящее время симметричный шифр считается стойким, только если длина его ключа не менее 128 бит. Через экспонентный характер р