Где-то около года назад зофрендила меня замечательная иркутская девочка, которая ведёт интересный и небезызвестный уже бложег по книжкам:
bookeanarium. Ну, в смысле, так я про неё узнал. Но это преамбула, фабула заключается в следующем: читаю я сейчас по её наводке книжку
"Невероятные приключения Ричарда Ф. Фейнмана, рассказанные Ральфу Лейтону и подготовленные к изданию Эдвардом Хатчингсом". Там наткнулся на главу, которую не могу целиком не процитировать, одминам и безопасникам посвящается, хехе.
Ты шнифер, и я шнифер
Открывать замки научил меня парень по имени Лео Лавателли. Оказалось, что открыть обычный замок с барабанным механизмом, вроде английского замка, - проще пареной репы. Вставленной в отверстие замка отверткой пытаешься повернуть барабан (толкать его приходится сбоку, чтобы отверстие оставалось свободным). Это не удается, потому что внутри имеются цилиндрики, которые нужно поднять как раз на нужную высоту (обычно это делает вставленный в отверстие ключ). Но поскольку замок изготовлен не идеально, одни из цилиндриков начинают препятствовать поворачиванию барабана раньше, чем другие. Если теперь вставить в отверстие маленькую проволочную отмычку (это может быть разогнутая канцелярская скрепка с небольшим закруглением на конце) и подвигать ею взад-вперед, то в конце концов найдешь тот цилиндрик, который больше других держит замок, и поднимешь его на нужную высоту. Замок поддастся, повернувшись на самую малость, а первый цилиндрик останется поднятым, уцепившись своим краем за край своего отверстия. Теперь вся нагрузка приходится на другой цилиндрик, который тоже можно найти с помощью уже описанной процедуры. Так за несколько минут можно поднять все цилиндрики.
К сожалению, отвертка часто соскальзывает, и ты слышишь доводящие тебя постепенно до остервенения щелчки: в замке имеются пружинки, возвращающие цилиндрики в исходное положение при вынимании из замка ключа, и ты слышишь их срабатывание при отпускании отвертки (иногда приходится нарочно отпускать отвертку, чтобы выяснить, как обстоит дело: может оказаться, например, что ты пытаешься повернуть барабан не в ту сторону). Иногда это занятие становится похожим на сизифов труд, - ты все время скатываешься к подножию горы.
Однако в принципе это дело простое, хотя и требует практики. Ты узнаешь, с какой силой следует поворачивать барабан, - не слишком слабо, чтобы цилиндрики не соскользнули вниз, но и не слишком сильно: они должны иметь возможность подниматься. Пользующиеся замками люди вряд ли отдают себе отчет в том, насколько легко открыть эти замки без ключа.
Когда мы начинали работать над атомной бомбой в Лос-Аламосе, из-за спешки неразбериха была жуткой. Все секреты проекта, - все, относящееся к атомной бомбе, - хранились в шкафах с выдвижными ящиками, которые если и запирались, то висячими замками с трехцилиндровыми механизмами, открыть которые мог и ребенок.
Для усиления безопасности начальство снабдило все шкафы длинными планками, которые пропускались через ручки всех ящиков шкафа и запирались висячим замком.
Как-то раз кто-то меня спросил: «Посмотри на эти новые штуки, которые они установили. Теперь ты сможешь открыть шкаф?»
Я осмотрел шкаф с задней стороны и увидел, что сплошной задней стенки у него нет. Через щель у каждого ящика открывался доступ к проволочному стержню, по которому внутри ящика скользили пластины, державшие бумаги в вертикальном положении. Немного повозившись, я сдвинул такую пластину назад и через щель начал вытаскивать из ящика бумаги. «Смотри, - сказал я, - мне не пришлось даже открывать замок!»
Атмосфера в Лос-Аламосе была атмосферой добросовестного исполнения долга, и мы считали своей обязанностью указывать на недостатки, которые могли быть устранены. Я много раз говорил о ненадежности шкафов с документами, о том, что стальные планки и висячие замки - сплошная фикция.
Чтобы продемонстрировать никчемность этих замков, я всякий раз, когда мне нужен был чей-нибудь отчет, а хозяина не оказывалось на месте, просто заходил в кабинет, открывал шкаф и брал нужную бумагу. Закончив работать с ней, я отдавал ее хозяину со словами: «Спасибо за твой отчет». В ответ я слышал:
- А где ты его взял?
- У тебя в шкафу.
- Но я запер его!
- Знаю, что ты его запер. Но замки - барахло!
Наконец, пришли шкафы с цифровыми замками фирмы «Мозлер», специализирующейся на изготовлении сейфов. У этих шкафов было три ящика, причем выдвигание верхнего ящика освобождало запор, удерживавший остальные два. Верхний ящик отпирался поворотом лимба влево, вправо, потом снова влево до определенных цифр и, наконец, вправо до цифры 10. В результате этих операций внутри вытягивался запирающий ящик стержень. Чтобы запереть весь шкаф, нужно было сначала задвинуть нижние ящики, затем задвинуть верхний ящик и затем повернуть лимб от цифры 10; при этом стержень возвращался в прежнее положение.
Само собой разумеется, что эти новые шкафы были вызовом моей любознательности. Я люблю загадки. Какой-то парень хочет тебя перехитрить, но ты должен найти ответ!
Чтобы понять, как работает этот замок, мне пришлось разобрать тот, что стоял в моем кабинете. Работал он следующим образом: на оси один за другим стояли три диска с прорезями в разных местах. Идея заключалась в том, чтобы при установке лимба на 10 фрикционный привод протягивал стержень через щель, образованную прорезями в трех дисках.
Для поворачивания дисков служит штырек, торчащий с задней стороны лимба с цифрами, и штырек, установленный на том же радиусе на первом диске. За один поворот лимба ты наверняка захватываешь первый диск.
С задней стороны первого диска имеется еще один штырек на том же радиусе, что и штырек на передней стороне второго диска, поэтому за два поворота лимба ты захватишь и второй диск.
При дальнейшем вращении лимба штырек на задней стороне второго диска войдет в соприкосновение со штырьком на передней стороне третьего диска, который теперь можно будет повернуть в нужное положение, определяемое первым числом цифровой комбинации.
Повернув затем лимб на один оборот в обратную сторону (при этом штырек на втором лимбе захватывается с обратной стороны) и дальше до второго числа, ты устанавливаешь в нужное положение и второй диск.
Обращая еще раз направление вращения лимба, ты ставишь в правильное положение первый диск. Теперь все три прорези находятся друг против друга, и поворотом лимба на 10 ты открываешь замок.
Так вот, я старался изо всех сил и ничего не мог поделать с этим замком. Я купил пару книжек про известных взломщиков, но толку от них было мало. В начале книжки автор травил несколько историй про фантастические подвиги взломщика, вроде той, где запертая в холодильнике женщина замерзла бы, если б не взломщик, который за две минуты открыл замок, вися вниз головой. Или той, где герой ныряет и под водой открывает сундук с драгоценными мехами или золотыми слитками.
Во второй части книги шли советы, как лучше вскрыть сейф вам. Это была туфта вроде того, что «прекрасная идея - попробовать в качестве комбинации цифр дату, потому что куча народу использует для этой цели даты». Или: «подумайте о складе ума владельца сейфа и о том, что он мог использовать в качестве комбинации». Или «секретарши часто боятся забыть комбинацию и записывают ее в одном из следующих мест: на краешке стола, в записной книжке, и…». И дальше мура в том же духе.
И все-таки кое-что полезное про обычные сейфы я узнал. У обычных сейфов есть дополнительная ручка, и если ее поворачивать, одновременно вращая цифровой лимб, повторится ситуация, уже описанная применительно к барабанным замкам: проталкиваемый ручкой через прорези (которые не выстроены вдоль одной прямой) дисков стержень одним диском удерживается больше, чем остальными. Поэтому, когда стержень попадает против отверстия в этом диске, раздается еле слышный щелчок, который можно уловить стетоскопом, или наблюдается небольшое уменьшение трения, которое можно ощутить рукой (и стирать кончики пальцев о наждачную бумагу для этого не нужно!). Услышав этот щелчок, вы говорите себе: «Ага, вот число!».
Вы не знаете, первое, второе или третье это число, но довольно точное представление об этом сможете получить, сосчитав число оборотов, которые нужно сделать в обе стороны, чтобы снова услышать тот же щелчок. Если оно меньше единицы, то это первый диск, а если немного меньше двух (нужно учитывать толщину штырьков), - второй.
Этот полезный трюк срабатывает только с обычными сейфами, имеющими дополнительную ручку, и для меня он был бесполезен.
Я перепробовал с этими шкафами всякие «нечестные» способы: пытался, например, не открывая верхнего ящика, открыть защелки нижних проволочным крюком, продетым через отверстия, получающиеся при вывинчивании винтов из передней панели шкафа.
Я пробовал вращать лимб очень быстро и затем устанавливать его на 10, надеясь, что благодаря трению диски каким-то образом сами встанут в нужное положение. Я перепробовал все, что пришло мне в голову, и все было напрасно. Я был в отчаянии.
Тогда я предпринял небольшое систематическое исследование. Типичной была, например, комбинация 69-32-21. Я задался вопросом, насколько неверной может быть эта комбинация, чтобы она все-таки открывала замок? Если первое число 69, пойдет ли 68? 67? Для тех замков, что были у нас, ответом на эти оба вопроса было да, а вот 66 уже не годилось. Вы могли ошибиться на две единицы в обе стороны. Это означало, что пробовать вам надо было одно число из пяти, так что набирать нужно было нуль, пять, десять, пятнадцать и так далее. Это уменьшало количество чисел на лимбе со ста до двадцати, а количество всех возможных комбинаций трех чисел - с 1 000 000 до 8000.
После этого возникал вопрос, сколько времени займет перепробовать 8000 комбинаций? Допустим, я знаю первые два числа комбинации, которую я хочу найти. Пусть это будут числа 69-32, но я не знаю этого, - я получил их как 70-30. Я могу теперь попробовать двадцать третьих чисел, не набирая каждый раз первые два. Допустим теперь, что правильно я знаю только первое число комбинации. Перепробовав на третьем диске двадцать чисел, я сдвину второй диск лишь немного и затем наберу еще двадцать чисел на третьем диске.
Я тренировался на своем сейфе все свободное время, и в конце концов я стал проделывать эту процедуру с максимальной скоростью, не забывая при этом, какое число нужно набирать сейчас и не путая первое число. Подобно жонглеру, я выработал у себя абсолютное чувство ритма и последние 400 чисел мог перебрать менее чем за полчаса. Это значило, что открыть сейф я могу максимум за 8 часов при среднем времени 4 часа.
В Лос-Аламосе был еще один малый по имени Стейли, который тоже интересовался замками. Время от времени мы встречались и болтали, но ни к чему хорошему так и не пришли. Когда я открыл этот способ открывать замок в среднем за четыре часа, я пошел продемонстрировать его Стейли. Я поднялся в вычислительный отдел, где он работал, и сказал: «Ребята, если вы не возражаете, я воспользуюсь вашим сейфом, чтобы кое-что показать Стейли».
Вокруг меня стали собираться сотрудники вычислительного отдела, и один из них закричал: «Эй, все сюда! Фейнман будет учить Стейли взламывать сейфы!» Я не собирался именно открывать сейф; я хотел только показать Стейли способ быстрого перебора последних двух чисел без повторной установки первого.
Я начал: «Предположим, что первое число - 40, а в качестве второго числа мы пробуем 15. Крутим назад и вперед до 10, назад на пять больше и вперед до 10 и так далее. Мы перепробовали все возможные третьи числа. Попробуем теперь в качестве второго числа 20. Крутим назад и потом вперед до 10, потом назад на 5 больше и вперед до 10, еще на 5 больше назад и вперед…» ЩЕЛК! Моя челюсть отпала: первое и второе числа оказались правильными!
Выражения моего лица никто не видел, потому что я стоял ко всем спиной. Стейли выглядел очень удивленным, но мы оба быстро поняли, что произошло. Я торжественно выдвинул верхний ящик и сказал: «Пожалте!»
Стейли сказал: «Я понял. Это очень хорошая схема», и мы вышли. Все были ошарашены. Это был полный успех. Теперь я на самом деле приобрел славу взломщика.
На это у меня ушло полтора года (я работал и над бомбой, само собой!), но я считал, что с сейфами я справился - в том смысле, что если бы возникла действительная нужда, - кто-нибудь бы пропал или умер, а комбинацию больше никто не знал бы, - я смог бы открыть сейф. После той напыщенной галиматьи, которую о взломщиках писали в книжках, я мог считать это вполне серьезным достижением.
С развлечениями у нас в Лос-Аламосе было неважно, нам приходилось развлекать себя самим, и возня с мозлеровским замком моего шкафа была одним из моих развлечений. Как-то раз я сделал интересное наблюдение: когда замок был открыт, ящик выдвинут, а лимб оставлен на 10 (именно в таком состоянии люди оставляли свой шкаф, когда они его открывали и вынимали из него документы), запирающий стержень все еще оставался в нижнем положении. Что же это означало, что стержень был внизу? Это означало, что стержень продет через прорези всех трех дисков, которые, следовательно, все еще стоят друг против друга. Ага…
Если теперь лимб слегка повернуть от 10, стержень пойдет вверх, но если сразу вернуть лимб на 10, он снова опустится, потому что канал из прорезей для него все еще сохранен. Если шагами по 5 делений уходить от 10, начиная с некоторого момента стержень перестанет опускаться при возвращении на 10: канал для стержня только что был нарушен. А непосредственно предшествовавшее этому число, при котором стержень все еще опускался, есть последнее число комбинации!
Я сообразил, что то же можно проделать и для второго числа: если я знаю последнее число, я могу прокрутить лимб в обратную сторону и снова, шагами по пять делений, постепенно повернуть второй диск в такое положение, при котором стержень перестанет проходить через него. Предшествовавшее этому число будет вторым числом комбинации.
Если бы я был очень терпеливым человеком, таким способом я мог бы находить все три числа комбинации, но усилия, которые надо было затратить для нахождения первого числа таким хитроумным способом, намного превосходили те, которые требовались для простого перебора двадцати возможных чисел с двумя уже известными последними числами комбинации (напомню, что такой перебор выполнялся на закрытом замке).
Я практиковался и практиковался до тех пор, пока не достиг той степени совершенства, при которой я мог подобрать последние два числа на открытом замке, почти не глядя на лимб. И тогда я стал проделывать такую штуку: зайдя к кому-нибудь в кабинет для обсуждения какой-нибудь физической задачи, я прислонялся к открытому шкафу и как бы в забывчивости крутил его лимб туда-сюда, как это делает человек, во время разговора рассеянно играющий ключами. Иногда я не смотрел на стержень, а просто клал на него палец, чтобы знать, когда он пойдет вверх. Таким способом я выяснил последние два числа на нескольких сейфах. Придя в свой кабинет, я записывал пары последних чисел на бумажке, которую я хранил в замке своего сейфа. Чтобы достать бумажку, я каждый раз разбирал свой замок: это место я считал самым надежным.
Слава обо мне вскоре стала распространяться благодаря случаям, вроде такого: кто-нибудь подходит ко мне и говорит: «Слушай, Фейнман, Кристи уехал, а нам нужна бумага из его шкафа. Ты не можешь открыть его?»
Если это был шкаф, у которого я не знал последних двух чисел, я обычно просто отвечал: «Простите, ребята, только не сейчас. У меня работы по уши». В обратном случае я говорил: «Ладно, сбегаю только за инструментом». Никакой инструмент мне нужен не был, я шел в свой кабинет, открывал шкаф и смотрел в свою шпаргалку: «Кристи - 35-60». Потом я брал отвертку, шел в кабинет Кристи и закрывал за собой дверь. Ясно, что не всякому следовало знать, как это делается.
В кабинете я был один, и обычно я открывал шкаф за несколько минут. Все, что нужно было сделать, - это самое большее 20 раз набрать первое число. После этого я брал журнальчик и минут 15-20 читал его. Не стоило показывать, что дело очень простое: кто-нибудь мог заподозрить, что что-то тут нечисто. Через некоторое время я выходил и сообщал: «Готово!»
Люди думали, что я открываю замки безо всякой предварительной информации. После того случая со Стейли я мог держать их в уверенности, что открыть сейф для меня - плевое дело. Никто не догадывался, что я тайком выяснял последние два числа их замков, хотя (а может быть, именно потому что) я делал это постоянно, как картежный шулер, который не расстается с колодой.
Часто мне приходилось ездить в Ок-Ридж для проверки мер безопасности на урановом заводе. Время было военное, все спешили, и один раз мне пришлось ехать туда на уикэнд. Было воскресенье, и мы сидели в кабинете генерала. Мы - это сам генерал, глава или вице-президент какой-то компании, пара других шишек и я. Мы собрались для обсуждения отчета, который хранился у генерала в сейфе, - настоящем сейфе, - как вдруг выяснилось, что генерал не знает комбинацию. Ее знала только секретарша, но когда он позвонил ей, оказалось, что она на пикнике за городом.
Пока все это выяснялось, я спросил: «Можно мне повозиться с сейфом?» - «Ха-ха, конечно!» И я отправился к сейфу и начал колдовать.
Они принялись обсуждать, где достать машину, чтобы попытаться найти секретаршу, и генерал чувствовал себя все более и более виноватым в том, что он задерживает столько народу. А народ терял терпение и начинал уже сердиться на генерала, когда - ЩЕЛК! - сейф открылся.
За 10 минут я открыл сейф, в котором были все секреты уранового завода. Все были изумлены. Сейф явно был не очень надежным. Это был ужасный удар: все эти бумаги «только для прочтения», «совершенно секретно» заперты в фирменном сейфе, и вдруг этот тип приходит и открывает его за 10 минут!
Разумеется, мне удалось открыть его благодаря моей постоянной привычке выяснять последние два числа комбинации. Будучи в Ок-Ридже за месяц до этого, я был в этом самом кабинете, когда сейф был открыт, и в своей «рассеянной» манере выяснил последние два числа, - своей страсти я предавался постоянно. Хотя я не записал эти числа, смутно я их помнил. Сначала я попробовал 40-15, потом 15-40, но ни одна из этих комбинаций не сработала. Тогда я попробовал 10-45 со всеми первыми числами, и сейф открылся.
Продолжение...