Category: наука

Category was added automatically. Read all entries about "наука".

Криптография и свобода. Пятилетка пышных похорон. Глава 6. IBM PC XT.

 
Глава 6
IBM PC XT
 
Все, цель достигнута, пора осмотреться и подумать, что же дальше. Высшая школа КГБ мне нравилась, несмотря на все изменения, произошедшие в ней за последние годы. Ведь не начальники определяют ее лицо, а слушатели, те ребята, ради которых она и существует. Отбор идет очень строгий, поэтому коллектив подбирается, как правило, очень сильный. С такими ребятами интересно общаться, читать им лекции, спорить, состязаться в остроумии и смекалке, да и примеры прекрасных преподавателей перед глазами. Это не то, что в Теоретическом отделе, доказывай абстрактные теоремы с 9 до 6 вечера, быстро превращаясь в закостеневшего чинушу, думающего только о карьере. Возможность сравнивать была, почти по три года я пробыл в отделе у Степанова и в Высшей школе, и вывод однозначный: вся обстановка, отношения между людьми, характер преподавательской работы на 4 факультете для меня предпочтительнее, чем в 8 управлении КГБ. Кафедра криптографии готова была взять меня после окончания аспирантуры на преподавательскую работу…
 
-          Назад!
 
Я был офицером, который безоговорочно обязан подчиняться приказам. Но можно приказать солдату рыть траншею, а как приказать математику придумывать и доказывать теоремы? Разве применим приказ, грубый нажим, граничащий с насилием, там, где речь идет о творческой работе, о поисках новых нетривиальных методов, о нестандартных подходах? Не будет ли в таком случае обратного результата?
И этот приказ исходил от Степанова, умнейшего человека, которого я очень уважал, как ученого. Но он был еще и жестким человеком. Хорошо это или плохо – вопрос спорный, может быть в каких-то ситуациях жесткость администратора и необходима, но в данном случае он затащил меня назад, к себе в отдел даже не спросив моего мнения, с помощью грубой силы приказа, как отступника от идеи «патриотизма к отделу», как диссидента, которого надо наказать, чтобы другим неповадно было. Это – стиль работы, на который наложила свои отпечатки вся история ВЧК-КГБ. Не хочешь – заставим: хоть канаву копать, хоть теоремы доказывать, при Сталине многие так работали. Была ли в таком приказе какая-то производственная необходимость? Вот уж вряд ли! Это, скорее, был результат каких-то внутриотдельских интриг, желание мелких начальничков, рангом пониже Степанова, не упустить случая и проучить строптивого молодого человека, не пожелавшего делать себе карьеру «как все», показать ему «истинные ценности», преподать наглядный урок на тему «Машина и винтики». Но Степанов был начальником отдела, командиром, администратором, без его собственного мнения такой приказ никогда бы не появился. И он поддерживал идею безоговорочного «патриотизма к отделу», помимо мелких начальничков он и сам приложил свою руку к тому, чтобы насильно затащить меня обратно и как следует проучить за строптивость. Не хочет винтик вворачиваться – советский слесарь по нему кувалдой!
 
-          Диссертация – это твое личное дело. Здесь теперь тебе нужно начинать все сначала, завоевывать авторитет, доказывать, что ты достоин нашего отдела.
 
Интересная теория! Насильно затащили назад в это тюремное здание, а потом я должен еще доказывать, что сам туда рвался! А ради чего? Ради этой противной «игры в начальников», когда смыслом жизни становится не интересная работа, а стремление вылезти пусть в маленькие, но начальнички, надуть побольше щеки и поглядывать свысока на своих бывших сокамерников, командовать ими.
Большая обида осталась тогда у меня на Степанова и тех, кто шептал ему на ухо, как побольнее ударить этого строптивого. Но это, как выяснилось позже, были только цветочки той системы, а какими оказались ягодки – в то время мне не могло присниться даже в кошмарном сне. Но желание получать интересные результаты пропало. Какой смысл?
Я не скрывал своего недовольства, Степанову на это было наплевать. Интересные работы над шифрами на новой элементной базе в Теоретическом отделе практически прекратились, возможно по той причине, что в вопросе о советском стандарте выбор окончательно пал на переделанный DES, которым занимались «криптографические законотворцы» из 1-го отделения. Все разумные модификации «Ангстрема-3» я предложил в своей диссертации, написанной «на стороне», будучи аспирантом-очником кафедры криптографии 4 факультета Высшей Школы, и для Степанова это был еще один аргумент в пользу родных «законотворцев». Да и хлопот при этом меньше, проще объяснить руководству Спецуправления: взяли за основу американский стандарт, своих тайн не выдаем.
А еще одной особенностью, которую я заметил, вернувшись на степановском аркане обратно в его отдел, стало заметно усилившееся внимание к системам с открытым распределением ключей. В середине 70-х годов американцы предложили два принципиально разных подхода к построению таких систем: с помощью возведения в степень в конечных полях (система Диффи-Хеллмана) и с помощью умножения больших простых чисел (система RSA, названная по первым буквам ее авторов: Riverst, Shamir и Adleman). Первые кавалерийские атаки Теоретического отдела на эти системы к тому времени закончились, отношение стало серьезнее, уже не как к «провокации американских спецслужб», а как к новому направлению в криптографии. Степанов, надо отдать ему должное, понял это одним из первых, и к моменту моего возвращения у алгебраистов отдела основным предметом споров стали преимущества и недостатки умножения больших простых чисел и возведения в степень в конечных полях. Но, в отличии от американцев, гражданская, коммерческая криптография, ради которой и создавались системы с открытым распределением ключей, по-прежнему считалась идеологически вредной.
Но это была не моя тема. Открытые ключи и строящиеся с из помощью асимметричные системы шифрования – красивейшая математическая находка, но масть легла так, что я посвятил свои научные изыскания традиционному, симметричному шифрованию, хотя и на новой элементной базе. А дальнейшая судьба шифров на новой элементной базе была туманна: с одной стороны, «законотворцы» со своим советским крокодилом – DES, одобренным сверху, а с другой – открытые ключи, становившиеся главным предметом внимания алгебраистов. Плюс ко всему – традиционные советские «балалайки», требовавшие контрольных экспертиз, особенно после того, как в них выявлялись какие-то криптографические «дыры», выпавшие из внимания 15 – 20 лет назад, в момент их создания.
 
Так, в бесцельной суете и обидах прошел год. Скучное высиживание над раскрытой тетрадкой за дежурным анализом древней «балалайки», сплетни, язвительная оценка окружающей меня действительности, осознание того, что, помимо своей воли, превращаюсь в серого чиновника, все интересы которого сводятся только к ожиданию руководящих указаний и повышений по службе. Одни и те же лица, одни и те же проблемы: кто каким начальничком вскоре станет, да кто куда намеревается уйти из отдела. Уйти из отдела – это оказывается тоже искусство, нужно заранее как следует «окучить» каких надо начальников, распустить, когда надо, слух о своем уходе из отдела, с кем надо договориться, а потом … никуда не уходить. Проверка на вшивость, нечто вроде одного из способов получить повышение по службе в своем родном колхозе.
Тоска зеленая, а что же дальше?
 
-          Степанов собирает наше отделение у себя в кабинете.
 
Опять какие-нибудь разборки местного масштаба, типа согласования новых требований к шифраппаратуре. Совершенно бредовые требования, запутывающие до предела принятую и уже долгое время использующуюся практику считать стойкость шифратора, как отношение трудоемкости к надежности. Прошлый раз это шоу вылилось чуть ли не в поименное голосование с тем, чтобы потом, лет через 5, можно было бы прочитать эти записки из сумасшедшего дома и фамилии тех, кто был его пациентами. Пациентов хватало…
 
Но на этот раз я ошибся. На столе у Степанова стояло то, чего раньше никто никогда в отделе не видел - персональный компьютер IBM PC XT. 

Collapse )

Криптография и свобода. Пятилетка пышных похорон. Глава 5. Ученый совет.

Глава 5
Ученый совет
Раз впереди замаячила защита диссертации, значит, пора устанавливать хорошие отношения с Сергеем Николаевичем, секретарем Ученого совета факультета. Про Ученый совет и его секретаря здесь надо сказать несколько слов особо.
Ученый совет – это такой специальный орган, который имеет полномочия рассматривать диссертации и ходатайствовать перед ВАК – Высшей Аттестационной Комиссией – о присуждении соискателю ученой степени кандидата или доктора тех или иных наук. Ученый совет 4 факультета имел полномочия рассматривать диссертации по двум специальностям: 20.03.04 – теоретическая криптография и 20.03.05 – инженерная криптография. Разница между этими специальностями была довольно условная, обе они были связаны с математикой и криптографией, но неофициально на практике более престижной считалось защитить диссертацию по специальности теоретическая криптография – это означало, что в ней содержатся интересные математические результаты, красивые теоремы и нетривиальные доказательства. Диссертация по инженерной криптографии содержала, как правило, какие-то важные практические результаты, возможно и не содержащие в себе математической красоты и изящества, но которые принесли уже реальную пользу. Эта специальность была очень популярна для соискателей из 16 управления КГБ, «колонувших» какой-нибудь зарубежный шифр и решивших расписать подробности его вскрытия. По специальности теоретическая криптография присваивали, как правило, ученую степень кандидата или доктора физ.-мат. наук, а по инженерной криптографии – технических наук.
Ученый совет 4 факультета состоял из ведущих советских криптографов того времени, в него входили и наиболее опытные преподаватели с кафедр математики и криптографии, а также наиболее значимые специалисты-криптографы из 8 и 16 управлений КГБ и Министерства обороны. Заседания Ученого совета проходили раз в месяц и на них рассматривались либо одна докторская, либо две кандидатских диссертации. На практике ВАК автоматически утверждал все решения Ученого совета 4 факультета, поэтому принятие на Ученом совете решения о присуждении ученой степени означало успешную защиту диссертации и окончание длинной и нудной бюрократической процедуры подготовки к ее защите.
Из трех лет, проведенных мною в очной аспирантуре, расклад был примерно такой – первый год – сдача экзаменов кандидатского минимума и получение основных результатов, второй год – написание и оформление диссертации, ну а весь третий год – подготовка к защите, сбор отзывов и рецензий, «окучивание» Сергея Николаевича, секретаря Ученого Совета. С этим человеком мне уже приходилось сталкиваться во времена учебы на 4 факультете – он читал нам на третьем курсе лекции по марксистско-ленинской философии («бытие определяет сознание») и был прозван за это Фейербахом, хотя сам по образованию был математиком, кандидатом физ.-мат. наук.
Про философские изыскания Сергея Николаевича сейчас, по прошествии стольких лет, я ничего определенного сказать не могу, многое из той славной «науки всех наук» уже бесследно исчезло из моей памяти, да если когда что-то туда и западало, то, в основном, вместе с другой философско-преферансной истиной:
 
