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

Изобретение относится к криптографическим устройствам и может быть использовано при построении систем коммерческой закрытой связи для обеспечения безопасности информации в компьютерных сетях связи, в системах дистанционного автоматизированного управления и др.
Известны системы шифрования двоичной информации на основе блочных шифров с использованием методов логического преобразования /1-7/. Наиболее близким аналогом к предлагаемому является устройство по патенту РФ №2091983 6 H04L 9/100, содержащее регистр секретного ключа, блок управления, четыре последовательно-параллельных регистра, регистр показателей степени, умножитель, многоразрядный сумматор по модулю два, блок перемешивания бит, элементы «И» и «ИЛИ».
Операция шифрования проводится делением всего сообщения на К групп по N бит в каждой с формированием для каждой группы некоего поточного шифра из кода ключа.
Недостатком этого устройства является ограниченная длина ключа N, применение для кодирования преимущественно линейных операций и сложность алгоритмов получения поточного шифра за счет наличия операции возведения в различные степени n<Р.
Целью изобретения является повышение быстродействия и уровня криптозащиты информации.
Предлагаемое устройство шифрования основано также на разбиении последовательности поступающих данных на группы по n бит (n=3, 4, 6, 8). Отличие заключается в том, что эта группа рассматривается как коэффициент при соответствующем разряде полиадического числа. Несколько групп последовательности из сообщения преобразуется в полиадическое число, количество весовых коэффициентов и конкретное значение весов которого является секретом.
0
1
32
Устройство криптографической защиты информации (фиг.1) с информационным входом 1, образующим последовательную цепь блоков из входного регистра 2, постоянного запоминающего устройства (ПЗУ) 3, накапливающего сумматора (Σ) 4, логического блока 5, блока перемешивания (БП) 6, регистра сдвига РгСдв 7, с информационным выходом 8, причем выход ПЗУ соединен со входом регистра ключа 9, выход которого соединен со вторым входом логического блока (ЛБ 5), а второй вход ПЗУ соединен с выходом счетчика адреса 10, при этом устройство содержит три последовательных цепочки блоков в виде счетчика, выход переполнения которого соединен с единичным входом триггера: счетчик бит группы (Счт) 11 с триггером 12, счетчик количества групп (Счт) 13 с триггером 14, счетчик числа разрядов в выходном информационном слове (Счтп) с триггером 16. При этом все блоки устройства (1,2,...,16) управляются микропрограммным автоматом (МПА) 17, имеющим вход «Пуск» 18 и «Останов» - 19, с выходами микроопераций c,c,...,c, соединенными со всеми входами управления остальных блоков устройства, единичные выходы триггеров 12, 14,16 образуют значение логических
1
2
3
условий (α)-a, (α)-б и (α)-в, являющихся независимыми входами а, б, в микропрограммного автомата (МПА)-17.
i
В связи с многочисленностью управляющих связей МПА с блоками 1, 2,...,16 на фиг.1 входы микроопераций с(i=0,32) показаны лишь частично.
Все блоки устройства (кроме БП6 и МПА17) являются типовыми и выпускаются в виде интегральных схем средней степени интеграции или могут быть воссозданы в структуре программной логической интегральной схемы (ПЛИС). Блок перемешивания осуществляет перестановку бит в информационном слове, представляющем собой n групп частей информационного слова разрядностью m.
j
Блок перемешивания информации может использовать любой из известных принципов перестановки бит.Требования к нему определяются тем, что он должен выполнять операции перемешивания за один такт работы микропрограммного автомата. На фиг.2 показан один из вариантов блока перемешивания, переставляющего каждые два бита регистра памяти (РгА) за счет жестких связей со вторым регистром (РгВ). Передача информации из РгА в РгВ осуществляется за один такт микрооперацией С, синхронизирующей схемы И (условно показаны в виде двух параллельных линий с символом &). При использовании известной парафазией связи для записи кода в РгВ не потребуется его предварительная установка в нулевое состояние, т.к. запись осуществится принудительно по входам «0» и «1» соответствующих триггеров РгВ.
Регистр ключа (РгК)-9 является регистром циклического сдвига, имеющего параллельный вход, соединенный с выходом ПЗУЗ и параллельный выход, соединенный со вторым входом ЛБ5, а наличие циклического сдвига условно на фиг.1 показано в виде циклической связи последовательного выхода РгК-9 с его последовательным входом. Параллельные разрядные входы ПЗУЗ разделены на 2 части (первая - первый вход ПЗУЗ) соединены с выходами РгВ×2, а вторая - младшие разряды со счетчиком адреса СчА-10. Количество разрядов РгВх и СчА определяется значениями m и n, которые могут изменяться по желанию потребителя.
0
В числовом блоке ПЗУ-3 (являющимся неотъемлемой внутренней частью ПЗУ как и его регистр адреса, на который производится запись содержимого РгВх и СчА) по нулевому адресу записана константа секретного ключа (К), по первому адресу константа α, а затем по адресам, начиная со второго, считая по счетчику адреса до (n+1)-го с учетом значений разрядов группы (m) зафиксированных в РгВ×(2) в ПЗУ занесены значения произведений величин  на величины содержимого регистра РгВх.
i
Т.е. ПЗУ является по сути специализированным умножителем. Однако старшая часть множимого (m) представлена как таковая, а младшая часть представлена не самим значением S, а лишь его номером .
Поскольку количество групп (n) ограничено (разрядность n=3, 4, 5) и разрядность т также невелика (m=4, 6, 8), то такой «умножитель» реализуется
(n+m+1)
ПЗУ с малым числом констант V=l. В практическом случае число констант ≤16-32 тыс.
0
i
i
В предлагаемом устройстве блок ПЗУ выполняет свои непосредственные функции постоянного запоминающего устройства (для констант α и K в принципе и m, n и nm также могут быть размещены в этом же ПЗУ) и устройства умножения величины m, на последовательность коэффициентов . Причем специфика (оригинальность) такого таблично-алгоритмического умножителя состоит в использовании двух новшеств - конкатенации значения m (старшие разряды внутреннего регистра адреса ПЗУ) и порядкового номера (но не самого значения) констант S:
i
i
i
- хранение в ПЗУ значения произведений m×S по адресу, часть из которого представлена косвенно, т.е. номером i констант S. Поскольку i≤10, то этот прием позволяет на несколько порядков сократить объем ПЗУ.
Функционирование предлагаемого устройства основано на применении полиадической системы счисления. Группа разрядов тип бит входного кода (число) рассматривается как n признаков (групп) разрядностью m каждый (m=3, 4, 6, 8) и n=6, 7, 8, 9,... (табл.1).
В таблице 1 величина m=4, а n=6. Т.е. признаки (названные группой разрядов), представлены полубайтом.
i-1
С каждым i-тым разрядом числа разрядностью (m×n) связан свой диапазон изменения цифр от 0,1,2,...,L, а вес i-того разряда равен произведению весов всех предшествующих ему разрядов.
Т.е. величина кодируемого числа N определяется по формуле
или
i
i
Вычисление значений цифр (α) в разрядах по величине числа (V) и весам (A) определяется рекуррентно:
i
На величины L не накладывается никаких ограничений, т.е.  Значения L могут быть представлены рядом целых чисел, рядом чисел Фибоначчи или рядом значений элементов множества, например, записаны в виде E={7,3,11,15,3,3}.
6
5
4
3
2
1
0
В таблице 1 приведены значения N полиадических чисел V, вычисленных по процедуре (1), (2) по значению признаков табл.1, с использованием весовых коэффициентов S=4455, S=1485, S=135, S=9, S=3, S=1, S=0, полученных на основании ряда {Е}.
Например, запись константы с основным адресом, равным 23 (табл.1), вычисляется следующим образом:
O
25
1
2
9
1
2
3
4
5
6
0
7
8
1
2
2
5
9
1
10
11
12
13
15
3
3
4
4
16
3
Устройство функционирует во времени в полном соответствии с алгоритмом фиг.3. В табл.2 приведена расшифровка команд, а в табл.3 - расшифровка микроопераций. Командой А осуществляется пуск МПА17 (микрооперация с) и затем командами А,А,...,А последовательно осуществляется установка исходного состояния (А), запись константы секретного ключа в РгК(9) - команд А, командой А производится запись параллельных дополнительных кодом m, n, mn на соответствующие счетчики 11, 13, 15 по внешним связям (на фиг.1 они не показаны, т.к. будет это пульт управления или еще какая-то система, в которую встраивается предлагаемое устройство, определяется только конкретной областью применимости). Командой А устанавливаются все триггеры 12, 14, 16 и сумматор 4 в нулевое состояние, а командой А в счетчик адреса прибавляется «1» и из ПЗУ 3 командой A считывается значение коэффициента α и занесение его в накапливающий сумматор, затем командами А, А с проверкой логического условия α производится последовательный прием группы (m разрядов информационного слова) с последующей проверкой (α) не была ли это последняя группа. При α=0 производится увеличение содержимого СчА(А) на 1 и повторяется последовательность команд А÷А. Для последней группы (α=l) осуществляется переход к заключительной части преобразования информационного слова nxm, т.е. логическому сложению - по модулю 2 (операция обозначается в виде ⊕ или XOR) со значением константы секретного ключа и записью результата в блоке перемешивания (A), перемешивания информации и переноса результата на РгСдв7 (команда А), циклического сдвига константы ключа (К) в РгК9 для подготовки к обработке следующего информационного слова (команда A) и заключительной операции последовательного вывода зашифрованной информации из регистра РгСдв7 командами А, А с проверкой логического условия α. При α=1, т.е. все сдвиги n×m выполнены, производится проверка логического условия α на конец передачи всех информационных слов. При α=1. производится индикация и останов, в противном случае командой А производится установка нулевого состояния РгВх(2) и процедура повторения начинается с команды А.
Микропрограммный автомат управления МПА18 проектируется для предлагаемого устройства специально, на основе заданного алгоритма управления фиг.3. Методика проектирования общеизвестна, но в наиболее полном и конкретном виде она изложена в работах /8, 9/.
Для создания схемы МПА18 от алгоритма фиг.2, осуществляется переход к графу функционирования автомата (фиг.3), для чего каждой команде
i
i
i
j
А сопоставляется состояние автомата a(t), обозначенное на фиг.3 вершиной графа с соответствующим А-тому номером. Вершины графа соединяются направленными стрелками с пометками соответствующих логических условий (или без условий), если от вершины А есть путь к вершине А на алгоритме фиг.2.
В графе фиг.3 кроме переходов 6→6, 17→17, 17→19, 19→3, 11→5 и 18→0 все остальные переходы подчиняются правилу a(t+1)=a(t)+1, где a(t) - номер предыдущего состояния автомата (в момент времени t);
a(t+1) - номер последующего состояния (после подачи импульса синхронизации τ, т.е. в момент t+1).
Это правило a(t+1)=a(t)+1 соответствует работе суммирующего счетчика.
i
Остальные переходы (не по счетчику) осуществляются по правилу табл.4, где символом f указаны функции формирования переходов. Блок-схема такой реализации МПА18 приведена на фиг.5.
cx
1
cx
2
0
1
2
33
cx
1
cr
0
cx
1
0
Микропрограммный автомат (МПА17) - фиг.4 состоит из последовательности блоков: генератор импульсов, первый выход которого (τ) соединен с первым выходом схемы «И» 22, две последовательные схемы «НЕ» 23, 24, соединенного с ними по входу синхронизации дешифратора DC25, выходы которого соединены со входами комбинационной схемы KF26, соединенной своими выходами с последовательностью блоков шифратора CD27, регистра памяти Рг28, блока схем «И»29, суммирующего счетчика Сч30, выходы которого соединены с адресными входами DC25 и адресными входами дешифратора DC31, выходы которого через комбинационную схему KF32 образуют сигналы микроопераций с,с,с,...,с для управления всеми блоками устройства, выход KF26, помеченный символом f через две схемы НЕ33, 34 соединен с первым входом схемы «И»35; криптографической защиты информации; причем второй выход ГИ21 образует также последовательную цепь из двух элементов НЕ36, 37, через первый вход элемента И38 соединен со входами синхронизации блока схем «И»29, второй вход схем «И»23, «И»38 соединен с единичным выходом первого триггера 39, имеющего единичный вход «Пуск», нулевой выход которого соединен с выходом схемы «ИЛИ»40, имеющей входы «Останов» и вход, помеченный символом f, соединенный с выходом KF26, помеченный тем же символом f.
j
Переходы в автомате из предыдущего состояния a(t) в последующее a(t+1) с выдачей соответствующих команд А (помеченных соответствующими номерами вершин графа) полностью определяются графом переходов фиг.5.
cx
1
Комбинационная схема KF26, соответствующая табл.4, состоит из четырех двухвходовых схем И42, 43, 44, 45, причем первые входы И42, 43 подключены соответственно ко входам 8, 9, а первые входы И44, 45 - ко входу 13 дешифратора DC25 ко вторым входам И42, 43, 44, 45 подключены соответственно сигналы  выходы И42, 43, 44, 45 образуют
4
5
15
16
сч
0
соответственно сигналы f, f, f, f, которые вместе выходами 15, 16 дешифратора Dc25 подаются на входы схемы ИЛИ46 и через схему НЕ47 образуют сигнал f. Выход дешифратора Dc25 с номером 14 формирует сигнал f, который через схему ИЛИ40 отключает автомат МПА17 от генератора импульсов ГИ21.
cx
2
Комбинационная схема KF32 представляет собой пять двухвходовых схем И48, 49, 50, 51, 52, выходы которых образуют соответственно микрооперации 3, 29, 5, 6, 8, причем схема И48 объединяет на входов выходы DC31 с номерами 0, 16, схема И49 выходы с номерами 1, 16, схема И50 выходы с номерами 2,6, схема И51 с номерами 3, 9, схема И52 с номерами 4, 9. Остальные выходы DC31 подключаются к управляющим микрооперациям С в соответствии с табл.4.
cx
1
0
3
36
сч
Микропрограммный автомат (МПА17) функционирует в следующей последовательности. По команде «Пуск» (вход 18) триггер 39 переходит в состояние «1» и потенциалом единичного выхода (Q) приоткрывает схемы И22, И38. Первый же импульс (τ) от генератора ГИ21 через схему И22 устанавливает Рг28 в исходное (нулевое) состояние и триггер 41 в состояние «1», приоткрывая дополнительно схему ИЗ 8 по второму входу. Этот же импульс (τ) через задержку в виде двух схем НЕ23, 24 опрашивает дешифратор DC25, на одном из выходов которого появляется импульсный сигнал, который через комбинационную схему KF26 формирует сигнал на одном из выходов ff...f (табл.4) или на выходе f.
cx
2
j
i
Через период следования импульсов Т от ГИ21 появится импульс , который также после задержки схемами НЕ36, 37 через схему И38 и схемы И29 перепишет код Рг28 на счетчик Сч30. Состояние счетчика сч30 расшифровывается дешифратором DC31 и комбинационная схема КF32 формирует на выходе микрооперации С, соответствующие командам A, определяемых кодом состояния автомата.
0
1
16
сч
сч
cx
2
j
cx
2
Если же вместо одного из сигналов ff...f формируется сигнал f, то он переводит триггер 41 в нулевое состояние, тем самым снимается разрешающий потенциал со схемы И38, но и числом  с нулевого выхода триггера 41 приоткрывается схема ИЗ 5 разрешающего прохождения импульса на суммирующий вход Сч30. Сигнал f через задержку двумя схемами НЕ33, 34 поступает на суммирующий вход Сч30 через схему И35 и код Сч30 меняется по правому a(t+1)=a(t)+1. Далее код Сч30 через DC31 и KF32 формирует выходные микрооперации С, которые удерживаются на выходе KF32 весь период Т, т.к. на синхровход DC31 подано значение постоянной «1» (напряжение питания Е), а не импульс τ, как у DC25.
cx
1
0
0
При поступлении второго, третьего и т.д. импульсов τ через период Т работа МПА17 повторяется в той же последовательности, до тех пор пока схемой KF26 не будет сформирован сигнал f, который по входу f схемы ИЛИ40 переведет триггер 39 в нулевое состояние и тем самым отсутствие
сигнала Q на выходе Тр39 автомат отключит сам себя от импульсов ГИ21, т.к. снимается разрешающий потенциал Q со схем И22, И38, т.е. будут отключены сигналы τ и , определяющие (синхронизирующие) всю работу автомата.
сч
0
3
16
Если на выходе f сигнал будет отсутствовать, то один из сигналов ff...f возбудит соответствующий вход шифратора CD27 и код нового состояния a(t+1) запишется на Рг28.
0
n
n-1
n-2
0
n
n-1
n-2
n-3
1
0
n-1
0
1
Декодирование криптосообщения в устройстве приема информации должно производиться такой же конфигурацией блоков, но в обратной последовательности, т.е. сначала принятый код должен быть подан на БП7 для восстановления исходной последовательности битов в коде (повторная подача по принципу работы БП7 восстанавливает код), затем в РгК через ПЗУ 10 должен быть восстановлен исходный код ключа на РгКП, и содержимое криптокода начиная с первой порции сообщения должно подвергнуться операции XOR, затем из этого кода необходимо вычесть a, а затем производить деления на коэффициенты сначала S(L,L,...,L) (константа ПЗУ с адресом 1) восстанавливая а (признак 1), затем остаток от вычитания делится на S(L,L,...,LL) и восстанавливается а и т.д., последний остаток делится на L с получением последнего признака а.
Перед расшифровкой следующей порции код ключа в РгК11 циклически сдвигается на 1 разряд и операция повторяется до получения сигнала - конец приема (передачи).
Заметим, что в устройстве декодирования кроме ПЗУ должно быть установлено устройство деления кодовых чисел.
Предлагаемое устройство криптографической защиты информации оригинально по составу блоков и связей между ними в пространстве и по времени, т.е. по алгоритму их взаимодействия.
0
1
k
o
k
0
i
Предлагаемое устройство криптографической защиты информации принципиально отличается от известных решений приведенных в патентах и цитируемой научной литературы комплексом блоков и связей между ними, обеспечивающих преобразование двоичного кода информационного сообщения, которое рассматривается как целое число в двоичной позиционной системе счисления, в новое двоичное число с несколькими основаниями счисления (полиадическая система). Несмотря на ограниченное число коэффициентов такой системы L,L...L, где k=6,7,8,9 наличие повторяющихся коэффициентов в ряду L,...,L, а также наличие постоянного слагаемого α делают невозможным нахождение конкретных значений L если даже противнику известно, что используется полиадическая система счисления. Криптостой-кость повышается также за счет наличия блока перемешивания и применяемого преобразования (практически во всех изобретениях, в том числе и здесь) с помощью операции сложения по модулю 2.
Однако известное преобразование с операцией XOR в предлагаемом решении модифицировано за счет циклического сдвига секретного ключа для
каждой новой порции сообщения, что дополнительно увеличивает степень криптозащиты.
Достоинством предлагаемой полезной модели является также высокое быстродействие, а достигаемый уровень криптозащиты не требует повторения операции несколькими раундами, как в известных алгоритмах Фейстеля, Блоуфиш и др.
Достоинством предлагаемого устройства является также наличие нескольких параметров настройки:
1. величины m,n;
0
1
k
2. значение коэффициентов L,L...L полиадической системы счисления;
0
3. значение постоянного слагаемого a;
4. значение секретного ключа k;
5. алгоритм (соответственно и структура блока) перемешивания информации.
6. возможность аппаратной реализации с разрядностью информационного слова не кратной целой степени двойки, как в типовых микроконтроллерах, так и в персональных компьютерах.
Все перечисленные достоинства предлагаемого устройства выгодно отличают его от прототипа и известных авторам аналогов.
Список литературы
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. Мухопад Ю.Ф. Теория дискретных устройств. Иркутск: ИрГУПС, 2008.-136 с.
Авторы
Мухопад Александр Юрьевич - аспирант ИрГУПС.
Мухопад Юрий Федорович - доктор технических наук, профессор, заведующий кафедрой «Управление техническими системами» Иркутского государственного университета путей сообщения.
Адрес общий: 664039, Иркутск, Терешковой, д. 55, кв. 11.
Дом. тел. 59-86-64.
Сот. Мухопада Ю.Ф. 8-9-500-500-291.
Сот. Мухопада А.Ю. 8-902-172-45-53.
E-mail: bezproz@irgups.ru.
Адрес для переписки: 664074, Иркутск, Чернышевского, 15.