Первая и самая необходимая модернизация – переставить подстановку.
Рис. 3. Шифратор «Ангстрем – 3 М»
Почему использование подстановки ? до, а не после операции сложения с функцией обратной связи более целесообразно? Давайте немного окунемся в математику и в проведенный в 5 отделе СУ 8 ГУ КГБ СССР «анализ идеи» шифратора «Ангстрем – 3». Я неспроста употребил здесь такой странный термин, как «анализ идеи». Сам шифратор может строиться по-разному, это может быть блочный шифр (простая замена большой степени), а может быть шифр гаммирования. Но анализ в любом случае проводится в следующих предположениях.
Ключом является входное слово (последовательность байт) x
,x
,…,x
, записанное в правом регистре;
Цикл работы состоит из T тактов, за каждый такт состояние левого регистра сдвигается на одну ячейку влево и в крайнюю правую ячейку добавляется функция обратной связи, зависящая от состояния и очередного байта ключа;
Подстановка ? – известна;
Известны несколько начальных и соответствующих им конечных состояний левого регистра.
При таких предположениях ставится задача: определить неизвестный ключ, т.е. входное слово x
,x
,…,x
.
Обозначим состояния левого регистра.
– y
,y
,…,y
начальное состояние;
– y
,y
,…,y
промежуточное состояние;
– y
,y
,…,y
конечное состояние.
При T ? 8 промежуточное состояние отсутствует.
Для шифратора «Ангстрем – 3» при любом i ? {1,2,…,T} будет справедливо следующее соотношение:
y
= ?(y
+ y
+ y
+ x
) =>
?
(y
) = y
+ y
+ y
+ x
=>
?
(y
) = ??
(y
) + ??
(y
) + ??
(y