-          Под вистующего – с тузующего, под игрока – с семерика.
 
Но это было почти 10 лет назад. Сейчас же, в 1985 году, Сергей Николаевич вернулся к своей основной специальности – математике, но общение с философией не прошло для него бесследно – он стал математическим бюрократом.
Для современного читателя будет наверняка очень скучным долгий перечень ВАКовских требований к оформлению диссертации, автореферата, рецензий и отзывов, которые Сергей Николаевич требовал скурпулезно соблюдать и в которых находил основной смысл своей деятельности. Но некоторые эпизоды из моего общения с ним, на мой взгляд, достаточно интересны, поскольку отражают ту атмосферу, обстановку в ученой криптографической среде тех лет.
Защита диссертации – это научный спор, в котором соискатель отстаивает правоту своих научных взглядов и результатов, изложенных в диссертации, а его официально утвержденные оппоненты их пристально изучают и анализируют, пытаясь найти в них ошибки, неточности, неоптимальные методы и любые иные недостатки. На Ученом совете эта дискуссия происходит уже в явном виде и по ее результатам совет выносит свое решение: присуждать или нет соискателю ученую степень. Оппоненты – это тоже живые люди, иногда на заседании совета происходили примерно такие диалоги.
 
-          В этой теореме содержится ряд неточностей, однако в личной беседе с автором…
-          Это в какой такой беседе? В ресторане, что ли?
 
Но это скорее исключение из правил. Защита диссертации – это серьезное мероприятие, а члены Ученого совета – это весьма и весьма уважаемые всеми люди. Защита диссертации почти никогда не превращалась на 4 факультете в театрализованное представление, любой соискатель должен был быть всегда готов к каким-то неожиданным вопросам, к критике, к выявленным его оппонентами ошибкам, в общем, к нормальной научной дискуссии. Так было в большинстве случаев, но на мою долю выпало один раз увидеть исключение из этого правила.
Аспирантов, всерьез помышляющих о защите диссертации, Сергей Николаевич привлекал в качестве подсобной рабочей силы для различных своих нужд: уничтожения (в печке, путем сжигания) устаревших документов, подготовке и дежурству на очередных заседаниях Ученого совета. Функции дежурного на заседании Ученого совета сводились к отметкам в специальном списке всех присутствующих и приглашенных, но, выполнив эти обязанности, дежурный затем получал возможность присутствовать на самом заседании и набираться там ума-разума, необходимого ему для подготовки к собственной защите. Несколько раз таким дежурным приходилось быть и мне, и одно дежурство было достаточно интересным.
Накануне Сергей Николаевич предупредил меня, что защищаться будет очень важный человек. Обычно на одном заседании совета рассматривают две кандидатские диссертации, а здесь – только одна. Тщательно проинструктировав, Сергей Николаевич еще раз подчеркнул особую важность завтрашнего заседания.
На следующий день, как и положено, в 8 утра, я уже был на своем боевом посту около аудитории, в которой проходили заседания совета. Почти сразу же в аудиторию зашел действительно большой человек с плакатами в руках, которые стал развешивать на доске, вместо того, чтобы, по традиции, исписывать ее мелом, дрожа от волнения. Интуитивно было ясно, что это и есть тот самый важный соискатель, я даже не просил его представиться.
Но примерно через полчаса к аудитории подошел еще один человек, почти такой же большой (нет, все же чуть поменьше), но уже безо всяких плакатов.
 
-          Вы на защиту?
-          Да
-          Разрешите, я отмечу Вас в списке.
-          Да это я сам и защищаюсь!
-          А кто же тогда плакаты развешивал?
-          Это Васька Сернов.
 
Оглядев хозяйским взглядом доску с развешенными на ней плакатами, соискатель милостиво предложил своему подручному
 
-          Ну что, пойдем, покурим!
 
Стоит ли говорить, что «черных шаров» на этой защите не было, а с мест раздавались только хвалебные замечания по адресу соискателя, возмущение его скромностью («это материалы для докторской диссертации, а не кандидатской»), предложения выдвинуть ее на Государственную премию. Лишь один оппонент, подойдя к развешенным плакатам, отважился на некоторую завуалированную критику:
 
-          Здесь были приведены очень интересные и убедительные результаты. Я бы отметил только одно: результаты первой главы были получены в 50-х годах, второй – в 60-х, третьей – в 70-х. Но это не значит, что они устарели, наоборот, прошли хорошую практическую апробацию.
 
Соискатель был, насколько мне сейчас не изменяет память, одним из советников зампреда КГБ. Биография боевая – до конца 40-х годов – истинный чекист, оперативник, а затем подался в криптографию. И вот стал, наконец, долгожданным кандидатом технических наук!
Но перед своей собственной защитой я все же сильно волновался. Как отнесется Ученый совет к такому сравнительно молодому (28 лет) соискателю, когда многие другие соискатели годами мучаются с диссертацией? Как, наконец, отнесется ко мне такой член Ученого совета, как Вадим Евдокимович Степанов, который перед моим уходом в очную аспирантуру предсказывал, что мне вряд ли удастся там защититься? Что скажут оппоненты?
Но все страхи оказались напрасными. Защита диссертации прошла успешно, никто не мог ничего сказать против логарифмических подстановок и метода кратной транзитивности для анализа шифров типа «Ангстрем-3». Многие вопросы, связанные с шифрами на новой элементной базе, прояснились. Подстановку p в шифрах типа «Ангстрем-3» нужно ставить до, а не после операции сложения с ключевыми знаками входного слова – в этом случае не будет того катастрофического упрощения уравнений зашифрования/расшифрования, которое привело к краху «Ангстрема-3» при Т=16. Точек съема с основного регистра надо выбирать не три, а четыре, а функцию усложнения использовать не х128, а х1278. Длину же Т, при которой практически перестают работать методы, основанные на 2-транзитивности, следует выбирать порядка 40.
«После защиты диссертации устраивай банкет» - гласит одно из основных неписаных (хотя в нашей аспирантской стенгазете оно было прописано явно) правил. А как же начавшаяся недавно удалая антиалкогольная кампания, с ее «обществами трезвости» и «безалкогольными свадьбами»? Несколько слушателей 4 факультета, ради прикола, решили в общежитии «отметить» выход в свет антиалкогольного Указа Горбачева-Лигачева. Ребята явно не отдавали себе отчета в том, на какой риск они идут, ведь общежитие – общее, они жили там вместе с «истинными» чекистами. Их моментально заложили и уже на следующий день в 24 часа все были отчислены с факультета.
Этот Указ был опубликован в газетах сразу после 9 мая 1985 года и вступал в силу с 1 июня, т.е. с этого времени партия приказывала всем коммунистам «завязать». Но в мае, до 1 июня, этот партийный приказ еще не вступил в силу, хотя на желающих 30 мая, в день моей защиты, принять участие в «небезалкогольном» банкете по этому случаю уже тогда, заранее, могли посмотреть слишком трезвым взглядом. По крайней мере, примерно такие разъяснения я услышал от начальника кафедры криптографии. Но все же большинство моих аспирантских знакомых и друзей, с которыми довелось нести боевую службу все эти три аспирантских года, от вступления в общество трезвости воздержались. Доктора и кандидаты криптографических наук, как революционеры-подпольщики тайно собираются у меня на квартире в тесной комнатушке. На маевку. Пролетарии всех стран, соединяйтесь!

Collapse )

Криптография и свобода. Пятилетка пышных похорон. Глава 3. Логарифмические подстановки. Часть 1.

 
Глава 3
Логарифмические подстановки
                В этой главе давайте отложим в сторону лирические и понятные всем отступления про обстановку в стране в то время. Мои рассуждения об этом субъективны, кто-то может соглашаться с ними, кто-то, наоборот, считать те времена образцом для подражания на фоне современной криминализации страны. В этой книге я старался следовать криптографически-философскому принципу Шеннона: в шифре чередовать не похожие друг на друга операции перемешивания и сдвига. В качестве операций сдвига – главы, отображающие общую ситуацию в СССР и в КГБ в те, теперь уже далекие времена, а в роли перемешивания выступают главы, в которых много говорится о математике, криптографии или программировании. Сейчас начнется очередная «перемешивающая» глава.    
                Шифратор «Ангстрем-3» был построен в полном соответствии с этим принципом Шеннона: регистр сдвига над Z/256 (операции сдвига), усложненный подстановкой из S256, типичным перемешивающим преобразованием. Перемешивающее преобразование дает столь необходимое в криптографии размножение различий в блоках открытого текста. В общефилософских книгах по криптографии, типа упоминавшейся выше книги Брюса Шнайера «Прикладная криптография», употребляется даже термин «лавинный эффект». Вот соответствующая цитата оттуда.
«… Это называется лавинным эффектом. DES спроектирован так, чтобы как можно быстрее добиться зависимости каждого бита шифртекста от каждого бита открытого текста и каждого бита ключа.»
 
                Насколько я представляю себе DES, нигде, ни в одной книге, не было дано точных математических оценок этого «лавинного эффекта». DES так спроектирован и все. А почему он так спроектирован? Остается лишь догадываться, да строить статистические эксперименты, которые подтверждают: да «лавинный эффект» безусловно есть.
                Вся прелесть «Ангстрема-3» в том, что в нем для оценки подобного «лавинного эффекта» на 4 факультете и в Спецуправлении еще в конце 70-х годов был разработан строгий математический аппарат, опирающийся на алгебру, на теорию групп, колец и полей. Об этих результатах я уже упоминал в предыдущей главе, посвященной шифрам на новой элементной базе, вот, вкратце, их суть.
 
1.       В шифрах, использующих операции в кольце Z/256 и подстановки p из S256, лавинный эффект определяется матрицей частот встречаемости разностей переходов ненулевых биграмм P(p) размера 255x255.
2.       Лавинный эффект будет тем лучше, чем меньше нулей в этой матрице. Хорошими следует считать такие подстановки, матрицы которых, возведенные в квадрат, не содержат нулей.
3.       При случайном и равновероятном выборе подстановки из всей симметрической группы S256, общее количество подстановок в которой составляет огромную величину 256! – произведение всех чисел от 1 до 256, вероятность выбрать хорошую подстановку стремится к 1.
4.       Существуют примеры самых плохих подстановок, это линейные подстановки.
5.       Теоретически подсчитано минимально возможное количество нулей в матрице P(p).
 
Вопрос же о том, существуют ли подстановки с минимально возможным числом нулей в матрице P(p), оставался открытым до конца 1983 года.
 
*****
 
-          Работайте дома. Если Вы будете часто здесь появляться, то диссертации не напишите.
 
