Шрифт:
У Беллисов даже холодильник был не как у всех – он скорее походил на лабораторный шкаф: массивный, стальной, с множеством выдвижных ящиков и отсеков, позволяющих изолировать разные вещества друг от друга. Профессиональное оборудование, так же похожее на обычный холодильник, как бумажный самолётик – на космический корабль. Это была одна из причин, по которым Джорджа так тянуло в этот дом: здесь было полно неожиданных устройств и научных диковинок, которые Эрик купил, или отыскал, или получил в подарок в ходе многолетних занятий наукой. Джордж с завистью смотрел на холодильник, излучавший странное голубое сияние. У него-то в доме даже компьютер наверняка обладает меньшей вычислительной мощностью, чем вот этот холодильник…
Удручённо размышляя об этом, Джордж не сразу осознал, что из гостиной доносятся голоса.
– Анни! Джордж! – Папа Анни, Эрик, показался в дверях кухни. Его лицо сияло улыбкой, глаза за толстыми стёклами очков блестели, узел галстука был ослаблен, манжеты расстёгнуты. В руках у Эрика были два хрустальных бокала.
– Пришёл наполнить, – объяснил он, ставя бокалы на стол.
Он взял в руки пыльную старую бутылку, с громким «чпок» выдернул пробку и плеснул в бокалы тёмно-янтарную жидкость.
– Зайдите, поздоровайтесь с моей гостьей! – Эрик снова широко улыбнулся, отчего в уголках его глаз появились морщинки. – У неё есть кое-что такое, что может вас заинтересовать.
Джордж и Анни вмиг забыли о своём споре и проследовали за Эриком в гостиную, уставленную от пола до потолка рядами книг. Это была прекрасная комната, полная разнообразных прелюбопытнейших предметов, таких как Эриков древний медный телескоп. Научно-технический прогресс, правивший бал в остальных частях дома, здесь не так бросался в глаза: гостиная была не то что крутой или футуристической, а скорее просто уютной. На продавленном диване, оставшемся у Эрика ещё со студенческих лет, сидела очень старая, просто-таки древняя дама.
– Берил, – обратился к даме Эрик, вручая ей бокал хереса, – позвольте представить вам Анни и Джорджа. Анни, Джордж, это Берил Уайльд.
Берил благосклонно приняла напиток и сразу отпила глоток.
– Очень приятно! – сказала она и приветственно помахала рукой.
– Берил – один из величайших математиков нашего времени, – произнёс Эрик очень торжественно.
Берил расхохоталась.
– Ах, ну что за нелепость, право!
– Но это действительно так! – возразил Эрик. – Если бы не математический гений Берил, погибло бы гораздо больше миллионов людей.
– Каких людей? – спросил Джордж.
Анни достала смартфон и принялась искать в Википедии статью про Берил Уайльд.
– Как правильно пишется ваша фамилия? – спросила она.
– Вся информация обо мне защищена законом о государственной тайне, – сказала Берил, догадавшись, для чего Анни её фамилия. Её выцветшие бледно-голубые глаза проницательно блеснули. – До сих пор, по прошествии стольких лет. Так что в интернете меня не найти.
Эрик указал на загадочный предмет на кофейном столике напротив дивана, больше всего напоминавший старомодную пишущую машинку.
– Это, – произнёс он выразительно, – не что иное, как «Энигма», шифровальная машина, которую во времена Второй мировой войны применяли для кодирования сообщений. Даже перехватив такое сообщение, разведчики не могли его прочитать. А Берил была в числе немногих математиков, сумевших расшифровать код «Энигмы». Благодаря чему война закончилась скорее, чем могла бы, и погибло гораздо меньше людей.
Десятичная
Система, которой мы обычно пользуемся при счёте – десятичная система, – имеет основание 10, по числу цифр от 0 до 9.
Мы считаем от 1 до 9 и переходим к следующему разряду – десяткам. Например:
36 = 3 x 10 плюс 6 x 1;
48 = 4 x 10 плюс 8 x 1;
148 = 1 x 100 плюс 4 x 10 плюс 8 x 1
и так далее.
Двоичная
В первых компьютерах применялась двоичная система счисления. Она названа так потому, что её основание – число 2: это значит, что в ней есть только две цифры – 0 и 1.
10 = 1 x 2 плюс 0 x 1 – то есть число 2 в десятичной системе;
11 = 1 x 2 плюс 1 x 1 – то есть число 3;
111 = 1 x 4 плюс 1 x 2 плюс 1 x 1 – то есть число 7.
В микросхемах первых компьютеров было всего два положения: «выключено» и «включено»; поэтому двоичный код – код, основанный на двоичной системе, – хорошо подходил для вычислений: ноль в ней соответствовал положению «выключено», а единица – «включено».
Шестнадцатеричная
Современные компьютеры намного сложнее, и код часто пишут в шестнадцатеричной системе счисления с основанием 16. Счет идёт от 0 до 9, а дальше 10 обозначается буквой A, 11 – буквой B и так далее до буквы F (то есть до 15).
Следовательно, C обозначает 12 из десятичной системы.
10 – так в шестнадцатеричной системе записывается число 16;
11 – это 17;
1F – это 31 (то есть 1 x 16 плюс F x 1 (15));
20 – это 32 (2 x 16);
F7 – это 247 (F x 16 (15 x 16 = 240) плюс 7 x 1);
100 – это 256.
Взломом обычно называют расшифровку сообщений, когда у расшифровщика нет доступа к секретному ключу, которым пользовался отправитель. Другое название этого процесса – криптоанализ.
В докомпьютерную эру
До появления цифровых компьютеров шифровальщики работали с буквами или же с цифрами, заменявшими буквы. Например, можно было заменить каждую букву в сообщении другой буквой. В простом коде буква А заменялась на Д, Б заменялась на Е и так далее. Или же расположение букв в алфавите изменялось определённым образом.
При расшифровке такого сообщения имело смысл подсчитать, сколько раз та или иная буква появляется в зашифрованном тексте (это называется частотный анализ), а затем угадать какие-то из замен. Например, мы знаем, что буква «о» встречается в очень многих словах, так что если в зашифрованном тексте часто попадается буква «ч», то можно предположить, что она заменяет букву «о». А учитывая, что в сообщении всегда присутствует смысл, одной верной догадки может оказаться достаточно, чтобы правильно определить остальные замены.
В более сложных шифрах для каждой буквы сообщения могут применяться комбинации букв алфавита, и возможности для шифрования очень широки: так, если в алфавите 33 буквы, то для шифрования первой буквы комбинации могут составляться из 33 букв, для второй – из 32 букв, для третьей – из 31 и так далее.
Современная дешифрация сообщений
Современные методы применимы не только к буквам, но и к битам (единицам и нолям). При зашифровке и дешифровке используется секретный ключ, который представляет собой длинную последовательность битов (единиц и нолей).
256-битный ключ считается в наши дни вполне достаточным для того, чтобы помешать взломщику кода, сидящему за суперкомпьютером, найти ключ «лобовым методом» – полным перебором возможных вариантов.
ВЗЛОМ КОДА (+ 1 БУКВА) ГИМПН ЛПЕБ
ДЖОРДЖ (+ 3 БУКВЫ) ЖЙСУЖЙ
АННИ (- 1 БУКВА) ЯММЗ