Михаил Масленников - Криптография и свобода
Только отношение к начальникам теперь стало уже совсем другое. Исчез священный трепет перед генералами, они, вон, сами теперь, после своего выступления «мимо цели» во время путча, попрятали головы в песок, разом спала спесь и надутость, заговорили человеческим языком: «Надо развивать коммерческую криптографию, вы же умные ребята, надо бороться за рынки, за заказчиков». Эка их понесло! Это, наверное, напугали слухи о том, что разгонят контору под горячую руку, тогда придется и о хлебе насущном подумать. В открытую стало поддерживаться создание подконтрольных коммерческих фирм и заключение с ними от лица Спецуправления различных договоров, сулящих финансовые дивиденды. Пошел стихийный раздел рынка сбыта криптографической продукции…
Ровно в полночь на стрелку слетелась братваПродинамить никто не решилсяПеретерли вопрос про четыре ларькаНо консенсус пока не сложился…[1]
Но где-то примерно к маю 1992 года испуг прошел, новое демократическое правительство вывело всю шифровальную службу из системы КГБ (уже переименованной к тому времени), обозвало ее ФАПСИ – федеральное агентство правительственной связи и информации – и посадило во главе ФАПСИ такого директора, в котором недоразбежавшиеся офицеры Спецуправления сразу же почувствовали твердую руку, способную навести порядок и выправить допущенные за последние полгода перегибы и искривления Генеральной линии. Он сразу же получил прозвище «папа». А уж в коммерческой криптографии политика стала совсем ясной и понятной. Как там говорил медведь из детской сказки?
– Все шишки в лесу – мои!
Глава 2. Криптоцентр
– Толя, я не знаю в Спецуправлении ни одного человека, который бы хорошо о тебе отзывался.
Славик был опытным человеком, успел побывать советником в Афганистане и сейчас работал в нашем отделении. А говорил он так о К., инженере тоже из нашего отделения, но человеке достаточно странном и уж явно не из выпускников 4 факультета.
Где-то в 85 или в 86 году молодые ребята во главе со Славой решили сделать шифратор на базе портативного микрокалькулятора «Электроника МК-85», который серийно выпускался на заводе «Ангстрем» в Зеленограде. Какую выбрать криптосхему для такого шифратора, учитывая, что ресурсы калькулятора (память и скорость процессора) крайне ограничены? Само собой разумеется, что не американо-советского крокодила DES-ГОСТ, это все равно, что двигатель от танка пытаться в горбатый «Запорожец» поставить. Они пришли в Теоретический отдел (в то время я еще был там), где им рассказали про шифратор «Ангстрем-3» и как в нем нужно выбирать параметры. Эта схема их вполне устроила и модернизированный «Ангстрем-3» лег в основу программы, предназначенной для реализации с помощью калькулятора «Электроника МК-85». Эту программу надо было записать в ПЗУ калькулятора вместо серийной программы, предназначенной для бытовых целей. Запись и перепайка серийного ПЗУ была возможна только в заводских условиях, да и к тому же немного изменился дизайн и название клавиш на панели, поэтому нужен был человек, который возьмет на себя эту гнуснейшую функцию: связь с советским заводом конца 80-х годов.
Таким «заводским толкачом» стал К., человек, не имевший специального криптографического или математического образования, не бывший никогда офицером, но обладавший иными качествами, которые мне, к сожалению, пришлось познать позже на своем горьком опыте. А по части отношений с людьми Слава был намного опытнее меня, но его словам о К. я, к сожалению, не придал тогда значения.
Модернизированный калькулятор назвали «Электроника МК-85 С». Он уже не выполнял никаких функций калькулятора, но в него можно было ввести секретный ключ длиной 100 десятичных цифр и с его помощью осуществлять симметричное зашифрование и расшифрование текстовой или чисто цифровой информации, вводимой с клавиатуры, а шифровка или открытый текст высвечивались на экране. Никакие периферийные устройства, кроме сетевого адаптера, к этому калькулятору не подключались.
Этими калькуляторами изначально предполагалось оснастить Советскую Армию, где долгое время использовались очень громоздкие и неудобные переговорные таблицы, предназначенные для засекречивания переговоров на низовых уровнях: отделение, взвод, рота. Но постепенно планы использования «Электроники МК-85 С» все разрастались и потребовалась программная реализация этого калькулятора на персональном компьютере, а также программная система для выработки секретных ключей к калькулятору.
К. был в нашем отделении и, следовательно, формально находился у меня в подчинении. Но он не был офицером, к тому же подробности его работы «заводским толкачом» мне были абсолютно неинтересны, они, как я понял позже, сводились в основном к шушуканью с «нужными» людьми, не всегда, естественно, бескорыстному. Как специалист он был никакой, не мог сам написать или даже грамотно проверить написанную кем-то программу, о криптографии имел представление на уровне солдата из части радиоперехвата, где когда-то служил и, по его словам, красил траву перед приездом в часть генералов-начальников 8 ГУ КГБ. Но у него были те качества, которыми не обладало большинство людей в Спецуправлении: пронырливость, хитрость, жадность, легкость, с которой он раздавал направо-налево различные обещания, а потом обязательно под разными предлогами обманывал связавшихся с ним людей, полное отсутствие такого понятия, как честь и доброе имя в глазах окружающих. На понимание этих простых житейских фактов у меня, к сожалению, ушло несколько печальных лет общения с этой мерзкой личностью.
Но поначалу мне даже нравилась его активность. К. выделялся из общей полусонной массы людей, всегда куда-то спешил, был все время «при деле», производил впечатление делового человека, полного грандиозных замыслов. Казалось, сам бог велел мне попробовать вылезти из КГБшного инкубатора через общение с ним. Какое мне дело до его темных сторон, программировать я научился, теперь пора учиться свои программы рекламировать и продавать, чтобы они не оставались «вещью в себе», а реально работали и приносили взаимное удовлетворение разработчику и потребителю.
Первыми на свет божий появились программные реализации калькулятора «Электроника МК-85 С» и системы выработки секретных ключей к нему. На идею программы выработки секретных ключей меня натолкнули женщины нашего отделения. В Спецуправлении работали, в основном, мужчины, и для того, чтобы коллектив не становился чрезмерно «мужским», начальство старалось в каждой рабочей комнате держать по крайней мере одну женщину. Их функции сводились, в основном, к техническим операциям: подготовкам отчетов, программированию каких-то простых задач и, естественно, раздаче продовольственных заказов, соблюдению очередности дежурства «по заказам» и тому подобное. С появлением компьютеров их основным времяпровождением в нашем отделении стала одна из самых первых и очень популярных компьютерных игр TETRIS. Но ведь это же готовый генератор случайных чисел! Моменты времени при нажатии на клавиши во время игры – это и есть случайная последовательность, которую можно использовать для генерации секретных ключей для «Электроники МК-85 С».
Сказано – сделано. Несложно было подготовить простенькую программку, которая фиксировала моменты времени при нажатии на клавиши и затем я, руководитель отделения, стал просить женщин в рабочее время играть в TETRIS: для проверки генератора надо было набрать статистику вырабатываемых знаков и просчитать ее характеристики. Просчитали: все нормально, практически случайное и равновероятное распределение.
Но все-таки калькулятор «Электроника МК-85 С» был весьма примитивным устройством, разрабатываемым для низовых звеньев Советской Армии. Его первоначальная программная реализация тоже не отличалась богатством функциональных возможностей: зашифровать и расшифровать, результат выдать на экран, такие программы для меня уже были неинтересны. Ведь возможности компьютера позволяли реализовывать практически все мыслимые в то время криптографические фантазии, я уже почувствовал вкус к программированию, к хорошему и удобному интерфейсу, была огромная жажда сделать что-то свое, нетривиальное, но в то же время понятное для пользователя, даже самого непросвещенного в криптографии. Например, используя в качестве прототипа популярный интерфейс типа Norton Commander, сделать систему шифрования и электронной подписи файлов, заложить туда возможности как симметричного, так и асимметричного шифрования, ввести систему выработки секретных и открытых ключей, а также учет использования криптографических функций. Такую систему естественно было назвать Криптоцентр.
Это был конец 1991 года. Жуткое время: магазины пустые в самом что ни на есть прямом смысле этого слова, вечно полуголодное состояние, что будет впереди – непонятно, КГБ, называемое теперь по-другому, но сохранившее все прежние порядки, надоело до чертиков. Надежда только на компьютер, даже скорее не надежда, а почти религиозная вера в него, в его возможности, в то, что когда-нибудь с его помощью удастся вырваться на волю, ощутить себя свободным человеком, не думающим только о том, где и как достать, раздобыть, урвать то, что жизненно необходимо человеку. И вспоминать пережитое, как страшный, кошмарный сон.