Так напутствовал меня мой научный руководитель Б.А., который сам заканчивал 4 факультет в числе первых его выпускников, а сейчас уже защитил докторскую диссертацию и жил в мире групп, колец и полей. Это был бальзам на мою душу! Нет этого бессмысленного высиживания до 6 часов вечера, пустых разговоров ни о чем, нет смертельно опасной столовой-травиловки. Мысли раскрепощены, нет интеллектуального насилия, все проблемы, казавшиеся неразрешимыми, вдруг как-то сами стали успешно разрешаться. А что за проблемы?
Итак, мои творческие планы связаны с шифрами на новой элементной базе. Это новая тема и непаханое поле для деятельности. Основное отличие этих шифров от традиционных балалаек – наличие в них подстановки (или даже нескольких подстановок) из S256. Эти подстановки определяют криптографические качества шифров, они же дают возможность строить очень простые и высокоскоростные схемы, поэтому фундаментальные исследования шифров на новой элементной базе нужно начинать с изучения подстановок. Нужно постараться получить наиболее полную картину их свойств, ответить на типовые вопросы, например:
 
-          какие подстановки считать приемлемыми, а какие неприемлемыми для использования в шифрах на новой элементной базе и почему;
-          как описать какие-то особенные классы подстановок и в чем будет их особенность;
-          как лучше использовать подстановку в схеме, где ее целесообразнее расположить и почему;
 
И, наконец, надо попробовать дать ответ на конкретный практический вопрос: а что же делать со схемой «Ангстрем-3»? Как ее модернизировать, чтобы, сохранив простоту и высокую скорость реализации, обеспечить гарантированную стойкость?
Когда я поведал о своих замыслах Б.А., он сразу же стал пытаться приделывать к подстановкам теорию групп. Он витал в групповых облаках, а моей задачей было приземлять его фантазии на грешную подстановочную землю. И, в общем, такой дуэт оказался достаточно успешным.
Для начала мы попытались описать какой-нибудь класс подстановок p, для которого было бы гарантировано, что показатель 2-транзитивности множества Gp минимален и равен 3. Я надеюсь, что читатель припоминает упоминавшуюся ранее в этой книге матрицу частот встречаемости разностей переходов ненулевых биграмм P(p) и условие достижения 2-транзитивности за 3 шага: эта матрица, возведенная в квадрат, не должна содержать нулей. Я пытался описать класс подстановок, у которых полностью ненулевые средние строка и столбец, наличие такого «креста» дает гарантию того, что квадрат матрицы будет полностью положительным, без нулей. Б.А. сразу же стал пытаться найти и пристроить к этой ситуации какие-то аналогии из известных ему экзотических групп. Несколько попыток оказались безрезультатными и моей задачей было обоснование того, что этот класс групп совсем непригоден. Своего рода тотальное опробование всех подстановок, каким-то пусть даже косвенным образом связанных с изначальными. Б.А., как умудренный опытом рыболов, выискивал места, где могли водиться хорошие подстановки, а я закидывал в этих местах свою блесну.
И вот однажды клюнула такая подстановка, о которой даже сейчас, спустя 20 лет, я вспоминаю с нескрываемым удовольствием. Читатель, наверное, помнит про мое обещание привести один очень красивый результат про подстановки с минимальным числом нулей в матрице P(p). Настало время исполнить обещанное.
Пусть N – такое число, что N+1 – простое, q - примитивный элемент в поле Галуа GF(N+1), т.е. образующий элемент циклической мультипликативной группы этого поля.
Пусть p - преобразование множества Z/N вида:
 
p(х) = logq(qx+rÅr), еслиqx+rÅr¹0,
p(х) = logqr, еслиqx+rÅr=0,
 
где r - произвольный ненулевой элемент поля GF(N+1), r – произвольный элемент из Z/N, Å - операция сложения в поле GF(N+1). Тогда преобразование p является взаимно-однозначным на множестве Z/N, т.е. является подстановкой из симметрической группы SN.
Это утверждение достаточно очевидно, поскольку q - примитивный элемент поля GF(N+1), т.е. множество значений q,q2,…,qN совпадает со множеством {1,2,…,N} – мультипликативной группой поля GF(N+1), а логарифмирование – операция, обратная возведению в степень. Все проблемы с нулем подправляются вторым условием: p(х) =logqr, если qx+rÅr=0.
Такие подстановки естественно назвать логарифмическими, а точку х0, при которой p0) = logqrвыколотой точкой логарифмической подстановки p.
Здесь и всюду далее нам будут встречаться два разных типа арифметических операций сложения и вычитания: в кольце Z/N и в поле GF(N+1). Операции в кольце Z/N будем обозначать обычными символами “+” и “-“, а операции в поле GF(N+1) – Å  и ㊀ соответственно.
 
Теорема 1.
Пусть p – логарифмическая подстановка, х1¹х2, х12ÎZ/N, i – произвольный ненулевой элемент кольца Z/N. 
Тогда если ни одна из точек х1+i,x12+i,x2 не является выколотой, то p1+i)- p(x1)¹ p2+i)- p(x2).
Доказательство.
Предположим, что p1+i)- p(x1)= p2+i)- p(x2), тогда qp(х1+i)- p(x1)=qp(х2+i)- p(x2).
Поскольку все точки не являются выколотыми, то отсюда вытекает, что (qх1+i+rÅr)(qх2+rÅr)=(qх2+i+rÅr)(qх1+rÅr).
Раскрывая скобки и сокращая одинаковые члены в левой и правой частях равенства, получаем
 r (qx1+i+rÅqx2+r)= r(qx2+i+rÅqx1+r)
Поскольку r - ненулевой элемент, то отсюда вытекает, что
qx1+r(qi㊀ 1)= qx2+r(qi㊀ 1)
Поскольку i – произвольный ненулевой элемент Z/N, а q - примитивный элемент GF(N+1), то qi¹1, откуда вытекает, что х12.■
 
Теорема 2. Пусть p – логарифмическая подстановка.
Тогда для любого ненулевого значения iÎZ/N\{0} из условия, что ни одна из точек x, x+i не является выколотой вытекает, что p(х+i)- p(x) ¹ i.
Доказательство.
Пусть p(х+i)- p(x) = i. Тогда qp(х+i)- p(x)= qi, откуда qx+r+iÅr=qi(qx+rÅr), следовательно, r=rqi. Отсюда следует, что i=0. ■
 
Раскинулось поле широко! Операции возведения в степень и логарифмирования в конечном поле позволили ловко избавиться от неопределенности в разности значений подстановки и легко, просто элементарно решить задачу построения матрицы P(p) с минимальным числом нулей. Заметим, что если в определении логарифмических подстановок отказаться от условия, что r - произвольный ненулевой элемент поля GF(N+1), то при r=0 мы получаем обычные линейные подстановки, у которых число нулей в P(p) максимально!
Осталось совсем чуть-чуть: разобраться с выколотой точкой.
Для произвольного ненулевого фиксированного iÎZ/N рассмотрим отображение множества Z/N в Z/N вида:
mi(х) = p(х+i)- p(х),
где p - логарифмическая подстановка. Тогда, в силу теоремы 1, количество различных значений в множестве {mi(х), xÎZ/N\{x0,x0-i}}равно мощности этого множества, т.е.N-2, причем, в силу теоремы 2, это множество в точности совпадает с {Z/N\{i}}. В частности, при любом i¹N/2 существует такое значение х,
xÎZ/N\{x0,x0-i}, что mi(х)=N/2.  
Теорема 3. Пусть p – логарифмическая подстановка.
Тогда если при некотором i¹N/2 в i-ой строке матрицы P(p) справедливо piN/2>1, то эта строка не содержит нулевых элементов.
Доказательство.
В силу теоремы 2 достаточно доказать, что pii¹0. Условие piN/2>1означает, что либо mi0)=N/2, либо mi0-i)=N/2. Зафиксируем то, которое равно N/2, а другое оставшееся значение обозначим через m. Суммируя, как и ранее мы уже делали в этой книге, значения mi(х) по всем xÎZ/N, получаем:
N/2(N-1) – i + m + N/2 = 0.
Отсюда вытекает, что m=i, следовательно, pii¹0. ■
 
По коням! Пора заняться средней строчкой.
Начнем с самого любимого элемента – pN/2,N/2. Ранее мы уже отмечали, что этот элемент должен быть всегда четным (рассуждения для случая N=2n легко обобщаются для произвольного четного N). Следовательно, в логарифмической подстановке возможны только два значения pN/2,N/2: 0 или 2. Допустим, что pN/2,N/2=2. В силу теоремы 2 эти значения может давать только выколотая точка x0 и x0+N/2, т.е. 
p0+N/2)- p0)= p0+N/2+N/2)- p0+N/2)= p0)- p0+N/2)=N/2.
Отсюда вытекает, что 2p0+N/2)=2p0).
Рассмотрим два случая.
1.       r=1, следовательно, p0)=0. Тогда p0+N/2)=N/2. Имеем:
qp(х0+N/2)= qN/2Þ qx0+N/2+rÅr=qN/2 Þ qN/2(1㊀ qx0+r)= rÞ qN/2(1År)= rÞ 2qN/2 = 1.
Возводя обе части последнего равенства в квадрат и учитывая, что qN=1, получаем такое равенство возможно только в тривиальном поле из 3 элементов.
2.       r¹1, следовательно, p0) =N/2, p0+N/2)=0, откуда
qp(х0+N/2)= 1Þ qx0+N/2+rÅr=1Þ r(1㊀ qN/2)= 1Þ qN/2= 1㊀ r-1.
Возводя это равенство в квадрат, получаем значение r:
r=2-1
С учетом условия p0) =N/2 получаем: logq2-1 = N/2, откуда 2-1 =qN/2Þ2-2 =1. Такое также возможно только в тривиальном поле из 3 элементов.
Следовательно, во всех реальных практически значимых случаях pN/2,N/2=0. Тогда найдется по крайней мере одна строка i, в которой pN/2,i³2, и по теореме 3 в ней не будет нулей. Общее число нулей в такой матрице, с учетом уже упоминавшейся ее симметричности, будет равно N-3. Это минимально возможное количество нулей и оно оказалось достижимым!
Заметим, что подстановка, обратная к логарифмической, также будет логарифмической. Действительно, если p(х) = logq(qx+rÅr), то qp (х)= qx+rÅr, откуда
х= logq(qp (х)-rÅr1), где r1 = (㊀ r)q-r. Следовательно, p-1p(х) = logq(qp (х)-rÅr1). При этом qp (х)-rÅr1=(qx+rÅr)q-rÅr1=qx ¹ 0. Для случая х=х0 справедливо: p0)= logqr, при этом qx0=(㊀ r)q-r, откуда х0 = p-1p0) = logq((㊀ r)q-r) = logqr1

Collapse )

