Любой компьютерный инженер смог бы написать программу и сделать то, что сделали мы, поняв, что от него требуется. Самой сложной частью работы было создание быстродействующего алгоритма, чтобы всего за несколько секунд вы могли понять, что происходит; если создавать такой алгоритм недостаточно тщательно, он мог работать несколько часов перед тем, как выдать решение.
Мы все были хорошими программистами, и работа была существенной частью нашей жизни, поэтому мы все сделали правильно. Но это было совсем не просто».
Я помню, как аналогичную ошибку сделал программист компании Norton (до того, как Symantec купил их), разрабатывавший продукт Diskreet — приложение, которое дает пользователю возможность создавать шифрованные виртуальные драйвы. Разработчики некорректно построили алгоритм — а может, даже сделали это намеренно, и это привело к уменьшению длины ключа шифрования с 56 до 30 бит. Государственный стандарт шифрования использует 56-битный ключ, который считается практически не взламываемым, поэтому Norton гарантировал своим пользователям ощущение защищенности. Из-за ошибки программистов на самом деле данные пользователя шифровались при помощи ключа в 30 бит, а не 56. Даже в те годы 30-битный ключ можно было взломать простым «методом грубой силы» (так называется метод последовательного перебора вариантов —прим. переводчика). Любой человек, используя этот продукт, ошибочно думал, что он находится в полной безопасности: атакующий вполне мог сломать ключ шифрования достаточно быстро и получить доступ к данным пользователя. Примерно такую же ошибку обнаружили наши ребята и в программе игрального автомата.
Параллельно с работой над компьютерной программой, которая позволила бы им победить новый игральный автомат, ребята заставляли Алекса думать над новой моделью поведения, чтобы не приходилось постоянно бегать к телефону. Ответом стала страница из книги «Endaemonic Pie» — карманный компьютер. Алекс разработал систему, сделанную из миниатюрного компьютера, который Майк и Марко отыскали в каталоге, В этой системе управляющая кнопка была упрятана в ботинок, а для приема сигнала использовался виброзвонок от сотового телефона. «Нам пришлось немало поработать над тем, чтобы построить систему на основе маленького чипа и маленькой памяти», — рассказывает Алекс. « М ы создали прекрасную эргономичную систему, которая помещалась в ботинке». Вероятно, под словом «эргономичный» он подразумевает то, что его устройство было настолько маленьким, что не натирало ногу при ходьбе!
НОВАЯАТАКА
Началась отработка новой схемы работы, и это был достаточно нервный процесс. Они избавились от необходимости бегать к телефону перед каждым выигрышем. Но даже после многочисленных тренировок в домашних условиях, «работа» в реальных условиях происходит перед огромной аудиторией, существенная часть которой очень подозрительно к вам относится.
На этот раз программа была разработана так, что ребята могли сидеть у автомата, не отходя от него, осуществляя целую серию небольших менее подозрительных выигрышей. Алекс и Майк вспоминают некоторые непростые моменты в процессе «работы».
Алекс: «Я обычно помещал свой компьютер в корпус маленького транзисторного приемника. Провод от него шел через носок в ботинок к управляющей кнопке».
Майк: «Я приматывал провод к лодыжке. Мы изготавливали переключатели из небольших кусочков материала, который используется для изготовления интегральных схем. Эти переключатели были размером два на два сантиметра, с небольшой кнопкой. Затем мы вырезали такого же размера дыру в стельке и помещали переключатель в ботинок.