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

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

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Специальные методы:
A
X
x
K
k
K
k
K
k
K
k
K
k
D
Y
y
рассечение – разнесение: смысловое, механическое. сжатие – расширение.
1.1.3 Формальные модели шифров
Для того чтобы иметь возможность получать в криптографии результаты, нужны математические модели основных исследуемых объектов, к которым относятся в первую очередь шифр и открытый текст. Введем сначала алгебраическую модель шифра (шифрсистемы), предложенную К.Шенноном [4].
Шифром (шифрсистемой) называется совокупность
),,,,( DEYKX
(1.1)
введенных множеств, для которых выполняются следующие свойства:
1) для любых
2)
ключей и шифрованных текстов соответственно; YXE
зашифрования на ключе
множество
расшифрования на ключе
где
k - ключ зашифрования, а
то E
k
)(
где X,K,Y — конечные множества возможных открытых текстов,
Предполагается, что если
ç
понимается как функция
XEY
k
: - )(XE
x
и
XxE
выполняется равенство xxED
. Множество
k
, и D - это множество
- ключ расшифрования (причем
k
p
E , а
k
ç
, XXED
представляется в виде
- как функция
: обозначает Е, а
k
kk
))((
kk
: - правило
k
KkE
)(: правило
:
k
KkD
kkk
kk
D .
k
p
,
),(
pç
,
)
pç
Неформально, шифр - это совокупность множеств возможных открытых текстов (то, что шифруется), возможных ключей (то, с помощью чего шифруется), возможных шифртекстов (то, во что шифруется), правил зашифрования и правил расшифрования.
Отметим, что условие 1) отвечает требованию однозначности расшифрования. Условие 2) означает, что любой элемент
11
может быть
представлен в виде )(xE
X
x
K
k
K
k
X
x
K
k
B
B
k
k
для подходящих элементов
k
и
,
Отметим также, что в общем случае утверждение "для любых
)(YEy
k
Вероятностная модель шифра. Согласно [4], априорные
распределения вероятностей Р(Х), Р(К)определяются на множествах X и К соответственно. Тем самым для любого
x
выполняются равенства
В тех случаях, когда требуется знание распределений Р(Х) и Р(К), пользуются вероятностной моделью связанных условиями 1) и 2) соотношения (1.1), и двух вероятностных
распределений:
выполняется равенство yyDE
)()( XPxp
и для любого
и
1)(
xp
x
Xx
Kk
kp
k
- вероятность )()( KPxp
1)(
))(( " является неверным.
kk
определена вероятность
k
. (1.2)
, состоящей из пяти множеств,
и
причем
Отметим, что вероятностные характеристики шифров используются лишь в криптоанализе – для решения задач вскрытия (или взлома) шифров.
Множества А и В называют соответственно алфавитом открытого текста и алфавитом шифрованного текста. Другими словами, открытые и шифрованные тексты записываются привычным образом в виде последовательностей букв.
Шифр простой замены в алфавите А определяется формулами [100]
xkxkxE
1
где
1 lk
1
подстановка, обратная к k.
Шифр перестановки. определяется формулами
xxxE
1
, ),...,()(
),...,()(
)()1( Lkkk
1
k
))(),(,,,,,( KPXPDEYKX
. (1.3)
))(),...,(()(
,
))(),...,(()(
ykykyD
lk
yyyD
11
)()1(
Lkk
где
двух наиболее важных классов симметричных шифров, а именно шифров
1
- подстановка, обратная к k.
Шифры простой замены и перестановки являются представителями
12
замены и шифров перестановки. Другими симметричными шифрами
)(),(),(YPKPX
P
YKX,,
B


L

B
L
являются композиции (или последовательные применения) некоторых шифров замены и шифров перестановки.
1.1.4 Надежность шифров
Расстояние единственности
При небольших длинах криптограмм результат ее расшифрования может дать несколько осмысленных текстов. Например, криптограмму WNAJW, полученную при использовании сдвигового шифра для английского языка, порождают два открытых текста RIVER и ARENA, отвечающих ключам F (=5) и W (=22). При этом один из ключей является истинным, а другой - ложным. Аналогичная ситуация может иметь место для любого другого шифра.
Существует оценка для определения числа ложных ключей. Для этого рассмотрим связь между энтропиями вероятностных распределений
, заданных на компонентах
шифра условной энтропии двух вероятностных распределений.
Связь между энтропиями компонент шифра дает известная формула для неопределенности шифра по ключу:
полученная К. Шенноном [114]. Эта формула позволяет получить оценку среднего числа ложных ключей.
Среднее число ложных ключей
шифртекстов длины L) определяется формулой,
. Нам понадобятся некоторые дополнительные сведения об
YHKHXHYKH
, (1.4)
k (относительно всех возможных
L
Yy
yKypk 1 (1.5)
произвольного
Расстоянием единственности для шифра
число (которое обозначим
ключей длина шифртекста, необходимая для однозначного восстановления
истинного ключа (без каких-либо ограничений на время его нахождения).
k равно нулю. По сути расстояние единственности есть средняя
L ), для которого ожидаемое число ложных
0
13
является натуральное
Из этого следует, что минимально возможное значение L
1
2
m
log
K
2
(1.6)
nR
2
H
H приблизить
log
L
0
 
Следует иметь в виду, что при попытке вскрыть, например, шифр простой замены с использованием только частот букв целесообразно
оценивать расстояние единственности с учетом оценки энтропии величиной ,
этом оценка для расстояния единственности может существенно вырасти. При использовании частот биграмм целесообразно
величиной
1.1.5 Стойкость шифров
Надежность или стойкость шифров определяется объемом работы криптоаналитика, необходимой для их вскрытия [4]. Возможности
H вычисленной для позначной модели открытого текста. При
H и так далее.
потенциального противника определяют требования, предъявляемые к надежности шифрования [5].
Исходная информация и цели криптоаналитика могут быть разными. Попытки противника по добыванию зашифрованной информации называют криптоатаками. В криптографии с секретным ключом обычно рассматривают следующие криптоатаки [6].
Атака на основе шифртекста: криптоаналитик располагает шифртекстами
неизвестным открытым текстам различных сообщений. Требуется
определить хотя бы одно из сообщений mix
ключ
своей неспособности сделать это. В качестве частных случаев возможно совпадение ключей
k ), исходя из необходимого числа
i
1
K
...
(1xEy
11
i
kk
или совпадение открытых текстов:
m
m
,1, , (или соответствующий
криптограмм, или убедиться в
),(),...,
xEy
отвечающими
mKm
xx
...
1
Атака на основе известного открытого текста: криптоаналитик располагает парами
m
.
открытых и отвечающих им
yxyx ,,...,
1,1
mm
14
шифрованных текстов. Требуется определить ключ
k для хотя бы одной из
i
пар. В частном случае, когда
или, убедившись в своей неспособности сделать это, определить открытый текст
том же ключе.
от предыдущей лишь тем, что криптоаналитик имеет возможность выбора открытых текстов
атака возможна, например, в случае, когда криптоаналитик имеет доступ к шифратору передающей стороны, или в системах опознавания "свой ­чужой".
второй атаки лишь тем, что криптоаналитик имеет возможность выбора шифртекстов
x еще одной криптограммы
1m
Атака на основе выбранного открытого текста: эта атака отличается
xx ,...,
. Цель атаки та же, что и предыдущей. Подобная
1
Атака на основе выбранного шифртекста: эта атака отличается от
yy ,...,
1
m
. Цель атаки та же, что и во втором случае. Подобная
m
1
...
kk
, требуется определить ключ k
m
(
xEy
, зашифрованный на
)11
mkm
атака возможна, например, в случае, когда криптоаналитик имеет доступ к шифратору принимающей стороны. Атаки на основе выбранных текстов считаются наиболее опасными. Шифр, выдерживающий все возможные атаки, можно признать хорошим или надежным.
При проведении любой криптоатаки обычно пользуются общепринятым в криптографии правилом Керкхоффа. Он сформулировал шесть следующих требований к системам шифрования:
1) система должна быть нераскрываемой, если не теоретически, то
практически;
2) компрометация системы не должна причинять неудобств ее
пользователям;
3) секретный ключ должен быть легко запоминаемым без каких-либо
записей;
4) криптограмма должна быть представлена в такой форме, чтобы ее
можно было передать по телеграфу;
5) аппаратура шифрования должна быть портативной и такой, чтобы ее
мог обслуживать один человек;
15
6) система должна быть простой. Она не должна требовать ни
запоминания длинного перечня правил, ни большого умственного напряжения.
Второе из этих правил и стало называться правилом Керкхоффа. Суть его состоит в том, что при проведении криптоанализа можно считать известной систему шифрования. Стойкость (или надежность) шифрования должна определяться лишь секретностью ключа шифрования. До сих пор создание шифров с доказуемой стойкостью является очень сложной проблемой.
Рассмотрение вопросов надежности шифрования невозможно без введения качественной и количественной мер. В криптографии рассматривают два подхода к стойкости - теоретическую стойкость и
практическую (или вычислительную) стойкость.
1.1.5.1 Теоретическая стойкость шифров
При исследовании теоретической стойкости шифров отвлекаются от реальных временных и сложностных затрат по вскрытию шифра. Ставится вопрос о принципиальной возможности получения некоторой информации об открытом тексте или использованном ключе. Впервые такой подход исследовал К. Шеннон [4]. Он рассматривал модель шифра и единственную криптоатаку на основе шифртекста.
Конечной целью работы криптоаналитика является текст сообщения или ключ шифрования. Весьма полезной может быть даже некоторая вероятностная информация об открытом тексте. Например, информация о том, что открытый текст написан на известном языке, предоставляет криптоаналитику определенную априорную информацию об этом сообщении даже до того, как он увидит шифртекст. Первая цель криптоанализа состоит в том, чтобы увеличить количество этой априорной информации, относящейся к каждому возможному открытому тексту таким образом, чтобы истинный открытый текст сделать более вероятным после получения шифртекста. Апостериорные вероятности таких открытых текстов возрастают относительно их априорных вероятностей.
Шифр называется совершенным, если для любого открытого текста знания, которые могут быть получены из соответствующего ему шифртекста,
16
не раскрывают никакой информации об открытом тексте, за исключением,
)(y
)/(yx
p
)/(yk
p
)(N
W
возможно, его длины. Другими словами, для совершенных шифров апостериорные вероятности открытых текстов (вычисленные после получения криптограммы) совпадают с их априорными вероятностями.
1.1.5.2 Практическая стойкость шифров
Кроме теоретической стойкости, вопрос о практической стойкости шифров имеет не менее важное значение [4]. После того как объем перехвата
превысит расстояние единственности (естественно, предполагается, что
для рассматриваемого шифра оно существует!), обычно будет существовать единственное решение (x или k) криптограммы. Задача дешифрования и состоит в нахождении этого единственного решения, имеющего высокую вероятность (
расстояния единственности, задача состоит в нахождении всех решений, имеющих большую вероятность (по сравнению с остальными решениями), и, конечно, в определении вероятностей этих решений.
Несмотря на то, что эти решения можно в принципе найти, поочередно перебирая, например, все ключи при расшифровании, для различных шифров нужно будет затратить для этого весьма различающиеся объемы работы.
Средний объем работы криптограмме, состоящей из N букв, измеренный в удобных элементарных
операциях, К. Шеннон предложил назвать рабочей характеристикой шифра. Это среднее значение берется по всем сообщениям и всем ключам с соответствующими им вероятностями.
Более детальное исследование вопросов практической стойкости
выводит на серьезные проблемы теории сложности алгоритмов и разработки
или
). До того как объем перехвата достигнет
, необходимый для определения ключа по
методов криптоанализа.
1.2 Общие требования к криптосистемам
Процесс криптографического закрытия данных может осуществляться как программно, так и аппаратно. Аппаратная реализация отличается существенно большей стоимостью, однако ей присущи и преимущества: высокая производительность, простота, защищенность и т.д. Программная реализация более практична, допускает известную гибкость в использовании.
17
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
1. зашифрованное сообщение должно поддаваться чтению только при
наличии ключа;
2. число операций, необходимых для определения использованного
ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
3. число операций, необходимых для расшифровывания информации
путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
4. знание алгоритма шифрования не должно влиять на надежность
защиты;
5. незначительное изменение ключа должно приводить к существенному
изменению вида зашифрованного сообщения;
6. структурные элементы алгоритма шифрования должны быть
неизменными;
7. дополнительные биты, вводимые в сообщение в процессе шифрования,
должны быть полностью и надежно скрыты в шифрованном тексте;
8. длина шифрованного текста должна быть равной длине исходного
текста;
9. не должно быть простых и легко устанавливаемых зависимостей
между ключами, последовательно используемыми в процессе шифрования;
10. любой ключ из множества возможных должен обеспечивать надежную
защиту информации;
11. алгоритм должен допускать как программную, так и аппаратную
реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
18
1.3 Структурная организация обобщенного алгоритма
f
симметричного блочного шифрования
Применение программных механизмов в средствах защиты информации (СЗИ) позволяет эффективно решить важные практические задачи по снижению стоимости СЗИ, уменьшению сроков разработки защищенных информационных технологий, ускорению внедрения СЗИ в массовом масштабе и обеспечению высокой переносимости на различные технические платформы и совместимости с системным и прикладным программным обеспечением [2].
При построении программных средств защиты информации целесообразно применение техники шифрования на различных уровнях обработки данных в ЭВМ. Это определяет высокие требования к шифрам, ориентированным на применение в системах защиты от НСД и функционирующим в масштабе реального времени.
Требованиям стойкости, технологической эффективности, эргономичности, переносимости, минимальной стоимости полностью удовлетворяют симметричные блочные алгоритмы шифрования. Анализ структурной организации алгоритмов блочного шифрования [7-32] и базовых способов их построения показал, что их структурную организацию на высоком уровне можно представить в виде объединения двух основных компонент (рис. 1.3): процедуры обработки данных и процедуры вычисления расписания ключа. Порядок обработки блока данных зависит от структуры алгоритма и от кода выполняемой операции – шифрования или дешифрования.
Процедура обработки данных предназначена для преобразования входного блока данных размером n бит в выходной блок данных согласно с описанием АШ и состоит из набора функциональных операторов преобразования данных. В общем случае структурная организация обработки данных зависит от выполняемой операции, то есть процессы шифрования и дешифрования блока данных отличаются между собой, а алгоритмы вычисления функций шифрования и дешифрования не совпадают. При выполнении операции шифрования процедура обработки данных использует
бит ключевой информации – множество раундовых подключей и данные
19
для начальной и конечной модификации входного и выходного блоков,
Код
n
которые формируются из ключа шифрования размером k бит и некоторой дополнительной информации, например специальных констант, процедурой вычисления расписания ключа.
Входной
блок данных
Ключ
шифрования
n
k
Процедура
обработки
данных
операции
f
Процедура
вычисления
расписания
ключа
Выходной
блок данных
Рисунок 1.3 – Высокоуровневое представление алгоритмов шифрования
Аналогично с процедурой обработки данных, процедура вычисления расписания ключа состоит из набора функциональных операторов преобразования входного ключа, а ее структура зависит от выполняемой операции.
Представим эти составляющие как совокупность четырех процедур: процедуры вычисления данных для операции шифрования, процедуры вычисления данных для операции дешифрования, процедуры вычисления расписания ключа для шифрования и процедуры вычисления расписания ключа для дешифрования. Эти процедуры, в свою очередь, состоят из следующих этапов: для процедуры обработки данных это этапы начальной модификации данных, основной обработки данных, конечной модификации данных; для процедуры вычисления расписания ключа – этапы начальной модификации ключа, основной обработки ключа и конечной модификации подключей [33].
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]