Криптография и свобода. Колея. Глава 4. Шифры на новой элементной базе.

 
Глава 4
Шифры на новой элементной базе
 
                Про шифры на новой элементной базе я уже несколько раз упоминал в этой книге, но в основном абстрактно: были заложены основы, велись теоретические разработки. А как пощупать их руками? Что в них было действительно нового?
                Здесь надо немного окунуться в ту «докомпьютерную» эпоху. Что такое микропроцессор – представление об этом было весьма расплывчатое. Что-то такое, что реализовано с помощью никому тогда не ведомого процессора, но только очень маленького, размером с копеечную монету. Живьем микропроцессор мало кто видел, только общие сведения: способен выполнять некоторые операции с двоичными векторами, достаточно быстро по сравнению с типовыми логическими элементами. Один раз, еще в Высшей Школе КГБ, нам, рассказывая про микропроцессоры того времени, сказали, что их стоимость сравнима со стоимостью золота, сопоставимого по весу с микропроцессором.
                Сначала, как только я пришел на работу в отдел Степанова, там загорелись идеей создать специализированный криптографический процессор, ориентированный на выполнение определенных криптографических преобразований. Что это должны быть за преобразования – тоже не было единого мнения. Преобразования для системы с открытым распределением ключей? Или для симметричного шифрования, без которого система с открытым распределением ключей теряет всю свою эффективность? В общем, начальный период создания криптографического процессора прошел в абстрактных криптографических спорах, которые были спущены на грешную землю одним простым вопросом, заданным спорщикам инженером, приглашенным из Зеленоградского завода Ангстрем, на котором предполагалось изготавливать эти процессоры:
 
                - А какой толщины должен быть слой лакового покрытия вашего процессора?
 
                Все криптографы сразу же выпали в полный осадок. Ответить на вопрос о толщине слоя лакового покрытия никто не смог, абстрактный криптографический процессор, рожденный в умах теоретиков, так там и остался.
                Но идеи шифров, реализуемых с не с помощью какого-то надуманного криптографического микропроцессора, а с помощью начинавших появляться в то время самых обычных микропроцессоров для портативной бытовой электроники, оказались весьма живучими. Все очень просто: есть выпускаемые промышленностью микропроцессоры, выполняющие стандартные арифметические операции, их производительность невелика, но они очень дешевы. Задача криптографов - приспособить эти стандартные процессоры для выполнения криптографических преобразований. Не гора должна идти к Магомету, а Магомет к горе.  
Однажды к нам в гости пожаловали ребята из НИИ Автоматики. Это был один из ведущих институтов Министерства радиоэлектронной промышленности, который занимался разработкой шифрующих устройств и в котором работало много выпускников 4 факультета. В теории 8 управление КГБ должно было выполнять только экспертные функции, разработку шифраторов должна была проводить промышленность, но в реальной жизни все тесно переплеталось, наш отдел постоянно выдавал какие-то идеи для новых схем, масса людей писала на этом диссертации, поэтому провести четкую грань между разработкой и экспертизой часто было невозможно.
Эти ребята тоже занимались разработкой шифров на новой элементной базе. Но они были практиками, для них первичным было «железо», реально существующие в то время микропроцессоры, под которые надо было придумать криптосхему, в которой все преобразования осуществляются не с традиционными битами, а сразу с байтами, 8-мерными двоичными векторами.
 
-          Мы постарались придумать максимально простую для реализации криптосхему. Вы можете прикинуть оценки ее стойкости?
 
Ребята молодые, может быть старше меня года на 3 - 4. Один из них уже начальник сектора, пишет диссертацию. Эта тема – шифры на новой элементной базе – интересует многих. На 4 факультете кафедра математики подготовила два солидных отчета о проведенных исследованиях по аналогичной теме, несколько человек уже защитились. Новое, перспективное направление, что же оно из себя представляло?
Здесь я вынужден извиниться перед читателем этой книги, не имевшим ранее никаких дел с математикой. Сейчас придется немного залезть в теорию групп и теорию подстановок, со своими специфическими терминами: симметрическая группа, циклическая подстановка, свойство 2-транзитивности и т.п. Может быть неискушенный читатель пробежит эту часть «по-диагонали», не вдаваясь особо в подробности и не забивая себе в голову всех этих премудростей. Но в математике, как и в любой другой области науки, иногда удается получить красивый результат, и, чтобы оценить его красоту, надо немного вникнуть в детали, подробности, предшествующие его получению. Так что читатель, окунувшийся в начинающиеся ниже математические дебри (не такие уж и сложные, как может показаться на первый взгляд!), в конце концов будет вознагражден одной красивой «изюминкой». 
Большинство традиционных электронных шифраторов реализовано с помощью «балалаек», работающих с битами. В этих «балалайках» в ячейки регистра сдвига могут быть записаны только два элемента – 0 или 1, такой регистр сдвига называется регистром сдвига над полем GF(2) - полем Галуа из двух элементов. Операции с битами тоже весьма простые: сложение и умножение по модулю 2, а также отрицание. Все методы анализа подобных «балалаек» ориентированы на двоичные операции, на операции в поле GF(2).
Если же мы вместо битов переходим к байтам, то появляется много нового. Традиционные операции с байтами можно осуществлять несколькими способами. Например, сложение и вычитание могут быть с переносом или без переноса, т.е. или это будут операции в кольце вычетов по модулю 256, или покоординатное сложение бит. Но самое интересное обобщение происходит с операцией отрицания. Отрицание (инверсия) бита – это фактически подстановка на множестве из 2 элементов. Когда всего 2 элемента, то мощность симметрической группы S2 составляет всего 2! = 2, всего две подстановки: тривиальная единичная (ничего не меняется) и инверсия, когда 0 переходит в 1, а 1 – в 0. Мощность же симметрической группы S256 составляет 256! – совершенно фантастическое число. Введение подстановки в регистр сдвига, работающий с байтами, а не с битами, переворачивает все привычные методы криптографического анализа. Совершенно другие операции, а следовательно, нужны и другие подходы к анализу и оценке стойкости таких схем, чем те, которые использовались в традиционных двоичных «балалайках».
С чего начала кафедра математики на 4 факультете? С самого простейшего преобразования, осуществляемого с n-мерными двоичными векторами, с преобразования типа (Gp)k, где G – группа, порожденная циклическим сдвигом (G = <g>, g =(0,1,…,2n-1)-циклическая подстановка), p - некоторая фиксированная подстановка из S2n, а k – некоторое целое число. 
Если здесь перейти от математических терминов из теории групп к обычной криптографической терминологии, то преобразование типа (Gp)k – это следующий узел.
 
  
 

Преобразования типа (Gp)- это, фактически множество подстановок вида gx1p gx2p… gxkp, и задачей кафедры математики было обосновать какие-то свойства подобного множества, найти их зависимости от подстановки p. Типичная криптографическая ситуация – когда в таком узле входное слово x1,x2,…xkявляется ключевым параметром, требуется найти подходы к его определению по нескольким известным переходам в реализуемой подстановке.
Кафедра начала с изучения группы <g, p >, т.е. группы, порожденной двумя подстановками: циклическим сдвигом g и фиксированной произвольной подстановкой p. Это естественное обобщение преобразования (Gp)k, предельный случай. Свойства группы <g, p > дают ответ на вопрос, что в принципе можно ожидать от нашего преобразования при увеличении длины k до бесконечности. Можем ли мы таким путем получить все подстановки или же есть какие-то запреты?
Оказалось, что если случайно и равновероятно выбрать из всей симметрической группы фиксированную подстановку p, то с вероятностью, близкой к 1, группа
<g, p > будет совпадать со всей симметрической группой, т.е. запретов не будет. Те подстановки p
, для которых это не так, очень часто легко определяются, например,
p
=g, а также любая линейная подстановка, реализующая преобразование вида
p(x) = ax+b, где a и b – фиксированные элементы из Z/2n.
Дальше, естественно, стали возникать вопросы: а как скоро мы сможем достичь симметрической группы? Какова будет мощность слоя (Gp)k при некотором значении k, например, при k=2 или при k=3? При каком k множество (Gp)k станет
2-транзитивным, т.е. по имеющимся в нем подстановкам любая пара (y1,y2), в которой y1¹y2, сможет перейти в любую пару (z1,z2), в которой z1¹z2? Что в общем случае можно будет сказать про обобщение 2-транзитивности – m-транзитивность?
За свойство 2-транзитивности взялись основательно, чувствовалось, что здесь могут быть интересные криптографические зацепки: если 2-транзитивность отсутствует, то появляются запреты переходов биграмм текста, широкое поле деятельности для криптоаналитика. Например, если p - упомянутая выше линейная подстановка, то для любой пары (y1,y2) будет справедливо соотношение:
p(y1)- p(y2) =  (ay1+b) - (ay2+b) = a(y1-y2)
В этом случае при применении подстановки p сохраняется соотношение между разностями знаков, а поэтому кратной транзитивности заведомо не будет.
А если p - не линейная, а произвольная подстановка? При каком минимальном значении k множество (Gp)k может достичь свойства 2-транзитивности? Всего имеется 2n(2n-1) различных пар (z1,z2), в которых z1¹z2, а количество различных подстановок в (Gp)k не превосходит (2n)k. Следовательно, свойства 2-транзитивности можно достичь только при k³2. Можно ли при k=2?
Рассмотрим множество подстановок (Gp)2. Это множество реализует всевозможные преобразования произвольного значения t в значение s по формуле
s = p (p (t+x1)+x2) при всевозможных x1,x2. Если бы это множество было 2-транзитивным, то для любых заранее фиксированных s1,s2, t1,t2 , в которых s1¹s2 и t1¹t2, система уравнений:
s1 = p (p (t1+x1)+x2)
s2 = p (p (t2+x1)+x2)
имела бы решение относительно x1,x2, а, следовательно, поскольку p - подстановка, то и система
s1 = p (t1+x1)+x2            (1)
s2 = p (t2+x1)+x2
имела бы решение для любых заранее фиксированных s1,s2, t1,t2, в которых s1¹s2 и t1¹t2
Отсюда, вычитая одно уравнение из другого, мы приходим к одной очень важной криптографической характеристики подстановки p - матрице частот встречаемости разностей переходов ненулевых биграмм P(p) размера (2n-1)x(2n-1), а именно, на пересечении i-ой строки и j-го столбца в этой матрице стоит значение pij - число решений системы уравнений относительно x и y:
x-y = i                         (2)
p(x) - p(y) = j
где i, j ¹ 0.
Если при каких-то i, j ¹ 0 pij =0, то это означает, что при заранее фиксированных s1,s2, t1,t2, в которых s1¹s2 и t1¹t2, а также t1-t2 = i, s1-s2 = j, система (1) заведомо не имеет решения, ибо в противном случае имела бы решение и система (2).
Заметим, что pij = p(2n-i)(2n-j). Действительно, каждому решению (x1,y1) системы (2) можно поставить во взаимно однозначное соответствие решение (x2,y2)=(y1,x1)  системы
x-y = 2n-i
p(x) - p(y) = 2n-j
если домножить на –1 оба уравнения (2).
Из системы (2) очевидно вытекает, что число ее решений равно числу значений y, при которых
p(y+i) - p(y) = j           (3)
Если каждому решению (x1,y1) системы (2) поставить во взаимно-однозначное соответствие пару (x2,y2) = (p-1(x1),p-1(y1)), то такая пара будет решением системы
x-y = j                         (4)
p-1(x) - p-1(y) = i
Следовательно, число решений системы (2) будет равно числу значений y, при которых
p-1(y+j) - p-1(y) = i           (5)
Из (3) очевидно вытекает, что сумма всех элементов pij в i-ой строке при любом i равна 2n. Аналогично, из (5) вытекает, что сумма всех элементов pij в j-ом столбце при любом j равна 2n.
Поскольку размер P(p) равен (2n-1)x(2n-1), то из условия, что сумма всех элементов pij в i-ой строке при любом i равна 2n следует, что если бы P(p) не содержала нулей, то в любой ее строке все элементы были бы равны 1, кроме одного, равного 2. Аналогично получаем, что в этом случае в любом столбце должны быть все элементы 1, кроме одного, равного 2.
Если при некотором y выполняется
p(y+2n-1) - p(y) = 2n-1,     (6)
то, поскольку 2n–2n-1 = 2n-1, то (6) будет справедливо и при значении y1 = y+2n-1. Таким образом, элемент p(2n-1)(2n-1) не может быть нечетным.
Предположим, что некоторая i-я строка целиком ненулевая. Это означает, что среди значений j0,j1,…,j2n-1, получаемых по формуле
jk =p(k+i)- p(k)             (7)
содержатся все ненулевые элементы из Z/2n, а какой-то один элемент встретился ровно 2 раза.
Просуммируем соотношение (7) по всем k от 0 до 2n-1. Поскольку p - подстановка, то в правой части суммы получается 0, следовательно, сумма всех значений jkтакже должна быть нулевой.
Но среди j0,j1,…,j2n-1 содержатся все ненулевые элементы из Z/2n, а какой-то один элемент встретился ровно 2 раза. Поскольку сумма (по модулю 2n) всех ненулевых элементов кольца Z/2n равна 2n-1(2n-1) = 2n-1, то элементом, встретившимся два раза, должно быть 2n-1.
Тогда, в силу свойства pij = p(2n-i)(2n-j) для любого значения i должно выполняться
pi2n-1 = p(2n-i)2n-1 = 2
и при i¹2n-1 получается, что в 2n-1 столбце как минимум 2 элемента равны 2. Следовательно, если некоторая i-я строка при i¹2n-1 целиком ненулевая, то 2n-1 столбец заведомо содержит хотя бы один нулевой элемент, т.е. множество (Gp)2 не является 2-транзитивным ни при какой подстановке p.
И еще отсюда сразу же вытекает, что общее число нулей в матрице P(p) не может быть меньше, чем 2n-3. В этом случае в матрице ровно две ненулевых строки, расположенных симметрично друг от друга, а в средней строке с номером 2n-1 ровно одно нулевое значение посередине: p(2n-1)(2n-1) = 0.
Подобными же методами легко показать, что в общем случае множество (Gp)k является 2-транзитивным при k>2 в том и только том случае, когда матрица P(p)k-1 не содержит нулей. В частности, множество (Gp)3 является 2-транзитивным тогда и только тогда, когда матрица P(p)2 не содержит нулей.
 
