Стивен Хокинг

Джордж и код, который не взломать


Скачать книгу

искать в Википедии статью про Берил Уайльд.

      – Как правильно пишется ваша фамилия? – спросила она.

      – Вся информация обо мне защищена законом о государственной тайне, – сказала Берил, догадавшись, для чего Анни её фамилия. Её выцветшие бледно-голубые глаза проницательно блеснули. – До сих пор, по прошествии стольких лет. Так что в интернете меня не найти.

      Эрик указал на загадочный предмет на кофейном столике напротив дивана, больше всего напоминавший старомодную пишущую машинку.

      – Это, – произнёс он выразительно, – не что иное, как «Энигма», шифровальная машина, которую во времена Второй мировой войны применяли для кодирования сообщений. Даже перехватив такое сообщение, разведчики не могли его прочитать. А Берил была в числе немногих математиков, сумевших расшифровать код «Энигмы». Благодаря чему война закончилась скорее, чем могла бы, и погибло гораздо меньше людей.

Системы счисления

      Десятичная

      Система, которой мы обычно пользуемся при счёте – десятичная система, – имеет основание 10, по числу цифр от 0 до 9.

      Мы считаем от 1 до 9 и переходим к следующему разряду – десяткам. Например:

      36 = 3 × 10 плюс 6 × 1;

      48 = 4 × 10 плюс 8 × 1;

      148 = 1 × 100 плюс 4 × 10 плюс 8 × 1

      и так далее.

      Двоичная

      В первых компьютерах применялась двоичная система счисления. Она названа так потому, что её основание – число 2: это значит, что в ней есть только две цифры – 0 и 1.

      10 = 1 × 2 плюс 0 × 1 – то есть число 2 в десятичной системе;

      11 = 1 × 2 плюс 1 × 1 – то есть число 3;

      111 = 1 × 4 плюс 1 × 2 плюс 1 × 1 – то есть число 7.

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

      Шестнадцатеричная

      Современные компьютеры намного сложнее, и код часто пишут в шестнадцатеричной системе счисления с основанием 16. Счет идёт от 0 до 9, а дальше 10 обозначается буквой A, 11 – буквой B и так далее до буквы F (то есть до 15).

      Следовательно, C обозначает 12 из десятичной системы.

      10 – так в шестнадцатеричной системе записывается число 16;

      11 – это 17;

      1F – это 31 (то есть 1 x 16 плюс F × 1 (15));

      20 – это 32 (2 × 16);

      F7 – это 247 (F × 16 (15 × 16 = 240) плюс 7 × 1);

      100 – это 256.

Взлом кода

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

      В докомпьютерную эру

      До появления цифровых компьютеров шифровальщики работали с буквами или же с цифрами, заменявшими буквы. Например, можно было заменить каждую букву в сообщении другой буквой. В простом коде буква А заменялась на Д, Б заменялась на Е и так далее. Или же расположение букв в алфавите изменялось определённым