Выбрать главу

Сюзан го изгледа внимателно и едва не се изсмя. Неразбиваем? Какво, по дяволите, би следвало да означава това? Нямаше такова нещо като неразбиваем код — просто някои отнемаха повече време от други, но всички шифри бяха разбиваеми. Математически бе гарантирано, че рано или късно TRANSLTR ще намери решението.

— Не разбрах?

— Шифърът е неразбиваем — с равен глас повтори той.

Неразбиваем? Сюзан не можеше да повярва, че не друг, а човек с трийсет и седем годишен стаж като криптоаналитик може да произнесе точно тази дума.

— Неразбиваем, сър? — повтори тя. — Къде тогава отива принципът на Бергофски?

Сюзан бе научила за „принципа на Бергофски“ в самото начало на кариерата си. Това бе крайъгълният камък на метода на грубата сила. От него Стратмор бе почерпил вдъхновението за създаване на TRANSLTR. Принципът съвсем недвусмислено постулираше, че ако компютърът опита достатъчно на брой ключове, математически е гарантирано, че ще намери търсения. Надеждността на шифъра не е в това, че ключът му е неоткриваем, а че повечето хора нямат нито времето, нито оборудването да опитат да го намерят.

Стратмор поклати глава и каза:

— Този шифър е различен.

— Различен? — Сюзан го изгледа въпросително. „Неразбиваемият код е математически абсурд! Той не може да не знае това!“

Стратмор обърса потното си теме.

— Кодът е продукт на съвършено нов тип шифроващ алгоритъм — такъв, какъвто не сме виждали досега.

Това вече засили съмненията на Сюзан. Шифроващите алгоритми бяха обикновени математически формули — рецепти за скремблиране на текста в код. Математици и програмисти създаваха нови алгоритми ежедневно. На пазара вече имаше десетки такива: Пи Джи Пи, Дифи-Хелман, ЗИП, ИДЕА, Ел Гамал. TRANSLTR безпроблемно разбиваше десетки такива ежедневно — за него всички кодове изглеждаха идентични, независимо от алгоритъма, с който бяха получени.

— Нещо не разбирам — възрази тя. — Ние не говорим за реконструиране на някаква сложна функция, става дума за метода на грубата сила. Пи Джи Пи, Луцифер, Ди Ес Ей — каква е разликата? Алгоритъмът генерира ключ, който смята за надежден, а TRANSLTR изчерпва възможните комбинации, докато не го намери.

Стратмор вложи в гласа си контролираното търпение на добър учител.

— Да, Сюзан, TRANSLTR винаги намира ключа… дори когато е огромен. — Той направи дълга пауза. — Освен ако…

Сюзан искаше да проговори, но разбираше, че Стратмор само прави драматична пауза, за да хвърли бомбата. Освен, ако…?

— Освен, ако компютърът не знае, че вече е разбил шифъра.

Сюзан едва не падна от стола.

— Какво?!

— Освен, ако компютърът не открие правилния ключ, но продължи със следващата комбинация, понеже не е разбрал, че го е подминал. — Стратмор изглеждаше нещастен. Според мен алгоритъмът използва цикличен открит текст.

Сюзан зяпна.

Идеята за функция, осъществяваща цикличен открит текст, бе изложена за пръв път в малко известна статия от 1987 година на унгарския математик Йожеф Харни. Понеже компютрите, използващи метода на грубата сила, за да разбият един или друг шифър, проверяват резултата от прилагането на всеки изпробван ключ, като търсят в разшифровката идентифицируеми думи или фрагменти от такива, Харни предлагаше шифроващ алгоритъм, който в допълнение към стандартната функция по кодиране измества разкодирания текст на променливо отместване. На теория това би трябвало да доведе до непрестанно самомодифициращ се текст, който възпрепятства откриването на разпознаваеми думи, а това не позволява да се сложи край на алгоритъма за търсене на правилния ключ. Концепцията бе нещо като идеята за колонизиране на Марс — приемлива на интелектуално ниво, но понастоящем отвъд човешките възможности за реализация.

— И откъде се появи това чудо? — попита тя.

Началникът й не бързаше да отговори.

— Един програмист го публикува в публичния сектор.

— Какво?! В тази сграда работят най-добрите програмисти на света! И всички ние заедно така и не се доближихме до успешната реализация на циклично ротиращ открит текст. Не ми казвай, че някакъв пънк с домашен компютър е намерил начин да го постигне!

Стратмор понижи глас в съзнателно усилие да я успокои:

— Не бих нарекъл този човек „пънк“.

Но Сюзан не го слушаше. Беше убедена, че трябва да има някакво друго обяснение: грешка в програмата, вирус — всичко друго бе по-вероятно от неразбиваем код.