Михаил Масленников - Криптография и свобода
Но готовиться к экзаменам можно дома. Сессия – это отдых от Чуды, не надо каждый день одевать военную форму и бежать сломя голову к утреннему построению. Хорошо известно, что куча народа мало способствует серьезной подготовке, лучше всего готовиться в уединенной обстановке, в тишине и спокойствии, подальше от общей массы. И здесь мы сразу же оценили отсутствие казармы. Первый курс – один из самых сложных на 4 факультете, больше всего идет отсев на первой и второй сессиях, к таким тяжелым экзаменам еще не привыкли, нет опыта. Если бы сюда еще добавилась казарма, постоянное скопище народа в одном месте, то это, несомненно, сильно усложнило бы нашу подготовку. А нам чуть ли не в открытую говорили: перед основными экзаменами по математике забудьте обо всем остальном. Естественно, не Чудо, он в сессию явно скучал.
Были и экзамены средней категории: физика, аналитическая геометрия, математическая логика, теория функций комплексной переменной и некоторые другие. На них, как правило, особых сложностей ни у кого не возникало, так, немного понервничаешь и все. Это все-таки не основные профильные предметы, все преподаватели это понимали и на них особо не зверствовали.
В 1976 году в Москве началась очередная шумная кампания по борьбе за образцовый город, в котором должны были быть образцовые институты и в них образцовые факультеты. И вот с какого-то бодуна чиновники придумали параметры образцового факультета: 15% отличников, 75% учатся только на хорошо и отлично, а двоечников нет вообще. Преподаватели на 4 факультете относились с юмором к подобным творчествам, особенно в преддверии сессии, но начальник факультета, генерал, взял под козырек и сказал «Есть». Партия прикажет – сделаем! А на чем поэкспериментировать? Попробуй, поборись за образцовый факультет на алгебре или на ТВИСТе, когда там принимают экзамены люди независимые и дуракостойкие, зубы себе только обломаешь и растеряешь все жалкие остатки своего авторитета. Поэтому в качестве подопытного кролика был выбран экзамен по физике, средняя весовая категория.
Про физику можно сказать несколько слов отдельно. Физика к криптографии имеет довольно косвенное отношение, для общего развития и культуры она у нас была два первых года. Лекции читал бессменный лектор Анатолий Тимофеевич Иванов, ласково прозванный в народе Собакиным. Он был человеком весьма увлеченным своим предметом, его лекции были очень эмоциональными, но записывать их было практически невозможно. Два часа он бегал с мелом около доски, торопливо что-то писал на ней и с жаром пытался объяснить аудитории написанное. Готовиться к экзамену по физике по конспектам было невозможно, обычно подготовка сводилась к тому, чтобы пару раз пробежать какой-нибудь стандартный учебник. Экзамены он тоже принимал весьма эмоционально, иногда блистая перед экзаменующимися своей эрудицией и кругозором.
И вот Собакину довелось испить горькую чашу борьбы за образцовый факультет. В очередную сессию сверху, из учебной части, ему были спущены проценты отличников и хорошистов, которые по советской традиции надо было выполнить и перевыполнить.
Из нашей группы в 25 человек первые 20 – только пятерки! Запас прочности для образцового факультета создан. Еще немного – и можно разворачивать борьбу за сверхобразцовый факультет, в котором все 100% – одни отличники. А мы еще сдуру что-то читали, как-то готовились к этой физике! Главное – попасть в первую двадцатку, в первые проценты. Ближе к обеду, видимо, чувство голода стало побеждать у принимавших экзамен то воодушевление, с которым они восприняли очередное постановление партии и правительства, и лажа эта закончилась. Пошли четверки и в конце – даже одна тройка. Но все равно, поборолись хорошо, показали сомневающимся, что воодушевленное партийное слово способно творить чудеса.
Что-то пока маловато в этой книжке упоминался компьютер, может и не было его тогда на 4 факультете? Был, да еще какой! Советский компьютер «Рута–110», целая комната, уставленная шкафами с мигающими в них разноцветными лампочками.
Первое посещение этой комнаты и очная ставка с компьютером состоялись у нас где-то на 2 курсе. Перед самой комнатой был небольшой предбанничек, где всем пришедшим туда слушателям предлагали одеть на сапоги музейные тапочки: от пыли и грязи компьютер часто ломался, от малейшего дуновения ветерка — тоже. Советская электроника, проводки и транзисторы в неимоверных количествах, огромные кастрюли с магнитофонной лентой, магнитные диски размером с автомобильное колесо, перфоратор для записи программы на перфоленту (ленточка обычной бумаги с кучей дырок на ней), спирт для протирки – вот основные характеристики первого увиденного мною компьютера. Про его производительность ничего сказать не могу, поскольку основную часть времени «Рута–110» была сломана, на профилактике или просто закрыта по техническим причинам. Язык программирования – машинные коды, набиваемые на перфоленту. Ошибся при набивке хоть в одном знаке – перебиваешь всю ленту.
Чтобы повергнуть в окончательный экстаз современных программистов, приведу одну фразу из ее технической документации:
«Все пакеты магнитных дисков устанавливаются на устройства, номера которых соответствуют номерам устройств в адресах секторов, записанных на пакетах.»
Эта фраза служила у нас в качестве достаточного (но ни в коей мере не необходимого!) теста на трезвость. Выдал, не запутался, язык не сломал – значит еще трезвый как стеклышко, продолжай дальше. Но это удавалось единицам, остальные же отрубались на этих секторах-устройствах-пакетах после первых пяти слов хоть трезвые, хоть «посмотревшие на нехлебный квас».
Чтобы реально подготовить и отладить на «Руте–110» какую-нибудь простенькую программу, типа:
требовалось около месяца. Сначала пишешь в ничем не повторимых машинных кодах программу, затем сломя голову рвешься после последней лекции в перфораторную успеть занять очередь на дятлоподобное чудо техники, на котором надо надолбать пару метров машинных кодов. Ближе к концу одно неверное движение руки – и ленточка превращается… В общем, все по новой. С N–ой попытки ленточка набита, аккуратно скручена и как большое сокровище спрятана в баночку. Остается урвать момент, когда «Рута–110» будет на что-то способна и всунуть в нее свой дырявый серпантин.
Ежику понятно, что такой компьютер скорее отбивал всякую охоту иметь дело с ЭВМ. Теория — лекции по программированию — естественно были почти такими же, на них нам рассказывали про машинные коды для «Руты–110», кое-что про ассемблер, да про традиционные стрелочки-ромбики-прямоугольнички – блок-схемы. Отношение к этим лекциям было соответствующее, сделать какие-то задания по программированию удавалось единицам, остальные довольствовались теоретической подготовкой. Ехидный лектор, человек с юмором, часто любил строить разные каверзы на экзамене:
– Вы на машине были?
– Да, конечно.
– И что там запомнили?
– Перфоратор, накопители, считыватели.
– Не припомните, где там компилятор?
Человек судорожно пытается вспомнить назначение тех огромных шкафов, которыми уставлен машинный зал. Нереально. Остается надеяться на удачу.
– Как входишь, сразу же первый справа.
Мимо. Выходя из аудитории, сразу же попадает в окружение ожидающих своей участи.
– Что спрашивал?
– Где компилятор.
– Ну и где?
– Кто его знает! Я сказал, что первый справа, неверно.
Следующий уже учел этот опыт. На тот же вопрос уверенно отвечает, что слева. Опять мимо.
И только после нескольких неудачных попыток в какой-то голове, еще не окончательно задолбанной перфоратором, просыпаются знания:
– Мужики, так компилятор – это же программа!
«Прав был товарищ Сталин: кибернетика – буржуазная лженаука!» — такое резюме оставалось в душе у большинства из нас в результате общения с «Рутой–110», ее hardware и software. Попытаться запрограммировать на ней какой-то криптографический алгоритм – все равно что отправиться в кругосветное путешествие на горбатом «Запорожце», а если еще попробовать увеличить скорость…. Появления в ближайшем будущем персональных компьютеров, компьютерных сетей и INTERNET, никто тогда, в середине 70–х годов, на 4 факультете не мог себе и представить, а уж прогнозировать то, что будущая криптография будет тесно переплетена с ЭВМ, с операционными системами, с компьютерными коммуникациями было абсолютно нереально. Компьютер представлялся, в самом крайнем случае, как некий подсобный калькулятор, с помощью которого можно осуществлять тупые и трудоемкие криптографические задачи перебора ключей. Если есть возможность, думалось глядя на «Руту–110», то лучше с компьютером вообще напрямую не связываться.
Примерно через 10 лет, увидев впервые IBM PC XT, я невольно сравнил увиденное со своей первой компьютерной женщиной. И по выработанной за все это время математической привычке к обобщениям и поискам начальных аксиом, начал сразу же стал задавать себе кучу разных «А почему?».