д-р физ.-мат. наук, Ферганский филиал ТУИТ им. Мухаммада Ал-Хоразмий, Республика Узбекистан, г. Фергана
Анализ приложения логических операций к криптографическим преобразованиям средств обеспечения информационной безопасности
АННОТАЦИЯ
В статье рассматривается решение задачи определения логических операций, обеспечивающих криптографическую стойкость преобразования алгоритмов криптографических методов информационной безопасности, обосновано критерием регулярности — равным распределением «0» и «1» в таблице истинности. Криптографический стойкость алгоритмы были созданы в таблице истинности, состоящей из 0» и «1», равномерно распределенных логической операцией.
ABSTRACT
In article the decision of the task of determination of the logical actions providing to cryptofirmness of conversion of algorithms of cryptography methods of information security is justified by criterion of regular of — equal distribution «0» and «1» too blocs of bits in the truth diagram. Logical action by the truth diagram uniform distribution «0» and «1» has property of cryptofirmness.
Ключевые слова: криптология, крипотоалгоритм, криптостойкость, симметричное шифрование, открытый ключ, дизъюнкция, конъюнкция, преобразование, микропроцессор, Булевая функция.
Keywords: cryptology, crypto algorithm, crypto firmness, the symmetric encoding, opening key, disjunction, conjunction, conversions, microprocessor, Boolean function.
ВВЕДЕНИЕ
Основы цифровой техники и технологии обмена информацией в информационно-коммуникационных сетях тесно связаны электронными средствами на базе логических операций. Так называемые микропроцессор, микроконтроллер, чип, интегральные схемы и другие электронные разработки являются основами современных вычислительных, контролирующих, аппаратных и аппаратно-программных средств управления [4–10].
Постановка задачи. В данной статье исследованы вопросы криптографической стойкости, эффективной аппаратной и аппаратно-программной реализуемости криптографических преобразований на основе логических операций, выполняемых над битами и блоками битов преобразуемых блоков.
Решение задачи. Отмечается, что на основных преобразованиях идеально стойких и стойких алгоритмов шифрования в обязательном порядке использована операция [1, 2, 3, 6, 7]. Операция определяется: если и или и , то ; иначе (табл. 1).
Таблица 1.
Таблица истинности
0 |
1 |
|
0 |
0 |
1 |
1 |
1 |
0 |
В таблице 1 истинности показано, что -представляющий результат четырех возможных вариантов этой операции принимает значения «0» и «1» равным распределением, т.е. в значениях по два раза повторяется «0» и «1». В общем виде количество операции между двух переменных и равно . Действительно, имеется 4 разных комбинации значения пары и : По значениям пары получается 4 значения , , и , которые принимают значение «0» или «1». Это значит, четырьмя битами можно кодировать разных значений: (0000)2 =(0)10 , (0001)2 =(1)10 , …, (1110)2 = (14)10 , (1111)2 = (15)10 . Здесь соответствует операции.
Можно ставить в соответствие число (0110)2 = 6. Таким образом, можно вводить логические операции, соответствующие следующим состояниям таблицы истинности: (0000)2 = 0, (0001)2 = 1, (0010)2 = 2, (0011)2 = 3, (0100)2 = 4, (0101)2 = 5, (0110)2 = 6, (0111)2 = 7, (1000)2 = 8, (1001)2 = 9, (1010)2 = 10, (1011)2 = 11, (1100)2 = 12, (1101)2 = 13, (1110)2 = 14, (1111)2 = 15.
Таблица 2.
Таблица истинности содержат только «0» и «1»
Где логические операции *0 и *15, соответствующие состояниям (0000)2 = 0 и (1111)2 = 15 со следующими таблицами истинности (табл. 2) [1, 3, 7]. Так как какими бы ни были шифруемый блок или блок ключа, результаты преобразования этими логическими операциями будут содержать блоки последовательности только «0»-нулей или «1»-единиц. Такое обстоятельство позволяет сфабриковать ложные шифры. Поэтому использование операциями *0 и *15 в криптографических преобразованиях является нецелесообразным.
Здесь для большей ясности приводится таблица истинности, соответствующая операции *1- коньюкцию и *7 -дезюнькцию (табл. 3).
Таблица 3.
Коньюкция и дезюнькция таблица истинности
Таким образом над двумя переменными кроме операции *0 и *15 можно определить в количестве 14 (четырнадцать) операций.
Таблица 4.
Таблицы истинности с одинаковым значением
Кроме того, операции, определяемые следующими таблицами истинности, являются неустойчивыми, так как первая неизменной оставляет , а вторая x*5y неизменной оставляет (табл. 4). Такое обстоятельство имеет место потому, что в первой таблице строка, соответствующая значению переменной , имеет элементов только со значением 0-ноль, а строка с значением имеет элементов только со значением 1-один, аналогично во второй таблице столбец, соответствующий значению переменной , имеет элементов только со значением 0-ноль, а столбец со значением имеет элементов только со значением 1-один. Остальные операции могут осуществить преобразования перемешивания над битами блоков открытого или промежуточного с соответствующими битами блока ключа [1]. Ниже приводится таблица сравнения введенных логических операций относительно особенностей свойства криптографической стойкости. В этой таблице сравнением обоснована криптографическая стойкость следующих операций: x*9 y = z, x*10 y = z , x*12 y = z . Эти операции вместе с операцией xÅy = x*6 y = z могут широко использоваться в качестве стойких преобразований.
Таблица 5.
Особенности криптографической стойкости
№ п/п |
Тип операции |
Таблица истинности операции |
Анализ возможных состояний результата операции |
Замечание |
||
1 |
x*1 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
0 |
0 |
||||
1 |
0 |
1 |
||||
2 |
x*2 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
0 |
0 |
||||
1 |
1 |
0 |
||||
3 |
x*4 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
0 |
1 |
||||
1 |
0 |
0 |
||||
4 |
x*6 y = z xÅ y = z |
x / y |
0 |
1 |
1) Значения результата z распределены равномерно. 2) Значению z = 0 и z = 1 соответствуют по 2 (два) значения пары переменных x и y, т.е. имеются 4 (четыре) неизвестных состояния. |
Стойкая |
0 |
0 |
1 |
||||
1 |
1 |
0 |
||||
5 |
x*7 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
0 |
1 |
||||
1 |
1 |
1 |
||||
6 |
x*8 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
1 |
0 |
||||
1 |
0 |
0 |
||||
7 |
|
x / y |
0 |
1 |
1) Значения результата z распределены равномерно. 2) Значению z = 0 и z = 1 соответствуют по 2 (два) значения пары переменных x и y, т.е. имеются 4 (четыре) неизвестных состояния. |
Стойкая |
0 |
1 |
0 |
||||
1 |
0 |
1 |
||||
8 |
x*10 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены равномерно. 2) Значению z = 0 и z = 1 соответствуют по 2 (два) значения пары переменных x и y, т.е. имеются 4 (четыре) неизвестных состояния. |
Стойкая |
0 |
1 |
0 |
||||
1 |
1 |
0 |
||||
9 |
x*11 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
1 |
0 |
||||
1 |
1 |
1 |
||||
10 |
x*12 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены равномерно. 2) Значению z = 0 и z = 1 соответствуют по 2 (два) значения пары переменных x и y, т.е. имеются 4 (четыре) неизвестных состояния. |
Стойкая |
0 |
1 |
1 |
||||
1 |
0 |
0 |
||||
11 |
x*13 y = z |
x \ y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
1 |
1 |
||||
1 |
0 |
1 |
||||
12 |
x*14 y = z |
x / y |
0 |
1 |
1) Значения результата z распределены неравномерно.
|
Относительно стойкая |
0 |
1 |
1 |
||||
1 |
1 |
0 |
В этой таблице сравнения обоснована криптографическая стойкость следующих операций: x*9 y = z, x*10 y = z , x*12 y = z. Эти операции вместе с операцией xÅy = x*6 y = z могут широко использоваться в качестве стойких преобразований.
Определена относительная стойкость операции дизъюнкции xy = x*7 y = z и конъюнкции xy = x*1 y = z. Воспользовавшись определенными стойкими операциями, можно осуществить побитное преобразование над блоками
и , , т.е. , i=6,9,10,12.
При этом можно убедится, что разным парам блоков , где и , соответствуют разные . Это значит: результаты преобразования, осуществляемые стойкими определенными операциями, обладают свойством регулярности [1, 7]. А преобразования, осуществляемые относительно стойкими операциями, не обладают (или неполно обладают) свойством регулярности. Эти утверждения проверены непосредственным вычислением. Ниже приводятся примеры преобразования со стойкой и относительно стойкой операцией, когда длина преобразуемого блока для простоты . Результаты переменных и после логических операций: .
Таблица 6.
Таблицы истинности для однобитных и двухбитных операций
В этих примерах первое преобразование осуществлено нестойкой операцией, второе осуществлено со стойкой операцией, и, следовательно, видно, что оно обладает свойством регулярности. Последующие два преобразования осуществлены с относительно стойкими операциями и не обладают свойством регулярности.
Аналогичным образом можно вводить операции на основе таблицы истинности с двухбитными блоками: «00», «01», «10», «11». Количество всевозможных таблиц истинности 416 = 4 294 967 296. Если эти пары битов распределены равномерно в таблице истинности размером 4×4, кроме того, в строке, соответствующей значению переменной , где и имеются элементы не только со значением «», аналогично в столбце соответствующего значению переменной имеются элементы не только со значением «», то определяемые операции будут обладать криптографической эффективностью — свойством стойкости. Количество таблиц истинности с равномерным распределением «00», «01», «10», «11» — пары битов
Из них еще исключаются таблицы, элементы одного и того же количества строк и таблиц, 8. Таким образом, можно вводить 1820 – 8 = 1812 операций со свойством равномерного распределения значения: «00», «01», «10», «11» и криптографически стойкими особенностями. Точно так же это основано на трехбитовых блоках 23 = 8 элементов «000», «001», «010», «011», «100», «101», «110», «111» таблицей истинности размером 8×8, можно вводить 864 операций. Из них количество таблиц истинности с равномерным распределением с тремя битами блоками 23 = 8 элементов
Количество таблиц истинности с криптографически стойкими особенностями
.
В научных работах [2, 3, 7] приведена таблица сжатия байта «2 13» = «0010 1011» на полубайт «10» = «1010», т.е. на пересечении строки 2 со столбцом 13 (табл. 7).
Таблица 7.
Четыреразрядные сетки замены
5 |
13 |
6 |
11 |
1 |
10 |
15 |
8 |
0 |
4 |
7 |
9 |
2 |
12 |
3 |
14 |
8 |
7 |
2 |
14 |
15 |
3 |
11 |
6 |
1 |
12 |
13 |
10 |
5 |
4 |
9 |
0 |
14 |
2 |
13 |
4 |
12 |
7 |
1 |
11 |
6 |
9 |
0 |
5 |
3 |
10 |
8 |
15 |
0 |
14 |
9 |
12 |
3 |
13 |
7 |
4 |
15 |
6 |
5 |
1 |
11 |
2 |
10 |
8 |
3 |
10 |
7 |
2 |
4 |
12 |
9 |
1 |
14 |
13 |
15 |
8 |
0 |
5 |
11 |
6 |
2 |
3 |
1 |
8 |
0 |
14 |
5 |
9 |
12 |
11 |
6 |
7 |
10 |
15 |
13 |
4 |
10 |
4 |
14 |
15 |
9 |
5 |
8 |
2 |
11 |
0 |
1 |
3 |
12 |
6 |
7 |
13 |
11 |
9 |
10 |
1 |
6 |
4 |
13 |
15 |
3 |
5 |
14 |
0 |
8 |
7 |
2 |
12 |
1 |
0 |
3 |
7 |
13 |
11 |
10 |
12 |
9 |
14 |
4 |
6 |
15 |
8 |
5 |
2 |
4 |
8 |
11 |
9 |
14 |
6 |
2 |
5 |
10 |
3 |
12 |
15 |
7 |
13 |
0 |
1 |
9 |
12 |
15 |
0 |
2 |
1 |
14 |
10 |
5 |
8 |
11 |
13 |
4 |
3 |
6 |
7 |
6 |
11 |
8 |
13 |
7 |
9 |
0 |
3 |
4 |
15 |
10 |
2 |
14 |
1 |
12 |
5 |
15 |
1 |
0 |
5 |
10 |
8 |
3 |
7 |
13 |
2 |
9 |
12 |
6 |
14 |
4 |
11 |
12 |
5 |
4 |
10 |
11 |
2 |
6 |
13 |
8 |
7 |
3 |
14 |
1 |
0 |
15 |
9 |
7 |
15 |
12 |
6 |
5 |
0 |
4 |
14 |
2 |
10 |
8 |
11 |
13 |
9 |
1 |
3 |
13 |
6 |
5 |
3 |
8 |
15 |
12 |
0 |
7 |
1 |
2 |
4 |
9 |
11 |
14 |
10 |
В этой таблице числа от 0 до 15, которые выражаются с четырьмя битами, распределены равномерно, т.е. они повторяются ровно по 16 раз, причем по каждой строке и столбцу повторяются один раз. Такие таблицы, принимая как таблицы с четырьмя битами истинности операции над блоками «0000», «0001», «0010», «0011», «0100», «0101», «0110», «0111», «1000», «1001», «1010», «1011», «1100», «1101», «1110», «1111» элементов, можно вводить 16256 операций. Из таких таблиц истинности с равномерным распределением с четырьмя битами разных 24 = 16 элементов можно выделить в количестве , что дает огромное количество логических операций со стойким криптографическим свойством.
Анализ полученных результатов. Любое преобразование осуществляется на основе некоторых операций или их последовательности. Если преобразование разным всевозможным входным значениям ставит в соответствие разные всевозможные значения или равные распределения всевозможных значений, то говорят, что оно обладает свойством регулярности. Преобразование, обладающее свойством регулярности, имеет свойство стойкости, т.е. при решении задачи раскрытия шифров шифрованных блоков требуется выбор всевозможных вариантов. Таким свойством обладает логическая операция . В статье определены и обоснованы регулярности ряда логических операций над битами и блоками битов, которые могут использоваться с таким криптографическим успехом, как операция в разработке криптографических алгоритмов и их программных, а также аппаратных средств. Осуществление этих операций над битами и блоками битов обеспечит обмен цифровых сигналов без задержек в аппаратных и аппаратно-программных реализациях криптографических алгоритмов.
Заключение. В предлагаемой статье переменные и , переменная , выражающая результат, принимают значения «0» или «1». Определено количество возможных операций по выражению в соответствии с различными возможными таблицами истинности. В случае операции над битами разных таблиц истинности условно сопоставлены логические операции (*i , i=1,2,…,16). Обосновано, что если в таблицах истинности введенных операций значения «0» и «1» распределены равномерно — повторяются в равных количествах, то побитное преобразование блоков, осуществляемое на основе таких операций, обладает свойством регулярности. Такое обоснование утверждается для операции над блоками битов. Полученные результаты, кроме решения задач криптографической защиты информации, имеют широкое приложение в разных областях науки информационной техники и технологии.
Список литературы:
1. Акбаров Д.Е. Ахборот хавфсизлигини таъминлашнинг криптографик усуллари ва уларнинг қўлланилиши // Ўзбекистон маркаси. — 2009. — Т. 432.
2. Акбаров Д.Е., Умаров Ш.А. Алгоритм хеш-функции с новыми базовыми преобразованиями // Вісник Національного технічного університету України «Київський політехнічний інститут». Серія: Приладобудування. — 2016. — № 51 (1). — С. 100–108 / [Электронный ресурс]. — Режим доступа: URL: https://ela.kpi.ua/bitstream/123456789/18117/1/20.pdf.
3. Акбаров Д.Е., Умаров Ш.А. Новый алгоритм блочного шифрования данных с симметричным ключом // Вісник Національного технічного університету України «Київський політехнічний інститут». Серія: Приладобудування. — 2016. — № 52 (2). — С. 82–91 / [Электронный ресурс]. — Режим доступа: URL: https://ela.kpi.ua/bitstream/123456789/19360/1/15Akbarov.pdf.
4. Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы // Додэка-XXI. — 2006 // [Электронный ресурс]. — Режим доступа: URL: https://www.labirint.ru/books/102083/.
5. Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. — М. : ЭКОМ, 2002 / [Электронный ресурс]. — Режим доступа: URL: https://www.twirpx.com/file/10572/.
6. Карондеев А.М. Сложение по модулю 2 n в блочном шифровании // Прикладная дискретная математика. Приложение. — 2015. — №. 8. / [Электронный ресурс]. — Режим доступа: URL: https://cyberleninka.ru/article/n/16455302.
7. Логачев О.А., Сальников А.А., Ященко В.В. Булевы функции в теории кодирования и криптологии. — Изд-во МЦНМО, 2004 / [Электронный ресурс]. — Режим доступа: URL: https://www.twirpx.com/file/206083/.
8. Молдовян Н.А. Криптография: от примитивов к синтезу алгоритмов. — БХВ-Петербург, 2004 / [Электронный ресурс]. — Режим доступа: URL: URL: http://static.ozone.ru/multimedia/book_file/1009552731.pdf.
9. Предко М. Руководство по микроконтроллерам: в 2 т. — 2001 / [Электронный ресурс]. — Режим доступа: URL: http://padabum.com/d.php?id=2896.
10. Шалыто А.А. Логическое управление: методы аппаратной и программной реализации алгоритмов. — Наука, 2000 / [Электронный ресурс]. — Режим доступа: URL: https://www.twirpx.com/file/114425/.