Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка моделей криптографической защиты информации. Монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
2.1 Использование этапа предшифрования как способа повышения стойкости систем криптографической защиты информации (СКЗИ)
Одним из путей повышения стойкости систем криптографической защиты информации является проведение на первом этапе перед собственно шифрованием данных дополнительной операции шифрования (назовем ее предварительным шифрованием, предшифром, или П-шифром).
П-шифр представляет собой результат предварительной обработки информации, после чего информация приобретает свойства первоначальной стойкости и это дает возможность снижения уровня сложности и дороговизны применяемых процедур шифрования и дешифрования на дальнейших этапах.
При архивировании секретных данных (или передаче по телекоммуникационным каналам) выполняется следующая последовательность преобразований:
1. сжатие данных;
2. шифрование;
3. запись на носитель информации (или передача по каналу связи).
Для извлечения данных из архива (или приеме зашифрованных данных по каналу связи) выполняется обратная последовательность процедур.
Сжатие данных в этом случае выступает как П-шифр. На этом этапе производится сокращение избыточности исходного сообщения, что приводит к уменьшению связей между элементами в исходном тексте, а это повышает стойкость шифрования к атакам на основе открытого шифртекста. В работах [39-43] отмечается перспективность совместного использования процедуры сжатия данных и вероятностного шифрования с простым механизмом включения случайных данных в криптограмму. Каждое из этих двух дополнительных преобразований повышает стойкость шифрования.
К сожалению, алгоритмы сжатия не имеют возможности манипулирования процессом разнообразной обработки исходных данных (возможен только выбор самого алгоритма сжатия), то есть получения одним алгоритмом множества сжатых массивов, и это снижает их ценность как П­шифров.
31
Если П-шифр обладает собственной стойкостью, то его применение
выборкой
может повысить общую стойкость СКЗИ. Введение П-шифра совместно с действиями традиционного шифрования, такими как например циклический сдвиг, может дать двойной эффект защищенности, хотя и может несколько усложнить реализацию такого подхода. Использование П-шифра будет оправдано в тех случаях, когда будут улучшены такие свойства алгоритмов (систем) криптографической защиты информации как скорость шифрования, стойкость, обеспечение лавинного эффекта, простота программной и аппаратной реализации и других.
П-шифр может быть построен различными способами и базироваться на различных идеях, но главным его свойством должна быть управляемость преобразованием. Хорошими свойствами кодирования обладают матричные методы, которые широко используются в избыточных кодах.
В матрицах-шифрах должна иметься возможность множественного представления исходного кодируемого числа, причем выбор некоего представления из такого множества должен быть управляемым (аналогично управляемым перестановкам). Обеспечение выбора из множества представлений при использовании матричного преобразования должно происходить под действием некоторого механизма манипулирования выборкой. Модель матричного П-шифра показана на рис. 2.1.
входное число
механизм манипулирования
МАТРИЦА
матричный
код числа
Рисунок 2.1 – Модель матричного П-шифра
32
Механизм манипулирования выборкой представляет собой
шифр
шифра
передача шифра
матричный код
исхо
дные данные
шифр
матричный код
кодирование
исходные данные
программные или аппаратные средства, позволяющие использовать возможности массива чисел матрицы для осуществления выборки тех или иных чисел в зависимости от условий, задаваемых на входе этих средств. Чем сложнее условия, тем труднее декодирование чисел, полученных в результате матричного преобразования.
Важнейшим фактором является и простота реализации механизма манипулирования, которая выражается объемом работ (операций) и временем манипуляции.
Использование П-шифра в алгоритмах (системах) криптографической защиты информации позволяет построить новую модель защиты информации (рис. 2.2.).
1
3
4
Матричное
Шифрование 2
Хранение или
Выборка или прием
Дешифрование 5
П - шифр
шифр
Декодирование 6
Рисунок 2.2 – Схема алгоритма криптографической защиты
информации с использованием матрицы кодирования (П-шифра)
33
Разработка механизма манипуляции по сути дела представляет собой разработку метода кодирования, при котором кодирование в конкретный момент времени будет известно только кодировщику и получателю на время передачи или хранения информации.
Использование матрицы для кодирования чисел есть ни что иное как те же преобразования, которые выполнятся в криптографических примитивах в виде подстановок, перестановок и других операций. Последние составляют основу многораундового шифрования / дешифрования. Однако возможности матричного преобразования могут быть таковы, что по своим результатам могут перекрывать возможности некоторых схем подстановок и перестановок, уменьшая тем самым время, затрачиваемое на выполнение этих операций.
В связи с этим требуется провести соответствующую оценку или измерение возможностей матричного кодирования как дополнительного средства повышения стойкости системы криптографической защиты информации.
Проведение подобных испытаний, то есть поиск замены традиционных схем подстановок и перестановок матричными преобразованиями требует выполнения ряда непротиворечивых условий, а именно: обеспечения высокой скорости преобразований, обеспечения лавинного эффекта, хорошей стойкости, реализуемости программными и аппаратными средствами на современной технологической базе.
Для выбора числовой матрицы в качестве преобразователя необходимо учесть следующие требования:
расширяемость, то есть при увеличении диапазона входных чисел матрица должна свободно наращиваться;
матрица должна включать все целые числа заданного диапазона;
формирование кода должно происходить за приемлемое время;
процедура получения кода должна быть достаточно простой;
размер матрицы не должен быть большим.
Среди известных таблиц и матриц, которые могут отвечать сформулированным выше требованиям, наиболее близкой является треугольная числовая таблица Паскаля для составления биномиальных
34
коэффициентов [44]. Отличительной особенностью такой таблицы является
),1()1,1(),(jiTjiTjiT

),(ji
T
i
1
S
ее простой способ образования чисел, свободное увеличение ее размеров, а также возможность выражения исходного числа посредством манипуляции выбором столбцов матрицы множеством других целых чисел. Кроме того, в таблице имеется симметрия, которая представляет дополнительные возможности по кодированию данных.
Переход от треугольной таблицы биномиальных коэффициентов Паскаля к матрице кодирования может быть осуществлен следующим образом. Производится поворот треугольной таблицы на 45º, то есть таблица приводится к виду, в котором крайняя левая граница треугольника Паскаля занимает левый столбец матрицы и формируется нижнетреугольная матрица с левой нулевой диагональю.
2.2 Метод кодирования на основе матрицы
Для решения поставленной задачи разработан математически обоснованный метод матричного кодирования, который представлен в виде алгоритма. В основу алгоритма положена треугольная модифицированная матрица Паскаля, которая имеет следующую структуру:
1) по главной диагонали расположены нулевые элементы;
2) элементы первого столбца равны номеру соответствующей строки
минус единица;
3) все остальные элементы матрицы строятся по рекурсивной
формуле:
Данную матрицу можно построить и не рекурсивным методом:
1) по главной диагонали расположены нулевые элементы;
2) элемент
, где
, для которого i>j, равен биномиальному
ni ,3
,
mj ,2
.
j
коэффициенту
Таким образом, матрица имеет следующий вид (рис. 2.3). Заметим, что
и jмогут быть неограниченны.
Сущность метода кодирования на основе матрицы заключается в
следующем. Пусть имеется некоторое множество
iC1
.
35
, состоящее из всех
неотрицательных десятичных целых чисел. Необходимо найти
2
S
1
S
R
NRi
T),(
),1(RiT
),(Ri
T
)1(R
j
)1(i
M
M
j
i
преобразование этого множества во множество двоичных слов (обозначим
его этого должно быть найдено и обратное преобразование. Обязательным требованием для данного отображения множеств является биективность, которая бы гарантировала однозначность кодирования и декодирования [45].
), причем длина и ранг этих слов могут быть переменными, кроме
0 1 0
2 1 0 3 3 1 0 4 6 4 1 0 5 10 10 5 1 0 6 15 20 15 6 1 0 7 21 35 35 21 7 1 0 8 28 56 70 56 28 8 1 0 9 36 84 126 126 84 36 9 1 0
Рисунок 2.3 – Кодирующая матрица
Рассмотрим алгоритм кодирования исходных чисел [46]. Возьмем
некоторое число N из множества матрице находим
<
ой строке и в R - том столбце. В i - ой позиции кода (считая, справа налево) ставится 1.
Переходим к
будет обозначать номер текущего столбца) и к (аналогично переменная i будет хранить значение текущей строки). Процедура кодирования продолжается для числа
- ый столбец. Затем ищем строку i такую, что
, где
- ому столбцу матрицы (в дальнейшем переменная
и зададим ранг кода R. В кодирующей
- элемент матрицы, находящийся в i-
- ой строке
, равного разности исходного десятичного числа и рассматриваемого элемента матрицы весовых коэффициентов (в дальнейшем описании это текущее число будет
обозначаться
). При последующих итерациях возможен ряд случаев:
36
1) Если
Mji
T),(
M
Mji
T
),(
M
M
M
R
Mji
T
),(
43
N
)4,8(
T
)4,9()4,8(TNT
M
20)3,7
(
T
M
.10)3,6(
T
M
.4)3,5(
T
M
процедура продолжается для числа, равного разности текущего десятичного числа и рассматриваемого элемента матрицы, при уменьшении номера текущей строки и столбца на единицу.
и j > 1 , то в i - й позиции кода ставится 1,
2) Если
1, при этом уменьшается на единицу.
3) Если
не равно рангу R, то в i-ой позиции кода ставится единица, и процесс кодирования завершается.
4) Если
равно рангу кодирования завершается.
5) Если
номер текущей строки уменьшается на единицу.
Рассмотрим пример 1. Предположим, нужно закодироватъ число
. Зададим ранг R= 4.
> 0 , j = 1 и
становится равным нулю, и номер текущей строки
= 0, j = 1, и в формируемом коде число значащих позиций
= 0, j = 1, и формируемом коде число значащих позиций
, то в i-ой позиции кода ставится ноль, и процесс
, то в i- ой позиции кода ставится ноль, при этом
, то в i-ой позиции кода ставится
Согласно вышеизложенному алгоритму в 4-ом столбце матрицы
находим элемент кода ставим 1,при этом
строки становится равным 4, номер текущего столбца - 3.
Переходим к элементу матрицы
больше ставится 0, номер текущей строки становится равным 6.
Переходим к элементу матрицы
больше ставится 0, номер текущей строки становится равным 5.
Переходим к элементу матрицы
ставится 1,
, и номер текущего столбца больше единицы, то в 7-ой позиции
, и номер текущего столбца больше единицы в 6-ой позиции
становится равным 4 (8-4 = 4) , номер текущего столбца - 4 ,
такой, что
становится равным 8 (43 - 35 = 8). Номер текущей
. Поскольку его значение
Поскольку его значение
В 5-ой позиции кода
. В 8-ой позиции
текущей строки - 2.
37
Переходим к элементу
.3)2,4(
T
M
.2)1,3(
T
M
.1)1,2(
T
M
M
)1,1(
T
2
S
4313435)1,2()2,4()3,5()4,8(

TTTTN
),(RP
K
1
S
P
),(RP
W
2
S
становится равным 1 (4 – 3 = 1), номер текущего столбца становится равным 3, номер текущей строки - 1.
В 4-ой позиции кода ставится 1,
Переходим к элементу
то в 3-ой позиции ставится 0, номер текущей строки - 2.
Переходим к элементу
то во 2-ой позиции ставится 1, текущей строки становится равным 1.
Переходим к элементу
кодирования закончена.
Полученный код имеет следующий вид: 10011010 (15410 ) Теперь рассмотрим алгоритм декодирования. Предположим, имеется
некоторый код вида:
данному элементу множества
Первое множество (назовем его A) включает номера позиций при
21
становится равным нулю (1 – 1 = 0), номер
KKK ,...,
p
, где
два упорядоченных множества индексов.
Поскольку его значение больше
Поскольку его значение равно
. В 1-ой позиции ставится 0, процедура
K
i
1,0
. Поставим в соответствие
,
,
нумерации справа налево. Второе множество (назовем его B) строится следующим образом: нулю в коде соответствует ноль, единице соответствует ее номер в коде, считая справа налево. Например, для кода 10011010 второе множество будет иметь вид: 40032010. Декодирование числа осуществляется
),(
BATN
ii
0:
Bi
по формуле:
Рассмотрим пример 2. Предположим, нужно получить значение кода
10011010. Тогда согласно алгоритму декодирования формируем два
множества:
Искомое число вычисляем согласно формуле декодирования:
Рассмотрим изложенное математически. Пусть
подмножество
A
i
, состоящее из неотрицательных целых чисел от 0 до
.
1,2,3,4,5,6,7,8
и
B
0,1,0,2,3,0,0,4
.
-
C
R
1
. Обозначим через
подмножество множества
38
, состоящее
из всех кодов длины P ранга R. Для элементов множества
),(RP
W
m
k
m
D
C

k
),(RP
W
D
),(RP
W
D
C

)()(D
C
1
2
2
1
1
2
2
1
221
1
A
B
K
D
C

)(C
)(D
)()(D
C
),(RP
W
),(RP
K
),...,,(
ccc
отношение предпочтения. Код
ddd
предпочтительней кода
21 p
),...,,(
, если существует номер k такой, что
21 p
будем считать
введём
dc
kk
, и не существует номера
Отношение предпочтения обозначим предпочтительности. Обозначим через
действующий на множестве
Утверждение 1. Для двух элементов C и
таких, что
Доказательство. Рассмотрим структуру кодирующей матрицы.
Заметим, что для любых
удовлетворяющих условию Согласно алгоритму декодирования
, справедливо неравенство
w
и
w
[47].
таких, что
kk
, справедливо
C
Bi
i
такого что
. Назовём
оператор декодирования,
ww
C
C
i
0:
,),()(
BATC
i
и
степенью
множества
.
и для любых
dc
mm
.
k
и
k
,
)w,k(T)w,k(T
.
где
множества специальной структуры.
Пусть k - степень предпочтительности кода C коду D. Тогда
порядковый номер единицы в коде C, на котором реализовалось отношение
предпочтения степени k. По построению множества B существует номер s
такой, что суммируя элементы кодирующей матрицы по вышеизложенному алгоритму,
получим числа что и требовалось доказать.
Следствие. Операция декодирования задаст инъективное
преобразование
c
и
D
S
c
- упорядоченные по убыванию значений элементов
C
BB
K
. Так как
) и
C
, то
, удовлетворяющие условию
множества кодов во множество
K
D
AA
S
. А это значит, что
.
B
c
-
,
39
Доказательство. Для доказательства рассмотрим два различных
),(
RPW
D
C

)(C
)(D
)()(D
C
1)1(...)1,2(),1(),(

jiTjiTjiTji
T

),(RPWD
).,()(RPKD
)(R
P
)1,1(
...)1,1(),()(

RPTRPTRPT
C
1),1()1,1(...)1,1(),(

RPTRPTRPTRP
T
элемента множества кодов
. Обозначим их C и D. Очевидно, что
между ними существует отношение предпочтения. Пусть применим операцию декодирования к данным кодам. По утверждению 1
получим числа
и
, для которых справедливо неравенство:
. Следовательно, разным кодам, которые играют роль прооб-
разов, соответствуют разные числа, играющие роль образов. Это тем самым доказывает, что
– инъекция [47].
Утверждение 2. Элемент кодирующей матрицы ровно на единицу
больше суммы элементов вышестоящей диагонали.
Доказательство. Докажем следующее равенство:
j
CjiT
),(
i
1
По правилу построения кодирующей матрицы
.
,
Тогда доказываемое равенство примет вид:
j
i
j
i
j
321
i
По свойству биномиальных коэффициентов
1
j
2
ji
Используя это свойство, получим
i
данное равенство аналогичным образом, получим
1
1...
CCCC
j
3
i
ji
1
j
ji
11
CCC
1
11
CC
j
i
1...
. Редуцируя
1
jiji
. А это в
j
CCC
22
i
свою очередь является тождеством, Таким образом, утверждение доказано.
Утверждение 3. Для любого элемента
справедливо
Доказательство. Пусть C- самый предпочтительный код среди кодов
длины P ранга R. Очевидно, что он будет иметь следующий вид: первые R
позиций занимают единицы, а остальные
- нули. Согласно
.
алгоритму декодирования, этот код соответствует числу
Из утверждения 2 следует, что
40
.
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]