Книга: Криптография и свобода
Глава 1. Rub berries body
Глава 1. Rub berries body
«Из математика легко подготовить программиста, а вот из программиста математика – сложнее» — так любил говорить Б.А., мой научный руководитель. Истинно так! Только каков конкретный алгоритм подготовки программиста из математика-криптографа? С чего, по выражению Великого Вождя, начать?
С компьютерных игр. Пусть наиграется до посинения, до тех пор, пока пар из ушей не повалит, после этого – клиент готов. Дальше до всего остального, если есть голова на плечах, додумается сам. Главное – чтобы компьютер имел, как принято выражаться, дружеский интерфейс, а по-простому, по-советски – не заставлял бы тебя долбать дырки в перфоленте, не стращал бы своими кастрюлями-накопителями, не ломался и был бы доступен без записей и очередей практически в любое время, т.е. был бы на самом деле персональным. Математику, прошедшему через алгебру и ТВИСТ, разобраться в какой-то там DOS или языках программирования совсем нетрудно, а компьютер, после проведенных вместе с ним битв против шамуса или арканоида, — лучший боевой друг.
Несомненно, это была вражеская диверсия: в Теоретический отдел Спецуправления 8 Главного управления КГБ СССР практически одновременно с появлением там первых PC были запущены компьютерные игры. Работа встала, начался первый и самый основной этап освоения компьютерной грамотности – наиграться до посинения. Все теоретики, алгебраисты и вероятностники, молодые и старые, активные и пассивные, обсуждали одну и ту же научную проблему: как в Space Quest–2 пройти болото с кикиморой.
– Палку взять на берегу пробовали?
– Сколько раз, не помогает.
– Нырни поглубже и обойди ее.
– Глубже не ныряется.
– Должна же быть дорога в обход болота.
– Да нет там никакой другой дороги, только через болото!
– Пугнуть ее чем-то надо.
– Пробовали, не помогает.
Это была одна из первых игр-бродилок, в которых команды человечку-путешественнику по неведомой планете надо было набирать по-английски на клавиатуре. Успешно были пройдены все первые уровни, а вот на этом проклятом болоте кикимора всякий раз нагло проглатывала отважного странника. И весь 5 отдел никак не мог ничем ему помочь.
Забыты научные распри и споры, наступило всеобщее единение в борьбе с этой буржуйской вражиной. Научный подход: пронумерованы все предыдущие попытки, идет анализ возможных вариантов, дискуссии и дебаты, рисуются схемы проходимых лабиринтов, криптографы яростно пытаются применить самый известный и самый надежный метод криптографического анализа – метод тотального опробования, не остаются в стороне и другие достижения современной криптографической мысли – методы согласования, гомоморфизмов, статистических аналогов, и все они направлены против одного и того же противника, воспринимаемого уже не как абстрактный «вероятный противник», а как самый ни на есть настоящий – кикимора из болота в Space Quest 2 и те, кто ее придумал. В конце концов человеческий разум победил!
Где-то спустя примерно неделю после первой попытки, когда, казалось, тотально были опробованы все мыслимые криптографами методы, кто-то обратил внимание на кусты, растущие около болота.
– Ягоды с кустов есть пробовали?
– Не помогает.
– А если натереть ими тело?
Rub berries body. Волшебные слова, истина в последней инстанции! Человек, сказавший их первым, заслуженно стал героем дня, его поздравляли, жали руку, желали дальнейших творческих успехов. После этих слов запах ягод отпугнул кикимору и она сочла человечка несъедобным. Всеобщее ликование и радость: победа, добытая в трудной и упорной борьбе!
Это был, пожалуй, пик экстаза компьютерных игр в отделе. Ажиотаж пошел на спад, хотя тетрисоманы еще долго крутили-вертели свои загогулины, пытаясь установить новый абсолютный рекорд. Но в конце концов свершилось то, что и должно было свершиться: игры стали надоедать. Может, запрограммировать что-нибудь? Алгоритм какой или метод? Вот так персональные компьютеры стали лучшими друзьями всего прогрессивного человечества, в том числе и советских криптографов. По крайней мере, в Теоретическом отделе Спецуправления 8 ГУ КГБ СССР.
- Глава 1. Обзор Ruby
- 1.2. Базовый синтаксис и семантика Ruby
- 1.3. ООП в Ruby
- 1.4. Динамические аспекты Ruby
- 12.5.1. Ruby и X
- 12.5.2. Ruby и wxWidgets
- 12.5.4. Ruby и Windows API
- Booting to a Nondefault Runlevel with GRUB
- 7.5.2. GRUB
- 19.1. Несколько слов о GRUB2
- Retrieving an Article Body Only
- 1.6. Жаргон Ruby