Стало ясно, в каком направлении вести математические раскопки теории шифров на новой элементной базе: изучать матрицы P(p) для различных подстановок p. Здесь сразу же выделялись плохие подстановки – это линейные преобразования вида
p(x) = ax+b
В этом случае при любом фиксированном i¹0 система (2) имеет решение только при одном значении j¹0, такая матрица заведомо не будет положительной ни в какой степени и свойство 2-транзитивности недостижимо. Число нулей у такой матрицы будет максимальным.
А можно ли построить подстановки с минимально возможным числом нулей в матрице P(p)? Этот вопрос уже гораздо интереснее, простого и тривиального ответа на него нет. Пока. Но в следующих главах этой книги ситуация проясниться и в конечном итоге получится очень красивый результат.
 
Но это больше теоретические дебри. С точки зрения практического применения гораздо важнее знать, чего можно ожидать от матрицы P(p) при случайном и равновероятном выборе p. И здесь были доказаны очень важные теоремы о том, что в среднем ненулевых элементов в этой матрице будет примерно 2/3, что с вероятностью, близкой к 1, при случайном и равновероятном выборе p матрица P(p)2 небудет содержать нулевых элементов, а группа <g,p> будет совпадать с симметрической. В общем, все то, что требуется для использования подстановки p в качестве случайного разового ключа.
 
Вот такая была предыстория работ по шифрам на новой элементной базе. А ребята из НИИ Автоматики, по мотивам всех этих результатов, придумали следующую схему блочного шифра, работающего на основе байтового регистра сдвига и использующего только самые типовые операции с байтами, которые заложены в архитектуру появлявшихся тогда микропроцессоров. Эту схему назвали
«Ангстрем-3». 
 

В ней два регистра сдвига, работающих с байтами. В первый регистр сдвига длиной 8 байт записывается 8-байтовый блок открытого текста, во второй – ключ, или как его еще можно здесь назвать входное слово, длины Т для первого регистра. Схема крутится Т тактов, после чего заполнение первого регистра выдается в качестве 8 байтового блока шифртекста. Типичный блочный шифр, все операции сложения – в кольце Z/256, реализация – изумительно простая, если писать программу, то это буквально две-три строки. 
Но программы будут позже, а пока, в 1980 году, эту схему предполагалось реализовывать аппаратно, с помощью типовых микропроцессоров, работающих с байтами. Идеи подстановки-ключа тоже появятся позже, первоначально предполагалось p выбрать и зафиксировать. А главный вопрос, который интересовал НИИ Автоматики – до какого предела можно уменьшать значение Т, количество тактов, которые должна отработать схема для зашифрования одного блока. Чем меньше Т, тем выше скорость шифрования, а это было для них определяющим фактором.
 
-          Нельзя ли выбрать Т=16?
 
Нужно подумать.
Так начиналась моя осмысленная работа в Теоретическом отделе. Перед глазами - чистая тетрадь, отчеты 4 факультета и НИИ Автоматики, сиди и думай, нельзя ли выбрать Т=16.           
 
Collapse )

Криптография и свобода. Колея. Глава 2. У Степанова.

 

Глава 2

У Степанова

 

В 5 (Теоретическом) отделе Спецуправления работало около 50 человек, три отделения по 15-20 человек в каждом. Основной задачей отдела было проведение контрольных криптографических анализов действующей шифраппаратуры, выявление ее возможных слабостей и потенциальных опасностей, связанных с постоянным развитием вычислительной техники и криптографических методов анализа шифров. По действующим в те времена положениям, любая реально эксплуатируемая шифраппаратура должна была быть подвергнута контрольному криптографическому анализу не реже, чем один раз в 5 лет. Это довольно разумное положение, поскольку дать 100% гарантию стойкости на все времена никто не мог, криптографический анализ постоянно развивался, появлялись новые методы, новые люди, свежие взгляды. Сам криптографический анализ длился, как правило, около года и проводился следующим образом. Группе экспертов из 3 – 5 человек давали все предыдущие отчеты по анализу данной аппаратуры, подробное описание ее криптографической схемы, условий эксплуатации, требований, предъявляемых заказчиком аппаратуры, и за год надо было попытаться найти какие-то новые методы криптографического анализа этой схемы, которые позволили бы скинуть с предыдущих оценок стойкости 1-2 порядка.  Работа почти всегда чисто абстрактная, самой этой аппаратуры эксперты часто вовсе не видели. Конечно же, качество проведенного криптографического анализа очень сильно зависело от квалификации экспертов, от их криптографического кругозора, эрудиции, умения найти и применить какие-то нетрадиционные, нетривиальные подходы, заметить то, что было пропущено на предыдущих экспертизах.

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

Но одними контрольными криптографическими анализами занять столько людей было невозможно. Отдел вел еще несколько перспективных НИР, в которых пытались предугадать возможности развития криптографии и вычислительной техники в будущем, появление новых направлений в анализе и синтезе шифров, проблемы искусственного криптографического интеллекта. Тут было огромное поле для различных дискуссий, для проявления остроумия и юмора (ТИКИ – КИКИ – теория искусственного криптографического интеллекта – конкретный искусственный криптографический интеллект), но сейчас, спустя почти 25 лет, стало ясно: с перспективами наша криптографическая наука явно промазала. Американцы, с их идеями открытых ключей и электронной подписи, с их коммерческой криптографией оказались куда более практичнее. Конечно же, идеи системы с открытым распределением ключей У. Диффи и М. Хеллмана, впервые опубликованные в 1977 году, были известны, но отношение к ним тогда, на рубеже 80-х годов, было весьма настороженное. По привычке считали их какой-то уловкой американских спецслужб, своего рода «криптографической провокацией», призванной сбить с толку развивающиеся страны, внедрить у них эту систему, которую американцы, зная «потайной ход» в ней, затем смогут вскрывать. Про развитие электронной коммерции в то время думать никому не приходило в голову: для советской экономики вполне хватало коммерции по блату или с черного хода.  Основная забота была о военных шифрах, а в них использование сравнительно новых американских идей было абсолютно нереальным.

Еще один вызов, который бросили американцы в то время – это DES, Data Encryption Standart. Открыто опубликованная криптографическая схема, в то время, как в СССР все, что было прямо или косвенно связано с криптографией, подвергалось тщательному засекречиванию. Такая система была заложена еще Сталиным и сохранялась до 90 годов практически в неизменном виде. Доходило до анекдотов. В 1986 году издательство «Радио и связь» в плане изданий на 1987 год опубликовало анонс книги Д.Конхейма «Основы криптографии». Книга зарубежного автора, в ней содержались только общеизвестные понятия, описание американского DES, самые тривиальные подходы к его криптографическому анализу. Реакция 8 ГУ КГБ СССР была однозначной: запретить. Весь тираж был объявлен ДСП (Для служебного пользования) и направлен в закрытые спецбиблиотеки управлений КГБ. Но план издательства был уже широко опубликован и в издательство начали приходить заявки на эту книгу. Все эти заявки издательство пересылало в 8 ГУ КГБ СССР, где, прямо на моих глазах, происходили следующие сцены.

 

-          Так, Дальневосточный военный округ. Ну, тут все ясно.

-          А это что? Мурманское морское пароходство? Ну-ка, разберитесь, кто это там так шибко заинтересовался криптографией, что они лезут, куда не следует!

 

