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

Предлагаемое изобретение относится к области вычислительной техники и связи и может быть использовано в локальных корпоративных сетях, а также в информационно-управляющих комплексах для защиты передаваемой информации.
Известно более 20 распространенных методов и соответствующих им устройств (или алгоритмов и программ) криптографической защиты информации /1-7/. Известны также патенты №2141729, 2172075, 2188513, 2206120, 2206182, 2211541 и 2212108, которые можно рассматривать как аналоги.
Наиболее близким к предлагаемому является по патенту Российской Федерации (19) RU (11) 2091983 (13) C1 (51) 6 H04L 9100, G06F 12/16 «Способ шифрования двоичной информации и устройство для его осуществления».
Устройство по этому способу формирует К групп по n бит, где n - длина части обрабатываемого текста. Причем каждая из групп обрабатывается в зависимости от значения n-бит секретного ключа, с перемешиванием поточного шифра по случайному закону. Поточный шифр суммируют по модулю 2 с порцией сообщения. Устройство содержит регистр секретного ключа, блок управления, четыре последовательно-параллельных регистра, регистр показателей степени, блок перемешивания бит, логический блок с сумматором по модулю 2, элементы «И», «ИЛИ» и др.
По существу в устройстве по патенту 2091983 сделана попытка для каждой порции информационного сообщения на основе единственного секретного ключа построить «индивидуальный» как они называют поточный шифр с учетом значения самой порции сообщения. Недостатком этого устройства является использование в его структуре весьма сложного устройства возведения n-битного кода (i-1) группы поточного шифра в степень m по модулю Р, а также использование одного фиксированного секретного ключа с числом бит, равным разрядности одной «порции» сообщения.
Целью настоящего изобретения является повышение быстродействия шифрования и повышения уровня криптозащиты.
i
k
j
Сокращения и обозначения: МПА - микропрограммный автомат; МО - микрооперация; с - наименование микрооперации; b - служебный сигнал; A - команда (группа параллельно выполняемый МО); m - число разрядов параллельно кодируемого (декодируемого) сообщения; Рг - регистр памяти или регистр сдвига; Сч - счетчик; ПЗУ - постоянное запоминающее устройство; ⊕ - логическая операция неравнозначности (сумма по модулю 2); & - символ операции «И»;
1
α=1 - признак выполнения последовательности МО ровно m раз;
α-1 - признак окончания сообщения;
τ - импульс синхронизации;
- импульс синхронизации, не совпадающий по времени с импульсом τ, т.е. τ(t)&  (t)=⌀;
⌀ - символ пустого множества;
Сч Рг - считывание информации с регистра;
Зп Рг - запись информации в регистр.
Устройство защиты информации, содержащее цифровой вход 1, соединенный с первым входом схемы И(2), выход которой связан с последовательным входом регистра записи информации РгИ-3, первые параллельные выходы которого через m схем И(4) связаны с первыми входами логического блока 5, параллельные выходы которого соединены со входами регистра сдвига РгС-(6), последовательный выход которого соединен с выходной клеммой 7 канала связи, причем вторые параллельные выходы регистра записи информации РгИ-3 через схемы И(8), регистр адреса РгА-(9), постоянное запоминающее устройство ПЗУ (10) и регистр ключа РгК(11) соединены со вторыми входами логического блока (5); введена независимая последовательная цепь блоков в виде счетчика (12) триггера (13) и микропрограммного автомата (14) с внешними входами Пуск (16) и Останов (17), причем выходы микропрограммного автомата соединены со всеми управляющими входами блоков устройства.
0
1
2
n
Функционирование во времени предлагаемого устройства определяется тем, что полное сообщение делится на равные части S, S, S...,S, например, участки с числом m разрядов. Величина m равна 8, 12, 16, 24 или более в зависимости от реальных условий и требований потребителя.
m
16
Ключи для шифрования представляют собой константы разрядностью m в памяти устройства, число которых равно 2. Например для m=16 число констант (ключей) составит N=2≈64000, если m=24, то N≈4 млн., для m=12-N=4096.
i
i
Константа (ключ) с текущим номером i записывается в память по адресу i, а считывается по адресу S, где S - код порции сообщения.
Значение констант i=0,1,...,N-1 произвольно и практически может быть получено перемешиванием по случайному закону упорядоченных двоичных цифр от 0 до N-1. Тогда при переходе от адреса i к i+1 для всех  не будет наблюдаться какого-либо явно выделяемого (периодического и т.п.) закона.
Передача информации в канал связи производится последовательно «порциями» по m разрядов, причем каждая из порций сообщения подвергается следующему преобразованию
i
i
i-1
Z= S⊕ F(S),
где i=0,1,2,...,n;
i
S - информационное сообщение;
⊕ - логическая операция неравнозначности (сумма по mod2);
i-1
S - предыдущая «порция» сообщения;
i
i
i
F(S) - константа памяти, считанная по адресу, который определяется значением информационного текущего сообщения S как номер в двоичном позиционном коде S;
i
Z - двоичный код передаваемого сообщения.
i-1
Для j=0, S=0, или любой другой начальный адрес ПЗУ, известный передающей и приемной стороне.
0
1
18
0
1
1
Управление устройством защиты информации осуществляется последовательной цепью в виде счетчика Сч(12) триггера 13 и микропрограммного автомата (МПА)-14, связанного своими выходами с c,c,...,c) со всеми блоками устройства, причем счетчик (12) имеет входы установки «0» состояния (с) и +1 к содержимому счетчику (c), триггер имеет вход установки «0» состояния (c), а МПА-14 входы «Пуск» (16) и останов (17).
16
0
1
10
13
14
10
0
1
1
1
2
4
3
18
5
7
8
0
1
18
После микрооперации «Пуск» MO-c производится принудительная установка в исходное нулевое состояние всех блоков МО-С и триггера 13-MO-C. Затем m кратным выполнением микроопераций сcc производится первоначальная запись m бит исходной информации через схему И2 на регистр РгИ(3) с одновременной отметкой МО-С (путем +1 к содержимому счетчика). Счетчик (12) имеет входы установки «0» состояния (с) и +1 к содержимому счетчика (), триггер имеет вход установки «0» состояния (с), а МПА-14 входы пуск (16) и останов (17), а на счетчике Сч12. При накоплении в счетчике m единиц происходит его переполнение и импульс переполнения устанавливает на триггере 13 логический сигнал α=1, согласно которому (см. фиг.2) выполняется последовательность групп микроопераций c→cc→ccccc до очередного накопления m бит на РгИ(3) с параллельной выдачей информации с регистра РгС(6) на выход 7. Микропрограммный автомат МПА(14), имеющий входы пуск 16 и причем МПА(14) выходными сигналами c,c,...,c связан с соответствующими управляющими входами всех блоков устройства защиты информации 2,3,...,12,13, а входы останов 17 и пуск 16 являются внешними управляющими входами устройства защиты информации.
16
17
1
2
4
3
18
3
5
7
8
18
5
7
8
Функционирование устройства защиты информации осуществляется после подачи внешней микрооперации c «пуск» по входу 16 микропрограммного автомата МПА(14) в автоматическом режиме вплоть до останова микрооперацией с по входу 17 при выполнении всей программы кодирования или декодирования передаваемого (принимаемого) информационного сообщения. Последовательность МО c→cc→cc соответствует установке Тр13 в исходное (нулевое) состояние с, затем cсс считывание содержимого ПЗУ(10) по адресу, записанному в РгА(9) с записью в регистр ключа РгК(11) и следом по второму выходу РгИ(3) через блок схем «И»(8) микрооперацией c производится запись в регистр адреса РгА(9). Следующей командой (группа МО ccc) производится считывание содержимого информационного регистра РгИ(3) и регистра ключа РгК(11) с проходом через логический блок (5) и записью результата в РгС(6).
12
11
2
3
12
После передачи в канал (7) m бит информации дается команда на индикацию (или печать) - MO-c при декодировании и выделения признака окончания сообщения (с) после проверки логического условия α работа МПА либо зацикливается с команды А, либо завершается А9. При кодировании информации команда А8 (МО с) игнорируется.
В силу обратимости логической операции ⊕ структура кодера (передающая часть аппаратуры защиты информации) и структура декодера (принимающая часть) совершенно идентичны, равно как и алгоритмы их функционирования.
Реализация устройства защиты информации возможна как на элементах средней интеграции, так и на БИС, т.к. все блоки являются типовыми и не имеют особенностей. Следует заметить, что в настоящее время ПЗУ имеют разрядность выхода m=4 или 8 разрядов (бит). Поэтому если в устройстве защиты информации принять, например m=16, то это значит вместо одного блока ПЗУ(10) потребуется поставить два ПЗУ, работающих параллельно, т.е. все связи в блок-схеме рис.1 не поменяются. При m=12 потребуется 2 параллельных ПЗУ: одно С8-ю и второе С 4-мя выходами.
5
14.
Следует также обратить внимание на то, что блок 5 не имеет управляющих сигналов, т.к. это логическая (комбинационная) схема, обеспечивающая образование суммы по модулю 2 при подаче на нее параллельных кодов с РгК (11) и РгИ (3) сигналами c и с
Реализация алгоритма фиг.2 может осуществляться на микропроцессоре, для медленнодействующих каналов связи и в виде специального схемного (аппаратного) варианта.
j
j
j+1
В последнем случае по алгоритму фиг.2 сопоставляется граф МПА фиг.3, для которого расшифровка команд А приведена в табл.3, а условия переходов от A к А в табл.4.
j
Для удобства анализа функционирования МПА на фиг.2 рядом с операторами A приведены соответствующие им микрооперации, хотя вся эта информация есть в табл.1 и 3.
0
9
Как видно из фиг.2, закон функционирования МПА при переходах от A до A подчиняется в основном закону суммирующего счетчика, т.к.
,
где t - настоящий момент времени;
t+1 - последующий (после синхронизации τ) момент времени (символ безраличия «~» обозначает тот факт, что  может быть как , так и );
j
j
i
i-l
j
j
Z=α если к А имеется переход от A по условию α, в противном случае переход осуществляется без α.
2
3
7
Тогда, следует сформировать лишь три сигнала A, А, A, не соответствующих изменению состояний на 1 как в счетчике.
Во всех других случаях следует подать сигнал, являющийся микрооперацией плюс «1» к содержимому специального счетчика, являющийся памятью МПА.
В криптографических системах защиты информации чаще всего используется операция ⊕ неравнозначности (сложение по модулю 2), но в данном методе может использоваться и другая логическая операция, например, операция тождественности (≡), импликации (→) и др.
0
1
2
3
0
1
2
3
19
20
0
1
2
3
0
1
2
3
0
0
1
18
1
2
Микропрограммный автомат (МПА-14) по входу «пуск»-16 связан с единичным входом триггера 18 и первым входом схемы ИЛИ-19, причем единичный выход триггера 18 соединен с первыми входами схем И-20, 21, 22, при этом выход τ генератора импульсов 23 со вторыми входами схемы ИЛИ-19 и схемы И-20, а выход  генератора импульсов соединен со вторым входом схемы И-21, 22, а третий вход схемы И-21 соединен с единичным выходом триггера 24, нулевой выход которого соединен с третьим входом схемы И-22 и первым входом схемы ИЛИ-25, а нулевой вход с выходом схемы ИЛИ-19, выход которой соединен со всеми нулевыми входами триггеров yyyy регистра памяти 26, параллельные выходы которых соединены с последовательной цепью блоков, образованных соединением выходов входов блока триггеров 26, блока схем И-27, триггеров xxxx счетчика Сч28 и дешифратора 29, параллельные выходы которого соединены одновременно со входами комбинационных схем КС-1(30) и КС-2(31), а вход синхронизации ДС-29 соединен с выходом схемы И-20; выход схемы И-21 соединен с суммирующим входом Сч28, выход схемы И-22 через схему ИЛИ-32 соединен с синхронизирующим входом блока И-27, при этом вторые входы схем И25 и И32 образуют независимые сигнальные входы c и c соответственно; при этом первые выходы yyyy комбинационной схемы КС1(30) соединены с единичными входами триггеров yyyy регистра Рг26, пятый выход f схемы блока КС-1(30) соединен с первым входом схемы ИЛИЗЗ, выход которой соединен с нулевым входом триггера 18, а второй вход схемы ИЛИЗЗ образует независимый сигнальный вход с 17-«останов», шестой вход КС1(30) соединен с единичным входом триггера 24; причем выходы комбинационной схемы КС2(31) образуют управляющие входы микроопераций cc...c устройства защиты информации. Комбинационная схема КС1(30) имеет также два независимых входа 34 и 35 для подключения внешних логических сигналов α и α.
МПА функционирует в следующей последовательности.
19
20
16
Первоначально включается все устройство защиты информации подачей питающего напряжения Е (в том числе и на генератор импульсов ГИ23), одновременно подаются последовательно сигналы c и с, при этом Рг26 и Сч27 переводятся в исходное (нулевое) состояние. Сигналом Пуск c, по входу 16 триггер 18 переводится в состояние «1», а триггер 24 через схему ИЛИ19 в состояние «0». Тем самым разрешается прохождение импульса τ через схему И20 на опрос дешифратора ДС29 и импульса  через схемы И22 и ИЛИ-32 на вход синхронизации блока И27. Первый же импульс τ от ГИ23
0
1
9
0
1
2
3
0
0
1
18
0
0
1
2
3
4
через схему И20 опрашивает дешифратор ДС29, на выходе которого появляется один из импульсов AA...A. Так как первоначально МПА находится в нулевом исходном состоянии, то все триггеры Сч28 xxxxобращены в «0», тогда на выходе ДС29 появится сигнал A, который через схему КС-2 образует последовательность микроопераций из списка cc...c соответствующих команде А, а через схему КС1 образуется либо группа сигналов yyyy для возбуждения единичных входов триггеров Рг26 либо сигнал b, который посредством триггера 24 запрещает прохождение сигнала  через схемы И22, ИЛИ32 на блок схем И27 и дает возможность прохождения сигнала  на суммирующий вход Сч28.
0
1
2
3
4
Сигналы yyyy и b являются взаимоисключающими, что подробно поясняется далее при описании конкретной реализации схем КС1(30) и КС2(31).
0
1
2
3
Предположим, что ДС29 через КС1 сформированы по сигналу τ значения выходов yyyy, которые установят соответствующие триггеры Рг26 в единичные «1» состояния (нулевое состояние всем триггерам установлено ранее), тогда по сигналу  через схемы И22 и ИЛИ32 с помощью схем И27 парафазным параллельным кодом состояние Рг26 переписывается на Сч28. Таким образом МПА переходит в новое состояние Aj.
4
i
После же действия сигнала b прохождение сигнала  через И22, ИЛИ32 запрещено, т.к. Тр24 переведен этим сигналом в единичное состояние и разрешение дано схеме И21; тогда импульс  изменит состояние Сч28, прибавляя «1» по суммирующему входу и МПА также переходит в новое состояние А.
2
1
3
2
1
0
2
1
3
2
1
0
Для определения формальных зависимостей, реализуемых схемами КС-1(30) и КС-2(31) по табл.3 и 4 составим табл.5, в которой коду ααxxxx(где αα - значения независимых внешних потенциальных сигналов на клеммах 34 и 35. Сопоставим коды состояний A(t+1) (т.е. yyyy) для переходов, отличающихся от переходов в счетчике.
1
2
На основании табл.5 получим табл.6, а после очевидных преобразований (вынос за скобки общих членов с введением новых обозначений z и z) получим табл.6. Таблице 6 соответствует схема КС1(30) фиг.5, а по табл.2 определяется комбинационная схема КС2(31). Из фиг.6 видно, что КС2(31) по структуре тривиальна, т.к. содержит лишь одну схему ИЛИ, а все остальные выходы определяются сигналами ДС28.
Схема КС1(30) также относится к числу простейших комбинационных схем включающей четыре схемы «И», одну схему ИЛИ-НЕ и две схемы ИЛИ.
2
0
1
Комбинационная схема КС1(30) состоит из схем И40, 41, 42, 43, причем выход 2 ДС29 подключен к первому входу И40, а выход 7 - к первому входу И41, на вторые входы которых подан сигнал , выход 9 подключен к первым входам И42 и И43, причем ко второму входу И42 подключен сигнал , а ко второму входу И43 - сигнал α, при этом выходы схем И43 и И41 объединяются схемой И44 и образуют выход y, а выход схемы ИЛИ44 и выход схемы И40 объединяются схемой ИЛИ45 и образуют выход y, при этом
0
4
выход схемы И42 образует сигнал f, а сигнал b образуется объединением схемой ИЛИ-НЕ выходов И40, И41 и девятого выхода ДС29.
К.Шенноном /3/ доказано, что если ключ является фундаментом истинно случайной двоичной последовательности с равномерным законом распределения, причем длина его равна длине исходного сообщения и используется этот ключ только один раз, то такой шифр является абсолютно стойким.
Заметим, что в предлагаемом устройстве можно сказать, что выполняются условия теоремы К.Шеннона, т.к. имеется:
- равенство длины ключа и открытого текста, что следует из структурной организации предлагаемого устройства и его функционирования;
- однократное использование ключа, т.к. согласно методу при использовании другого текста с помощью ПЗУ будет формироваться и другой ключ.
j
Причем прямой зависимости значения ключа от текста сообщения нет, так как код порции Z сообщения определяет не значение кода (ключа) (двоичной цифры), а лишь адрес этого ключа в ПЗУ. Содержимое числового блока ПЗУ упорядочено по случайному закону, известному адресату и получателю.
20
В связи с тем, что все константы различны и неупорядочены по значениям (рассортированы по случайному закону) даже при m=8, N=256 предлагаемое устройство использует метод шифрования с ключом К=m N=8·256=2048. Для m=16, K=2.
Как известно /1, стр.11-12/, ключи длиной 128 бит и более останутся недопустимыми для вскрытия методом грубой силы (перебор) не только на сегодня, но и в будущем.
Преимущество устройства заключается в быстродействии кодирования и декодирования. Как известно, алгоритм Фейстеля /1, 2, 3/, являющийся основой американской системы защиты DES, использует 56-битный ключ /2 стр.46/, а в российском госте 256-битный.
В американской системе 16 раундов шифрования, а в Российской - 32.
Сам однораундовый алгоритм Фейстеля весьма сложен, т.к. содержит не только операции ⊕ с блоком в 64 бита, но и операции сдвига и подстановки частей информации, что требует большого числа ячеек оперативной памяти и высокого быстродействия универсальных вычислительных средств обработки информации для выполнения многочисленных пересылок и сдвигов информации. В алгоритме Blowfish используется 16 раундов, причем 521 итерация только для получения подключей.
Преимущества предлагаемого устройства по сравнению с прототипом очевидны. В прототипе «индивидуальный», как они называют, поточный шифр формируется через сложный блок возведения (i-1) позиций в степень m по модулю Р, с последующим формированием от специального датчика случайного кода и его запоминания.
В предлагаемом устройстве этот код формируется простым считыванием из ПЗУ индивидуального ключа по адресу, которым является код предыдущей
(i-1) порции сообщения. Причем константы в ПЗУ заранее (до начала работы) «перемещены» по случайному закону.
Эти конструктивные отличия предлагаемого устройства обеспечивают не только его простоту структурной организации, но и преимущества в быстродействии, в эффективности и криптостойкости.
Преимущества предлагаемого устройства заключаются также в том, что величина разрядности m порции информации, подлежащей шифрации или дешифрации может отличаться от величины целой степени двойки. Как известно, типовые средства вычислительной техники (микропроцессоры, контроллеры, микроЭВМ и до.) имеют разрядность 8, 16, 32 и 64.
24
24
Средства малой интеграции имеют разрядность 1, 4, 8, 16. Эти же и промежуточные разрядности реализуются на элементах большой и сверхбольшой интеграции (Программируемые логические матрицы - ПЛМ и программируемые логические интегральные схемы - ПЛИС). Наряду с типовой разрядностью 1, 4, 8, 16, 32, 64 для специальных средств допустима разрядность 12, 24, 48 в связи с простотой автоматной реализации. Для всего комплекса устройств фиг.1 и фиг.4 может быть выбрано m, например, равное 24. Известно, что для представления всего числа букв и служебных символов выводится не более 8 бит, следовательно в 24 битах может быть максимум три символа или меньше, если часть двоичных разрядов используется для помехозащищенного представления информации. В этом случае число ключей 2≈16 млн., а длина ключа равна 24 битам. Согласно методу комбинация 24·2 одноразово «покрывает» весь зашифрованный текст, что эквивалентно методу Гаммирования с таким случайным одноразовым ключом. Более того использование разрядности m=12, 24, 48 дополнительно затрудняет криптоанализ на типовых вычислительных средствах с разрядностью 8, 16, 32.
Быстродействие же предложенного метода и устройства его реализующего остается вне конкуренции по сравнению со всеми известными средствами и методами защиты информации.
j
j
24
Предлагаемое устройство криптографической защиты информации в отличие от всех известных допускает также такую модификацию (тривиально реализуемую аппаратными методами) при которой после каждой передачи информации возможно в автоматическом режиме изменение величин и ключей без изменения адресации ПЗУ, например, за счет циклического сдвига выбранной константы без перезаписи самого содержимого ПЗУ. При второй передаче F(S) автоматически заменяется на F(S)+1, затем +2, +3, +4 и т.д. по сигналу окончания передачи в приемной и передающей аппаратуре для подготовки к следующему сеансу связи. Тогда одна и та же комбинация ключей повторится только после 2 передач, но к тому времени источник и приемник информации согласованно поменяют базовый «текст» ключей ПЗУ.
Все вышеперечисленные преимущества предлагаемого метода и устройства его реализующего подтверждают:
- его принципиальные отличия от известных методов;
- возможность простой аппаратной реализации на элементах средней и большой интеграции;
- близость к методу «Гаммирования» с одноразовым случайным ключом, покрывающим весь текст сообщения;
- возможность работы с разрядностью не кратной степени двойки;
- преимущества в быстродействии реализации, которое может составить 3-5 порядков по сравнению с известными методами;
- сложность криптоанализа для «взлома» шифра;
- возможность использования режимов, эквивалентных автоматической смене всех ключей перед новым сеансом связи при реализации устройства на современных сверхбыстродействующих элементах вычислительной техники;
- «обратимость» аппаратной реализации, т.е. способность одного и того же устройства работать как в режиме шифрации, так и в режиме дешифрации.
Авторы
Мухопад Юрий Федорович - доктор технических наук, профессор, заведующий кафедрой «Управление техническими системами» Иркутского государственного университета путей сообщения.
Мухопад Александр Юрьевич - аспирант ИрГУПС.
Агафонов Тимофей Борисович - кандидат технических наук, ведущий программист ВСЖД.