УСТРОЙСТВО КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ

Предлагаемое изобретение относится к области вычислительной техники и связи и может быть использовано в локальных корпоративных сетях, а также в информационно-управляющих комплексах для защиты передаваемой информации.
Известно более 20 распространенных методов и соответствующих им устройств (или алгоритмов и программ) криптографической защиты информации /1-7/. Известны также патенты №2141729, 2172075, 2188513, 2206120, 2206182,2211541 и 2212108, которые можно рассматривать как аналоги.
Наиболее близким к предлагаемому является по патенту Российской Федерации (19) RU (11) 2091983 (13) С1 (51) 6H04L 9100, G06F 12/16 «Способ шифрования двоичной информации и устройство для его осуществления».
Устройство по этому способу формирует К групп по n бит, где n - длина обрабатываемого текста. Причем каждая из групп обрабатывается в зависимости от значения n-бит секретного ключа, с перемешиванием поточного шифра по случайному закону. Поточный шифр суммируют по модулю 2 с порцией сообщения. Устройство содержит регистр секретного ключа, блок управления, четыре последовательно-параллельных регистра, регистр показателей степени, блок перемешивания бит, логический блок с сумматором по модулю 2, элементы «И», «ИЛИ» и др.
По существу в устройстве по патенту 2091983 сделана попытка для каждой порции информационного сообщения на основе единственного секретного ключа построить «индивидуальный» как они называют поточный шифр с учетом значения самой порции сообщения. Недостатком этого устройства является использование в его структуре весьма сложного устройства возведения N-битного кода i-1 группы поточного шифра в степень m по модулю Р, а также использование одного фиксированного секретного ключа с числом n-бит, равным разрядности одной «порции» сообщения.
Целью настоящего изобретения является разработка устройства с принципиально новым принципом рассеивания информации, обеспечивающим достаточный уровень защиты при ограниченном числе циклов шифрования и повышение быстродействия кодирования для использования в системах реального времени при высоких скоростях передачи информации.
Устройство криптографической защиты информации, содержащее постоянное запоминающее устройство (1), соединенное своим параллельным выходом с регистром сдвига ключа (2), первый выход которого через нулевой вход триггера (3) и его нулевой выход образует последовательную цепь блоков из схемы И(4), регистра нулевого кортежа (5), через первый выход регистра сдвига результата (6), к регистру результата (7), логическому блоку (8), причем второй выход регистра сдвига результата (6) через схему И(9) соединен с выходом устройства (10); выход ПЗУ(1), через регистр ключа (11) соединен со вторым входом логического блока (8), при этом второй выход регистра сдвига ключа (2) через единичный вход триггера (3) образует вторую последовательную цепь блоков в виде схемы И(12) и регистра единичного
кортежа (13), выход которого соединен с третьим входом регистра сдвига результата (6), причем вторые входы элемента И(4) и элементы И(12) соединены с выходом элемента ИЛИ(14), два входа которого соединены с выходами элемента И(15) и элемента И(16); первый вход элемента И(15) соединен со входом устройства (17), а первый вход элемента И(16) соединен со вторым выходом регистра сдвига результата (6); вторые входы элементов И(9), И(15), И(16); третьи входы элементов И(4), И(12) и все управляющие входы блоков 1, 2, 5, 6, 7, 11, 13 соединены с выходами микропрограммного автомата (18), входами которого являются единичный выход триггера (3), соединенный со вторым входом микропрограммного автомата (18) и выходы двух независимых блоков в виде счетчика (20) с триггером (21) и триггера (22), причем через второй выход ПЗУ образуется цепочка блоков в виде первого счетчика циклов (20), соединенного выходом с единичным входом триггера 21, единичный выход которого соединен с третьим входом блока (18), и триггера (22), единичный выход которого соединен с первым входом блока (18), причем второй вход счетчика (20), нулевой вход триггера (21), и оба входа управляющего триггера (22) соединены с выходами блока (18); первый, второй, третий и четвертый входы постоянного запоминающего устройства так же связаны с выходами блока (18). Все выходы микропрограммного автомата (блока 18) являются независимыми.
На фиг.1 все блоки устройства согласно ГОСТу обозначены в виде прямоугольников с двойной чертой по одной из граней, а типовые элементы И, ИЛИ, НЕ, триггер имеют общепринятые обозначения.
i
100
0
На фиг.1 все управляющие входы блоков и элементов обозначены c, i=1÷28. Для исключения путаницы в номерах блоков и сигналов, все микрооперации нумеруются, начиная с 100, причем микрооперации с - установка каждого блока в исходное («0») состояние на чертеже не показаны, т.к. все они относятся к единственной команде А.
В предлагаемом устройстве в процессе функционирования рассеивание информации производится так, что биты в «порции» информационного сообщения разрядностью m, равной длине секретного ключа, подвергается перестановке по ключу (К) в следующей последовательности:
- из бит информационного сообщения соответствующих единицам в ключе последовательно составляется один кортеж (упорядоченная последовательность множества бит), а соответствующих «0» другой.
Из этих двух кортежей составляется снова информационное сообщение разрядностью m как конкатенация, где N(0) N(1) - коды, соответствующие «0» и «1» битам ключа. Полученное информационное слово подвергается известной модификации с помощью второго ключа через операцию неравнозначности (сумма по mod2), обозначаемой в виде символа ⊕ или XOR.
На втором цикле полученное информационное слово подвергается воздействию всего предыдущего алгоритма, при этом ключи К1 и К2 меняются местами, т.е. по ключу К2 производится рассеивание информации (перемешивание), а по ключу К1 модификация через операцию ⊕.
Для упрощения конструкции устройства константы К1 и К2 выбираются так, что число «1» в них равно числу «0», хотя они распределены по случайному закону. Т.е. при m=32 в каждой константе равно 16 единиц. Это ограничение не вносит существенных изменений в конструкцию устройства и легко снимается в случае необходимости введением дополнительного отдельного блока образования конкатенации N(0) N(1), где N(0), N(1) - коды, соответствующие «0» и «1» битам ключа.
Предлагаемое устройство криптографической защиты информации условно можно разделить на операционную часть (блоки 1-22, кроме 18), в которой осуществляется реализация всех процедур преобразования исходной информации для ее защиты и управляющую часть (микропрограммный автомат - МПА-18), осуществляющий выдачу всей последовательности управляющих команд по алгоритму (фиг.2).
0
0
Функционирование устройства происходит в полном соответствии с алгоритмом фиг.2, расшифровка команд и микроопераций которого приведена в табл.1 и 2, а значение логических условий в табл.3. Нумерация команд в алгоритме поставлена в нарастающем порядке от А сигнала для самого длинного пути, а затем пронумерованы остальные команды. Причем команде А соответствует установка всех блоков (регистра, триггера, счетчика) в нулевое состояние.
1
3
3
4
1
2
В начале командой A триггер (22), который обозначает первый или второй раунд преобразования устанавливается в состояние «0» (первый раунд) и в счетчик (20) микрооперацией С производится запись дополнительного кода (mg) от двоичного числа m бит «порции» преобразуемого информационного сообщения. Затем командами А и А и соответствующими микрооперациями c и c производится запись констант К1 в Рг(2), а К2 в Рг(11). Тем самым осуществляется подготовка к началу преобразования первого раунда.
6
15
7
Затем производится считывание очередного бита К1 и его парафазная запись на триггер (3), а далее командами А, A запись одного бита информационного сообщения в Рг(5) или Рг(13), с отметкой в счетчике (20) каждого бита текста считывания. После считывания всех m бит с Рг(2) и схемы «И»(15) командой А содержимое регистров сдвига (5) и (13) параллельным кодом переносится на Рг(6).
Заметим, что в случае снятия ограничений по равенству «0» и «1» в константах К1 и К2 между Рг(5), Рг(13) и Рг(6) потребуется включить логический блок образования конкатенации N(0)N(1).
9
10
Далее параллельный код Рг(6) командой А переносится на Рг(7), а затем командой A осуществляется операция ⊕ за счет считывания содержимого Рг(11) и Рг(7) через логический блок (8) и запись модифицированного результата N(0) N(1) ⊕К2 на регистр сдвига (6).
1
1
11
Далее если идет первая обработка порции информационного сообщения (первый раунд α=0), то идет возврат на повтор, через установку значения α=1 командой А.
2
5
7
8
9
10
3
4
12
13
При повторной обработке вся последовательность операторов А-...-A-...AAAA будет повторяться, но операторы АA (заменятся на АА, т.е. в Рг(2) будет записана константа (ключ) К2 и в РГ(11) - К1, кроме того считывание информации будет производиться не со входа (через И(15)), а с регистра сдвига (6) - через И(16).
10
1
17
18
4
19
20
21
4
22
В конце второго раунда после А при α=1 командами А, A осуществляется передача зашифрованной информации через И(9) и при отсутствии условия конец передачи (α=1) командами A, A, A осуществляется новая установка начального состояния автомата для приема новой порции информации. При α=1 осуществляется общий останов с отключением (А) автомата от источника тактовых сигналов синхронизации.
0
19
Микропрограммный автомат (18) начинает свою работу по реализации алгоритма фиг.2 первый раз за счет внешнего запуска оператора А, а все последующие преобразования после команды A.
Существует несколько способов организации автоматов управления /8, 9/, однако для устройства криптографической защиты информации рассмотрим наиболее простую (но эффективную) структурную схему, реализация которой возможна как на БИС (больших интегральных схемах), так и на элементах и блоках малой интеграции.
i
j
Согласно методике /8/ от алгоритма управления перейдем к графу. На графе символами β обозначены следующие конъюнкции логических условий α.
i
i
i
Система булевых функций (F1) для формирования выходных сигналов автомата представлена в табл.4. Для получения функций перехода строится граф, для этого пометим каждый оператор действия (команду) номером состояния. В данном случае номера команд и состояний автомата совпадают. Получим граф фиг.3, для которого расшифровка условий переходов β приведена в табл.3, а схемная реализация - на фиг.4. Из графа выпишем функции переходов в состояние a, которые обозначим f (табл.5).
Из табл.1 и табл.2 выпишем условия выдачи соответствующей микрооперации (табл.5).
Структурная схема МПА (18) приведена на фиг.2.
Микропрограммный автомат (МПА-18) состоит из последовательности блоков в виде шифратора (30), первого регистра памяти (31), блока схем И (32), второго регистра памяти (33), дешифратора (34) и блока формирования сигналов перехода (35), выходы которого по цепи обратной связи связаны со входами шифратора (30), а входы с соответствующими четырьмя выходами
100
101
135
2
j
0
1
2
3
4
логических сигналов операционной части устройства криптографической защиты информации (блоки 1-22, кроме 18), причем единичные выходы каждого триггера второго запоминающего регистра (33) являются входами второго дешифратора (36), выходы которого связаны со входами блока формирования выходных сигналов автомата (37), выходы которого соединены со всеми управляющими входами (с,с,...,с) операционной части устройства, причем вход синхронизации (38) второго дешифратора (36) соединен с источником питания, а вход синхронизации первого дешифратора (39) соединен с выходом схемы И(40), первый вход которого соединен с первым выходом генератора импульсов (41), а второй вход схемы И(40) соединен с единичным выходом управляющего триггера (42), нулевой вход которого через схему соединен с выходом схемы ИЛИ(43), имеющем два управляющих входа 131 и 132, а единичный вход триггера 42 соединен с управляющим входом 135; при этом единичный выход триггера (42) соединен также с первым входом схемы И(44), на второй приоткрывая высоким коэффициентом «1» схемы И39 и И44. Включается генератор (41). Первый же импульс τ от генератора (41) опрашивает дешифратор (34) и схема F(35) формирует значение «1» на одном из выходов ƒ и через шифратор (30) на первый регистр (31) записывается код нового состояния α(t+1) - γγγγγ.
0
1
2
3
4
Следом за τ появляется импульс , который через схемы И(44) и ИЛИ45 по синхровходу 46 через схемы И(32) переписывает код α(t+1), на второй регистр (33). Т.е. автомат переходит в состояние xxxxx, которое для последующего импульса τ будет рассматриваться как состояние α(t).
0
1
2
3
4
i
1
Однако последующий импульс  появится через период Т. Код xxxxx расшифровывается дешифратором (36) и т.к. на вход синхронизации подано напряжение Е, равное логической «1» время действия сигналов с, формируемых схемой F (37) будет равно (T-2τ). Для схем среднего быстродействия τ=0,05-0,1 мкс, а величина T~10÷20 мкс. Для быстродействующих схем обычно τ=1-2 нc, а T≈10-20 нc.
j
i
1
2
1
2
Значение сигналов ƒ и с полностью определяется таблицами 4, 5 и соответствующими им схемными реализациями F и F, т.к. (фиг.6 и фиг.7) схемы F и F получены на основании графа переходов (фиг.3) и алгоритма фиг.2.
Булевы функции переходов (табл.4) реализуются схемой фиг.7, входами для которой (номера строк 0, 1, 2,..., 22) являются выходы дешифратора 34.
Микропрограммный автомат (МПА-18) реализует свою функцию управления операционным устройством устройства криптографической защиты информации функционирования в следующей последовательности.
134
133
135
Первоначально перед командой «Пуск» микрооперациями с, спамять автомата устанавливается в «нулевое» состояние и подается команда c на управляющий триггер (42), который переводится в состояние «1», с которого подается сигнал от второго выхода генератора импульсов (41), причем
выход схемы И(44), через схему ИЛИ(45) соединен со входом синхронизации (46) блока схем И(32), а второй вход схемы ИЛИ45, образует управляющий вход (133), все нулевые входы триггеров первого регистра памяти (31) объединены единой шиной с управляющим входом (134).
i
j
j
i
132
Схема реализации булевых функций для выходов представлена на фиг.6, которая отражает объединение соответствующих микроопераций c и c (см. табл.1). Остальные микрооперации (табл.1) являются прямыми выходами дешифратора 36 для каждого очередного периода Т по сигналам τ и  будет осуществляться формирование новых f и c до тех пот, пока автомат снова не перейдет в нулевое состояние, при наличии сигнала конец передачи. В этом случае формируется микрооперация c, управляющий триггер (42) через схему ИЛИ(43) переводится в «нулевое» состояние и со схем И39, И44 снимается разрешающий потенциал.
Тем самым автомат отключает сам себя от источника импульсов τ и .
135
Для возобновления работы нужно снова внешними цепями установить регистры (31) и (33) в «ноль» и дать команду «Пуск» - т.е. c.
Преимущества предлагаемого метода и устройства, его реализующего заключаются в следующем:
1. Быстродействие. Весь алгоритм по самому длинному пути реализуется конечным автоматом 12-ью состояниями. Переход от одного состояния к другому осуществляется за 2 τ, где τ - длительность импульса. За два раунда трижды происходя, циклические сдвиги с параметром m. Следовательно общее время равно t=(12+3m)τ.
-9
-9
-7
На сегодня для быстродействующих схем автоматов на ПЛМ и ПЛИС величина τ=1 нс (10 с) не является «шокирующей». Тогда при m=32 получим t=(12+36)τ=48·10 с≈10 с=0,5 мкс.
Если же взять τ=2 нc, то t=1 мкс. Такое быстродействие принципиально недостижимо ни в одном из известных алгоритмов /1-7/, так как например в известном алгоритме Blowfish только для нахождения подключей необходимо >540 сдвигов m разрядной константы /2-7/. Причем каждый сдвиг - это отдельная команда микроЭВМ, исполняющаяся, как правило, за несколько микросекунд, т.е. в тысячи раз медленнее такта в автомате. В целом вся процедура такой шифрации будет медленнее на 5-6 порядков.
128
184
256
4m
2. Резистентность (препятствие к взлому). Поскольку применяется две различные константы разрядностью m и они используются (каждая) в разных режимах, то фактически речь идет о ключе разрядностью 4m. Уже при m=32 количество различных комбинаций для «отгадывания» равно 2, при m=48 число комбинаций равно 2, а при m=64 равно 2. Предлагаемое устройство по принципу действия и структуре не имеет ограничений. Причем в этих 2 комбинациях необходимо опознать конкретное сочетание букв и символов.
Т.е. уже при m=32 предлагаемое устройство не подвержено грубой атаке перебором и трудно представить какой-либо другой способ «расшифровки», кроме полого перебора.
Список литературы
1. М.Левин Криптография без секретов (руководство пользователя) - М.: ЗАО Новый издательский дом, 2005, - 315 с.
2. А.Чмора Современная прикладная криптография - М.: Гелиос АРВ, 2001, - 244 с.
3. Введение в криптографию. СпБ: Питер, 2001, - 288 с.
4. Патенты РФ №2141729, 2172075, 2188513, 2206120, 2206182, 2211541, 2212108 по разделу 7 H04L 9/16.
5. Лапонина О.Р. Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия. Интернет-университет информационных технологий. М.: 2005. - 605 с.
6. Н.Фергюссон, Б.Шнайер. Практическая криптография. М.: СПб. - Киев, Диалектика, 2005. - 421 с.
7. Молдовян А.А., Молдовян Н.А., Советов Б.Я. Криптография. СПб: Лань, 2003. - 214 с.
8. Мухопад Ю.Ф. Микроэлектронные информационно-управляющие системы. Иркутск: ИрГУПС, 2004. - 404 с. (Учебное пособие с грифом УМО).
9. Карпов Ю.Г. Теория автоматов. - СПб.: Питер, 2003. - 208 с.