Как мотыльки на ночной свет, полетели на анонсированную книгу все подпольные и полуподпольные криптографы. А в 8 ГУ КГБ СССР только и оставалось, что наладить их учет и контроль.

Почти такая же история, только уже с несколько другим сценарием, повторилась почти 10 лет спустя. В 1995 году был принят Указ Президента России № 334, в котором на любое использование криптографических средств требовалась лицензия ФАПСИ. К тому времени в России уже было множество коммерческих банков, использовавших различные системы шифрования и электронной подписи. Дальнейшее продолжение этой истории слишком тривиально, чтобы уделять ей здесь внимание, система и через 10 лет осталась практически той же. 

Но вернемся к DES. Взломать DES предлагали всем желающим, и уж Теоретический отдел не мог остаться от этого в стороне. «Если вы найдете способы взлома DES, то я сразу же буду докладывать об этом на очень высоком уровне» - так выступал перед нами генерал, заместитель начальника Главка. Но, к чести 5 отдела, сильно напрягаться над попытками взлома DES никто не стал. Ломовая и тупая схема, которой не коснулись ни красота, ни изящество, ни оптимальность выбранных параметров, ни простота реализации. Но к ней было приковано высочайшее внимание! Получить какие-то красивые результаты и написать диссертацию на анализе DES было очень трудно, а завоевать внимание начальства – очень легко. И вот с конца 70-х годов  в 5 отделе стали заниматься «криптографической теологией»: как малость приукрасить DES, чтобы немного скрыть его уродства, но в то же время (не дай бог!) не раскрыть при этом каких-то своих криптографических тайн.

В те времена – начало 80-х годов – расклад «криптографических сил» в 5 отделе был примерно следующим:

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

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

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

Мне посчастливилось попасть к алгебраистам.

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

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

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

Мой приход в 5 отдел очень символично совпал с одним событием: в здании, где располагался отдел, в это время начали ломать советскую ЭВМ «Весна». Весь двор был заставлен мусорными контейнерами с платами и схемами (которые не микро), составлявшими раньше hardware этого очередного чуда техники. Увлекаясь в детстве сборкой транзисторных радиоприемников, я с ужасом прикидывал количество выкинутых транзисторов, диодов, конденсаторов и сопротивлений, которые всегда были дефицитом и предметом моего неутомимого поиска по разным радиомагазинам. Здесь же были совершенно иные единицы измерения, не штуки, а ящики, контейнеры, кубометры. Душа не выдержала, и не только у меня одного. Около этих сокровищ стали появляться и другие люди с плоскогубцами и кусачками и одна из последних моделей чисто советских ЭВМ приняла чисто советскую смерть.  

Примерно через год какими-то неведомыми путями Спецуправление умудрилось закупить американский компьютер (тогда еще не персональный, а многопользовательский) Hewlet-Packard и установить его в стекляшке. И сразу все почувствовали разницу! Цивилизованные клавиатура и монитор, диалоговый режим работы, нет никаких перфолент и перфокарт, простой язык программирования BASIC, вместо машинных кодов и примитивного ассемблера, с которыми мы имели дело на «Руте-110» на 4 факультете. Этот компьютер сразу же стал центром всеобщего притяжения, а уж в 5 отделе – тем более, ибо располагался в стекляшке, где не было своего «отдельского» начальства.  Фраза «Я пошел на машину» стала любимой для многих сотрудников, желающих обрести некоторую свободу творчества, особенно после обеда.

Но все же основная работа в Теоретическом отделе была с карандашом и бумагой. Строгие математические факты, доказанные теоремы и вытекающие из них оценки стойкости шифров – вот та продукция, которая требовалась от теоретиков. Разобраться с криптосхемой, вникнуть во все ее особенности, сильные и слабые стороны, а затем попытаться взглянуть на нее по-новому, свежим взглядом, с другой стороны. Этого уже нельзя прописать ни в каких инструкциях и приказах, это процесс творческий, решение может прийти неожиданно и внезапно, а можно и «зациклиться», гонять взад-вперед одни и те же идеи, не двигаясь с места. И вот тут важна обстановка, та атмосфера, в которой приходится работать теоретику. «Сидя все время на рабочем месте, работать по-настоящему невозможно» - такими словами меня встретили в отделе. Собрав полсотни математиков в одном месте, установив жесткий режим работы: с 9 до 6 вечера, невозможно добиться от них свежих идей. Очень часто самые красивые результаты получались не благодаря, а вопреки такому режиму: кто-то приноровился работать дома вечерами и ночами, отсыпаясь днем на работе, кто-то старался почаще брать больничный, библиотечные дни или аспирантский отпуск. Степанов все прекрасно понимал, но ничего поделать не мог или не хотел. Не мог он объявить во всем отделе свободный график работы, потому что все мы были действующие офицеры КГБ и подчинялись общему распорядку, установленному в Конторе.

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

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

Довольно быстро я понял, что такой образ жизни – не по мне, хотелось живой, интересной работы, хотелось видеть реальные результаты своей работы, которые можно выразить не только абстрактными теоремами, а чем-то иным, более приземленным, более понятным, более очевидным. Чтобы критериями успешного завершения работы были не одобрительные слова даже такого авторитетного человека, как Степанов, а что-то другое, тоже простое и понятное практически любому. У авиаконструктора, например, есть такие критерии: если его самолет успешно прошел летные испытания, значит он все сделал правильно, если у агронома вырос хороший урожай, значит он тоже сделал все верно. Да в том же 16 управлении, если вскрыли шифр, прочитали открытый текст – безусловный успех, заслуженная награда. Но в Теоретическом отделе 8 управления КГБ таких критериев чаще всего не было, случаи, когда удавалось «колонуть» какой-то свой действующий шифр были, во-первых, крайне редки, а, во-вторых, расколоть шифр с помощью абстрактного его анализа – это одно, а реально прочитать шифрованную переписку – это совсем другое. Отдел плодил кучи отчетов, статей в закрытые научно-технические сборники, проводил массу фундаментальных и прогнозных исследований, казалось, что собранные в одном месте сильные математики способны предложить новые оригинальные идеи, которые будут конкурентоспособны с последними американскими достижениями в криптографии. Но часто приходилось слышать такие речи:

 

-          На самом деле мы здесь в резерве, на случай непредвиденных обстоятельств. А все эти теоремы – это так, чтобы не было скучно сидеть.

 

В триаде «специалист-офицер-чиновник» далеко не очевидно, что специалиста надо было ставить на первое место.

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

Collapse )
 

Криптография и свобода. Свобода? Глава 6. TeleDoc.

 

Глава 6

TeleDoc

Russia. Examples.

Сразу предупреждаю: сам не видел, а только слышал от местных жителей. Своими глазами видел только ту глухомань, по которой течет река Молога, да ту деревню Горки, километров 20 выше по течению от моего Гузеево, о которой пойдет речь.

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

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

Около деревни Горки на Мологе были омута, в которых водились сомы. Сом – это нечто вроде поросенка, всеядный, ему можно скармливать любые отходы, и вот вся деревня Горки дружно взялась откармливать одного сома. Все знали место, куда он приплывает на откорм, и сом всегда находил там чем поживиться. Так прошло все лето, а ближе к осени сома решили выловить.

На трактор «Беларусь» приспособили лебедку с крюком от тракторного прицепа, насадили на нее наживку и закинули в омут, в место сомовьего откорма. Доверчивый сом, не ожидая от людей такой подлости, по старинке схватил съестную подачку, а трактор «Беларусь» взревел своим мотором.

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

End of example.

 

Автоматизированная система электронного документооборота прижилась в W-банке. Начальство и простые сотрудники почувствовали ее удобство и постепенно она стала охватывать все новые и новые сферы деятельности в банке. Сначала ей доверяли самые простые банковские документы – статистические отчетности, балансы, различные банковские формы, затем перевели на нее платежные документы, подтверждения векселей, паспорта валютных сделок и еще много всяких других документов, о существовании которых мне, непосвященному в тонкости банковских технологий человеку, никогда не приходилось раньше слышать. Для нее придумали специальное название – TeleDoc – и оно также прижилось в банке. Название это появилось не сразу, сначала были различные варианты: Криптоцентр-V, Омега, но в конце концов выбрали TeleDoc. Тут еще приходилось учитывать российскую специфику: сертификата ФАПСИ на эту систему, естественно, не было, приставку «крипто» в названии лучше не упоминать. Десятки раз мы обсуждали эту проблему с В.К. Тяпкиным, но всякий раз единогласно приходили к выводу – соваться в ФАПСИ по этому поводу – бесполезно. Финансовые затраты на проведение подобной экспертизы будут сопоставимы со стоимостью ее разработки, а гарантии положительного результата никакой нет. И не потому, что система плохая, нестойкая, с какими-то «дырами» и т.п., нет, здесь банк был сам заинтересован в гарантированной стойкости, поэтому все криптографические и программные решения, перед тем, как их использовать в TeleDoc, неоднократно обсуждались и проверялись с Тяпкиным и управлением безопасности банка. Проблема была в другом – сертификатов в то время (1996 – 1998 гг.) не выдавали практически никому, кроме Московского филиала Пензенского НИИ Автоматики, которому патронировал Генеральный директор ФАПСИ, сам выходец из Пензы. Сертифицированные конкуренты были ни к чему, а создать систему зажима для чиновников, особенно в такой сфере, как криптография – привычное дело. Поэтому даже постановка вопроса в ФАПСИ о сертификации TeleDoc вынудила бы меня длительное время заниматься подготовкой различных справок, описаний, разрешений и прочих чиновничьих премудростей, а развитие самой системы при этом бы застопорилось. Но самое главное, что вся эта суета оказалась бы бесполезной и даже вредной: сертификата получить заведомо нельзя, можно только «засветиться», раздразнить ФАПСИшных «гусей». 

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

Первая DOS-версия TeleDoc (TeleDoc-1) просуществовала в банке с 1995 по 1998 года, она, конечно же, была немного неуклюжей, но честно отрабатывала положенные ей функции. Следующая версия (TeleDoc-2) разрабатывалась уже под Windows 32 и была намного более совершенной: в ней появились специализированные базы данных входящих и исходящих документов, специальный интерфейс для работы с ними, различные автоматические режимы, системы централизованного управления и прочая, прочая, прочая. Все это шаг за шагом добавлялось, накапливалось в реально действующей, «боевой» системе без нарушения производственного цикла банка, без задержки документооборота хотя бы на день. Мне нравилась система взаимоотношений, установленных с банком: составляется Техническое задание на год, в котором прописываются самые общие требования к разработке. Все конкретные текущие вопросы, возникавшие у меня при написании программ, оперативно решались с Тяпкиным по телефону без дополнительных бумаг. Примерно раз в неделю – встреча в банке, я привожу им свои программы, они их проверяют, дают свои замечания. В конце года ТЗ принимается, после чего реально работающая в банке версия TeleDoc обновляется. В такой схеме взаимоотношений чиновничьих извращений было по-минимуму, а поэтому работать с банком мне было интересно. Ну а банк, в свою очередь, получал уникальную, разработанную под его требования систему по весьма низкой цене.

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

