Десятичная
Система, которой мы обычно пользуемся при счёте – десятичная система, – имеет основание 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.
Взломом обычно называют расшифровку сообщений, когда у расшифровщика нет доступа к секретному ключу, которым пользовался отправитель. Другое название этого процесса – криптоанализ.
В докомпьютерную эру
До появления цифровых компьютеров шифровальщики работали с буквами или же с цифрами, заменявшими буквы. Например, можно было заменить каждую букву в сообщении другой буквой. В простом коде буква А заменялась на Д, Б заменялась на Е и так далее. Или же расположение букв в алфавите изменялось определённым образом.
При расшифровке такого сообщения имело смысл подсчитать, сколько раз та или иная буква появляется в зашифрованном тексте (это называется частотный анализ), а затем угадать какие-то из замен. Например, мы знаем, что буква «о» встречается в очень многих словах, так что если в зашифрованном тексте часто попадается буква «ч», то можно предположить, что она заменяет букву «о». А учитывая, что в сообщении всегда присутствует смысл, одной верной догадки может оказаться достаточно, чтобы правильно определить остальные замены.
В более сложных шифрах для каждой буквы сообщения могут применяться комбинации букв алфавита, и возможности для шифрования очень широки: так, если в алфавите 33 буквы, то для шифрования первой буквы комбинации могут составляться из 33 букв, для второй – из 32 букв, для третьей – из 31 и так далее.
Современная дешифрация сообщений
Современные методы применимы не только к буквам, но и к битам (единицам и нолям). При зашифровке и дешифровке используется секретный ключ, который представляет собой длинную последовательность битов (единиц и нолей).
256-битный ключ считается в наши дни вполне достаточным для того, чтобы помешать взломщику кода, сидящему за суперкомпьютером, найти ключ «лобовым методом» – полным перебором возможных вариантов.
ВЗЛОМ КОДА (+ 1 БУКВА) ГИМПН ЛПЕБ
ДЖОРДЖ (+ 3 БУКВЫ) ЖЙСУЖЙ
АННИ (− 1 БУКВА) ЯММЗ
– Вот это да! – воскликнула Анни, отрывая взгляд от телефона. – Значит, вы могли читать тайные послания, а те, кто их писал, понятия не имели, что вы в курсе их планов? Это как если бы кто-то сейчас прочитал все мои мейлы… Хотя, конечно, я ни с кем не воюю, – добавила она. – Разве что с Карлой Кусзанос, которая надо мной издевалась, когда я неправильно написала что-то на доске…
– Именно, – кивнула Берил. – Мы перехватывали их послания, расшифровывали и таким образом узнавали их планы. И это давало нам огромное преимущество.
– Круто! – восхитилась Анни. – Уважуха, Берил! – И она снова принялась печатать на телефоне.
– Это что, настоящая «Энигма»? – Джордж пожирал машину глазами. В доме Беллисов появилось очередное умопомрачительное устройство! Он в миллионный раз пожалел, что родился у своих мамы с папой, а не у Беллисов.
– Да, – сказала Берил, улыбаясь ему. – И я дарю её Эрику.
Военные тайны
Во время Второй мировой (1939–1945) воюющие страны для шифрования важных сообщений использовали машины. В Германии это была машина «Энигма», в Британии – «Тайпекс».