Сколько раз я предлагал TeleDoc Центральному Банку! Не те времена, не те люди теперь там были. «Несертифицировано!» - вот и весь разговор. Чиновники везде одинаковы, минимум перемен, минимум новизны, минимум ответственности. Вообще-то банковская структура должна быть разумно консервативной, но где провести ту грань разумности? Некоторые эпизоды из жизни ЦБ, которые мне пришлось наблюдать, были явно за этой гранью.

Упоминавшаяся выше моя программная система «Криптоцентр-АВИЗО», не имевшая сертификата ФАПСИ, успешно работала уже около 3 лет в двух крупных подразделениях ЦБ: Центральном Операционном Управлении (ЦОУ) и в ОПЕРУ-1. Но навязчивая идея руководства ФАПСИ прибрать к рукам ЦБ постепенно привела к мысли заменить все несертифицированное программное обеспечение сертифицированным. Казалось бы, нет ничего проще: опробованная, успешно работающая программа посылается на сертификацию, проводится ее экспертиза, по результатам которой делаются возможные доработки, устраивающие как экспертов, так и реальных пользователей. Но это – в теории, на практике, в реальной жизни все не так. «Сделаем свою программу и насильно заставим всех в ЦБ ее использовать» - так решило это могучее Ведомство.

ОПЕРУ-1 ломать налаженные технологии и использовать ФАПСИшное творение отказалось наотрез. В конце концов чиновники ЦБ уступили напору этих девушек, обслуживающих счета всех крупнейших государственных организаций, в том числе и самого ФАПСИ. А вот ЦОУ (точнее, его руководство) сдалось, безропотно разломало все что я у них налаживал за эти годы. Потом мне довелось встретить в ЦБ девушку-операционистку из ЦОУ, которая работала с моей программой, и она, чуть не плача, поведала мне о своей новой жизни в условиях ФАПСИшного сервиса.

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

Не было у меня ни малейшего желания идти с системой TeleDoc на поклон к ФАПСИ.  Я вложил в нее уйму труда, делал ее с удовольствием, ради удобства людей, ради внедрения своих идей, которым посвятил практически всю сознательную жизнь. Ведь, естественно, никаких криптографических алгоритмов типа ГОСТ или DES я в ней не использовал, только то, что выросло из «Ангстрема-3». Это все хорошо просчитано, основательно проверено, оригинальные криптографические решения. А такие оригинальные решения – это еще один рубеж защиты от потенциального злоумышленника, от различных продвинутых хакеров, научившихся воровать секретные ключи из оперативной памяти компьютера. И теперь объяснять все это чиновникам, мечтающим о контроле за вещевыми рынками?

Сейчас прошло уже почти 10 лет с момента появления первой версии TeleDoc и можно оценить, что же в ней было сделано правильно, а что, наоборот, не выдержало проверки временем и немного порассуждать о перспективах развития подобных систем. На мой взгляд, первая основная особенность TeleDoc – нестандартный криптографический интерфейс. Что это означает?

Работы по созданию мировых стандартов криптографического интерфейса велись с начала 90-х годов, и где-то к середине 90-х уже появились первые результаты. Если разработчик программного обеспечения хочет использовать в своих программах криптографические функции шифрования и электронной подписи, то для этих целей Microsoft подготовил и внедрил в Windows начиная с Windows-95 специальный интерфейс – CAPI – Cryptography Application Programming Interface. Этот интерфейс использует для выполнения криптографических операций динамические библиотеки, удовлетворяющие определенным требованиям Microsoft. Такие библиотеки принято называть еще CSP – Cryptography Service Provider. Для разработчика программного обеспечения вся прелесть технологии CAPI-CSP в ее универсальности, возможности выбора различных CSP от различных производителей, и возможность использования всех других богатых интерфейсных возможностей, предоставляемых пользователям Microsoft. Например, для организации закрытой электронной почты (когда письма отправляются в зашифрованном виде и с электронной подписью) достаточно, например, в таких известных почтовых программах, как Microsoft Outlook или Microsoft Outlook Express использовать встроенные в них возможности технологии CAPI-CSP. Таким образом, простейший путь к созданию системы защищенного электронного документооборота – использование уже готовых решений Microsoft и стандартного интерфейса CAPI-CSP.

Но в первых двух версиях TeleDoc технология CAPI-CSP не используется. Первая версия – это DOS-версия, для DOS эта технология была еще в зачаточном состоянии, а вторая версия для Windows-32 разрабатывалась на основе первой версии TeleDoc, наследуя все ее свойства. Да и по времени разработки второй версии (98 год) – в то время технология CAPI-CSP не была еще так широко распространена.

Была и еще одна весомая причина, по которой в TeleDoc я стал использовать оригинальный криптографический интерфейс. Это – надежность, устойчивость работы системы в огромной сети W-банка. Собственный криптографический интерфейс – это исходные тексты программ, с помощью которых затем можно разобраться практически в любой сбойной ситуации, понять причину сбоя и устранить ее. Такие ситуации неоднократно возникали на практике, во время повседневной эксплуатации TeleDoc в W-банке. Одну такую ситуацию в банке прозвали «черной дырой» и для того, чтобы понять и устранить ее причину, потребовалось больше года. Дело в том, что к тому времени почтовые «аппетиты» W-банка выросли, дорогостоящая Sprint-Net перестала его удовлетворять, TeleDoc уже достаточно прижился и потихоньку созревал для собственной почтовой системы с использованием протоколов SMTP и POP3. Но пока он созревал, W-банк закупил специальную почтовую систему Pegasus mail, которая также использовала эти же протоколы. Когда же TeleDoc дозрел, то в качестве наказания за долгое дозревание ему была поставлена задача: обеспечить совместимость с Pegasus mail. Все бы ничего, дело нехитрое, протоколы-то одни и те же, но только вот тогда и появилась эта проклятая «черная дыра».

Вся информация, передаваемая из Центра в филиалы, отправлялась с помощью почтовой системы Pegasus mail (TeleDoc осуществлял только подготовку к отправке, включая шифрование и подпись), а в филиалах принималась по протоколу POP3 с помощью внутренней почтовой системы TeleDoc, а критерием успешного приема была проверка электронной подписи. Все принималось успешно, за исключением «черных дыр», которые регулярно возникали в разных филиалах примерно один раз в три месяца. На этих «черных дырах» проверка подписи давала отрицательный результат, повторная отправка, проводимая как в автоматическом, так и в ручном режиме, давала то же самое, случайные искажения на линии связи были исключены, управление информатики звонило мне домой, как к главному экстрасенсу, специалисту по черной программной магии, и просило, по возможности, расколдовать эти заколдованные мессаджи. 

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

В конце концов одна энергичная девушка из какого-то филиала все-таки дожала управление информатики банка по поводу этого глюка. Какими-то правдами или неправдами в банке смогли выловить то, что выдавал при глюке в канал связи Pegasus mail и что принимали в филиале. И оказалось, что есть различия! Тут уже у меня появилась конкретная пища для размышлений и в конце концов причина была выявлена: несоответствие в одном редком случае результатов кодировки MIME, осуществляемой Pegasus mail и внутренними процедурами, используемыми в моем любимом Borland C++ Builder v.3.0. Немного домыслив, мне пришлось слегка модернизировать процедуру приема, чтобы исправить эти огрехи.

 

Программист никогда не может считать себя застрахованным от подобных ситуаций.

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

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

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

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

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

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

 

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


Collapse )

Криптография и свобода. 4 факультет. Глава 8. Криптография. Часть 2.

 

Ключевое слово в электронных шифраторах – балалайка. Так вполне естественно обозвали типовой и самый распространенный узел в генераторах двоичной гаммы.

 

 


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

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

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

Электронным шифраторам была посвящена отдельная спецдисциплина – СД-7В. Нолики и единички, балалайки справа и слева - все это добро аппаратно реализовывалось и запихивалось в довольно большие ящики в 60-х годах. И, естественно, часто ломалось, а посему следующей спецдисциплиной, СД-7Г, был инженерно-криптографический анализ электронных шифраторов. Закоротило где-нибудь в ящике с шифратором, отвалился контактик, полетел транзистор – не опасно ли? Не полезет ли в линию связи открытый текст? Как заблокировать потенциально опасные неисправности? Как оценить вероятность отсутствия опасных неисправностей? В общем, все рутинные вопросы, очень важные, конечно, но скучные. Элементная база, электроника в первую очередь, должна быть понадежней, культура ее производства повыше.

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

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

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

 

Collapse )

Криптография и свобода. 4 факультет. Глава 3. Альбиносы

 

Глава 3

Альбиносы

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

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

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

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

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

И точно такой же подход оказывается наиболее эффективным при построении и анализе различных шифров. Что такое классический шифр? Это некоторое математическое преобразование, выполненное над открытым текстом, в результате которого он превращается в шифртекст. Преобразование зависит от ключа и часто является некоторой цепочкой более простых преобразований, зависящих от части ключа или даже только от отдельных его знаков. Посмотрите, например, на американский стандарт DES (Data Encryption Standart) – последовательно, за 16 шагов осуществляется преобразование блока информации. Но почему выбраны именно такие преобразования на каждом шагу? А что будет, если число шагов увеличивать до бесконечности? DES – это уже конечный криптографический продукт, всех мельчайших шажков, осуществленных при его создании, мы не знаем. Остается только слепо верить его создателям, а это не очень хороший подход.      

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

И вот наша подготовка к получению криптографического образования началась с алгебры, сначала с классической линейной, а затем постепенно, маленькими шажками, ко все более и более сложным теоремам, кончая красивейшей теорией конечных полей, разработанной еще в XIX веке молодым французом Эваристом Галуа. В криптографии теория Галуа легла в основу системы с открытым распределением ключей, предложенной американцами У. Диффи и М.Хеллманом в 1977 году. Но и до этого, в 1974 году на 4 факультете ВКШ КГБ прекрасно понимали всю важность и значимость для криптографии теории Галуа и уделяли ей первостепенное внимание при подготовке криптографов.

Алгебру обожали за ее красоту. Лекциям и задачам по алгебре большинство из нас всегда отдавало предпочтение перед другими предметами. Сан Саныч, молодой тогда еще преподаватель, сам недавно закончивший факультет, был окружен ореолом различных историй, в которых невозможно было отделить правду от вымысла. Одна из таких легенд гласила, что как-то в суточном наряде, будучи еще таким же слушателем, как и мы, Сан Саныч развлекался тем, что пытался научиться эффектно кидать штык-нож в одну из деревянных дверей. После нескольких безуспешных попыток дверь вдруг отворилась и из нее вышел … сам «боцман», зам. начальника ВКШ по строевой подготовке. «Боцман» был колоритнейшей фигурой во всей Высшей Краснознаменной Школе: капитан первого ранга, всем своим видом, голосом, поведением на 200% оправдывающий это народное прозвище. Все начальство, включая и «боцмана», обитало вдалеке от криптографов, в основном здании ВКШ КГБ на Ленинградском проспекте, но иногда, но все же редко, непотопляемый «боцман» заплывал и на Большой Кисельный. Полундра!

О том, что стало тогда с Сан Санычем, легенда умалчивала. Можно только попытаться ее легко домыслить: несколько суток ареста, но московские гауптвахты сильно загружены, мест нет. Какая жалость!

                На лекциях Сан Саныча метод Г.П. сочетался с его боевым задором, стремлением подколоть своих слушателей, ненамного более молодых, чем он сам. «Тяжело в учении – легко в госпитале» - его любимая поговорка. А еще сама теория Галуа в устах Сан Саныча как бы говорила нам: смотрите, что смог сделать француз  Галуа в 19 лет! А вы, такие же молодые, специально отобранные из лучших школ, собранные здесь все вместе, чем хуже? Цените красивые результаты, не выбирайте тривиальных путей! Один нетривиальный результат способен перевернуть все привычные представления, разрушить всю окостенелость и застой в математике и не только в ней. Пусть, на первый взгляд, это и труднее, но в любой ситуации пытайтесь найти  нетривиальное, красивое решение, которое понравилось бы вам самим и заставило бы уважать вас окружающих. Не бойтесь быть белыми воронами, альбиносами, выделяющимися из общей стаи, это изначальное условие для творчества, для творческого успеха.

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

И вот, несколько лет спустя, казалось, что сама жизнь полностью подтвердила эти мысли: основанная на теории Галуа система с открытым распределением ключей Диффи-Хеллмана произвела переворот в криптографии, доказав, что несколько красивых и нетривиальных идей намного полезнее, чем сотни безропотных, бессловесных, безликих чиновников.  Система рассылки ключей упрощается до предела, не нужны больше курьеры с опечатанными сургучной печатью пакетами, криптография становится дешевой, удобной, общедоступной. Система Диффи-Хеллмана оказалась незаменимой в коммерческой, свободной от чиновников криптографии. Но не в России! В России прапорщики, привозящие диппочтой в группу советских войск в Германии секретные ключи к шифрсистемам, везли обратно в контейнерах для диппочты дефицитные в то время покрышки к «Жигулям». Спрос, востребованность обществом – вот что необходимо приложить к красивой идее. А если в обществе всем заправляют Чудесные (а иногда к тому же – просто очень циничные) люди, то рассчитывать на такой  спрос не приходится.  Если вы такие умные, то почему строем не ходите?

Не высовывайся, будь как все, сиди тихо – вот атмосфера тех лет в СССР. В большинстве НИИ люди часами не вылезали из курилок, травили анекдот за анекдотом, обсуждали все, что угодно: хоккей, очередной фильм по телевизору, институтские сплетни, где что достать (свободно купить что-то приличное в те годы было невозможно), вязали носки и свитера, бегали по магазинам. Работы, как таковой, почти нигде не было, везде правили серость и скука, порождающие равнодушие и пьянство. Гарантированы какие-то самые минимальные жизненные условия, чтобы не помереть с голоду (на современном языке - около 120 – 150 долларов в месяц), и полная уравниловка везде и во всем. Это и есть тот развитой социализм, который рухнул за три дня. Но на смену ему пришел социализм загнивающий с истошным воплем «Обогащайся, кто как может!», и люди стали даже с умилением вспоминать свое прежнее болото. А разные изобретатели красивых идей и нетривиальных решений практически в любое время в нашей стране могут рассчитывать лишь на косые взгляды: «Шибко умный!», и хорошо, если только на простое непонимание, без оргвыводов. Нефти много, кому надо – тем хватит, а эти шибко умные бог знает, до чего могут додуматься. Вот она, замедленная отдача от залпа «Авроры».

Еще несколько слов о любимой мной алгебре. Кроме Сан Саныча, на кафедре математики было еще несколько преподавателей алгебры и все они пользовались огромным уважением у слушателей.  Алгебра началась сразу же с первого курса, с самых первых дней пребывания на факультете, а экзамены по алгебре были одними из первых и наиболее трудных. Алгебра сразу же произвела естественный отбор: лучшая часть курса – те, кто лучше разбирается в задачах по алгебре, кто уверенно чувствует себя на экзамене. Такие люди быстро становились неформальными лидерами, признанными авторитетами на курсе. Чудесные (назначенные Чудой) авторитеты – командиры отделений и групп – в первые годы обучения не всегда были одновременно и неформальными лидерами, однако постепенно, через год-два, значение неформальных лидеров возрастало даже в Чудиной «административной вертикали». Нормальная жизнь побеждала.

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

                Лекции по ТВИСТу начались на третьем курсе и их нам читал Вадим Евдокимович Степанов, начальник Теоретического (это слово всегда писали с большой буквы!) отдела 8-го управления КГБ. За его спиной были многие реальные, или как их еще называли, боевые шифры, он отвечал за их анализ, стойкость, отсутствие в них каких-то критических ошибок, просчетов, недостатков, которые позволили бы американскому АНБ их взломать. Как можно дать гарантию такой надежности? Очевидно, что для этого надо иметь коллектив из очень высококвалифицированных и независимых экспертов, которые смогли бы изучить и обосновать все возможные попытки потенциального взлома, вероятность его успешного проведения, а также предложить реальные способы защиты от него. А руководитель должен обладать такой квалификацией, которая позволит ему стать экспертом работ этих экспертов, вынести окончательное решение о стойкости шифра и взять на себя ответственность за безопасность обрабатываемой с его помощью информации. 

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

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

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

А здесь, в Теоретическом отделе 8 управления КГБ, можно ли назвать царившие тогда порядки демократичными? В обсуждении криптографических проблем – да, безусловно, а вот во всем остальном - сомнительно. Машина, винтики – вот, пожалуй, более точная характеристика. Военная дисциплина, применяемая в рамках научной среды, к теоретикам, для которых очень часто требуется раскрепощенность и свобода. Ежедневный обход контролера в 9.00 утра: все ли на месте? Социалистическое соревнование, в котором по положительным баллам защита диссертации приравнивается к отрицательным баллам за несколько опозданий на работу. Реальные жизненные блага – в основном руководству, рядовым сотрудникам – горы пустых обещаний и бесконечные списки, очереди, записи.

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

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

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

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

О Вадиме Евдокимовиче Степанове еще пойдет речь в этой книге. Сейчас же, рассказывая о нем, как о преподавателе теории вероятности, я могу сказать только одно: нашему курсу посчастливилось учиться у такого человека. Это был Профессионал с большой буквы. На мой взгляд, это – первично.

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

И вот начались спецдисциплины, т.е. предметы, непосредственно связанные  с криптографией: основы криптографии, теория дисковых шифраторов, теория электронных шифраторов, теория шифрующих автоматов. Многое из того, о чем шла речь на этих лекциях, сейчас открыто опубликовано и обсуждается в INTERNET, что-то уже безнадежно устарело, как, например, теория дисковых шифраторов. Однако в большинстве случаев, о которых нам тогда рассказывали, речь шла об аппаратной реализации шифраторов, об изучении реализуемых преобразований над полем GF(2), состоящем только из двух элементов – 0 и 1. Электронный шифратор – это аппаратная схема на типовых логических элементах, описываемых простейшими операциями математической логики: сложением и умножением по модулю 2, а также отрицанием. Такие логические элементы сплетаются друг с другом множеством проводов, образуя в результате преобразование некоторого двоичного вектора-ключа, из которого вырабатывается двоичная гамма наложения на опять же двоичный открытый текст. Но уже тогда, в середине 70–х годов, было ясно, что типовые логические элементы и провода устаревают, что на смену им приходят интегральные микросхемы, содержащие встроенный процессор с возможностью выполнения гораздо более сложных преобразований, чем это можно сделать с помощью множества плат с проводами и транзисторами. В интегральных микросхемах уже не возятся с отдельными битами, а вся информация одновременно обрабатывается в них векторами, содержащими по несколько (обычно по 8) бит, байтами.  А все предыдущие криптографические результаты в теории электронных шифраторов получены в предположении, что основной единицей информации является бит. Если «битовую» криптосхему напрямую использовать для реализации с помощью интегрального микропроцессора, то это будет очень примитивно, тривиально, приведет к неполному использованию всех преимуществ процессора, в конечном счете – к потере эффективности, скорости работы криптосхемы. А скорость работы  при шифровании, например, высокоскоростного канала, передающего телевизионное изображение, играет первостепенную роль.

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

Вообще-то, середину 70-х годов я бы обозначил как водораздел в криптографии. В Америке появляется криптография с открытым распределением ключей, все существовавшие до нее криптографические системы блекнут перед теми преимуществами, которые таят в себе открытые ключи. Простота обмена ключевой информацией при системе с открытым распределением ключей дает возможность использовать надежную криптографическую защиту не только для военных или правительственных линий связи, но и в повседневной жизни практически любому человеку. Через 20 – 25 лет, в 90-х годах, так и будет, появится общедоступная гражданская криптография. Такие события, как открытие систем с открытым распределением ключей, случаются в истории крайне редко, честь первооткрывателей здесь принадлежит американцам. Однако система с открытым распределением ключей (или, как ее называют иначе, асимметричная система шифрования) не позволяет шифровать данные с высокой скоростью. Для гражданской криптографии появляется потребность в общедоступной высокоскоростной системе традиционного, симметричного шифрования, а асимметричная система используется только для шифрования ключей к симметричному шифру.

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

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

Реально в конце 70-х – начале 80-х годов, усилиями кафедры математики 4 факультета ВКШ КГБ, в Советском Союзе был весьма достойный ответ на американский DES: шифры на новой элементной базе. Их скорость шифрования была на порядок выше, чем у DES.  

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

 

1)       Разломать DES и раструбить об этом на весь мир. Проехали. Не ломается.

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

3)       Советский вариант ответа, известный уже много лет: скопировать американское изобретение и малость его перекрасить.

 

  Советским стандартом десять лет спустя, в 1989 году стал слегка перекрашенный DES, со всей чиновничьей тупостью названный «алгоритм ГОСТ 28147-89», а еще десять лет спустя чиновники ФАПСИ стали плакать: «Ну почему же мы упустили мировые криптографические рынки»? Наверное, зелененьких захотелось… 

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

Collapse )