который является модификацией шифра Цезаря число-
вым ключом.
Пример 3. Пусть числовой ключ 3216, сообщение ЗАНЯТИЕ НАЧАЛОСЬ
3 21
6 3 2 1 6 3 21 6 3 21
КВОЕХКЖУГЩБССУЫ Далее в соответствии с цифрой ключа делается
смещение по алфавиту относительно указанной в сообщении буквы и получается новое сообщение. Аналогичен шифр в более общей системе шифрования Вижинера (так называемая таблица или квадрат Вижинера). Еще большее усложнение введено в системы шифрования двойными квадратами, когда весь текст разбивается на пары букв (биграммы), затем первые буквы шифруют по одной таблице, а вторые – по другой по правилу прямоугольника (две буквы исходного текста и две буквы шифротекста образуют прямоугольник). Это так называемый шифр Чарльза Уинстона, изобретенный им в 1856 г. и применявшийся широко Германией в 1 мировую войну.
|
Т |
У |
М |
А |
Н |
Б |
В |
Г |
|
|
Д |
Е |
Ж |
|
И |
Й |
К |
Л |
|
|
|
|
|
З |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
О |
П |
Р |
С |
Ф |
Х |
Ц |
Ч |
|
|
Ш |
Щ |
Ь |
Ы |
Ъ |
Э |
Ю |
Я |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
З |
|
К |
О |
Н |
Б |
В |
Г |
|
А
236
Д |
|
Ж |
И |
Й |
Л |
М |
П |
|
Е |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Р |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ь |
Ы |
Ъ |
Э |
Ю |
Я |
Пример 4. Пусть имеется текст "Занятия начались". Текст разбивается на биграммы:
ЗА НЯ ТИ ЯН АЧ АЛ ИС ЬЬ. Каждая биграмма шифруется по двум таблицам, первая буква по одной таблице, а вторая - по другой. Например, З Е и А А, в результате ЗА ЕА. А в целом получается шифрограмма ЕА ГЪ ОД ЪГ ГС БЗ ЕФ ТР. С орфографическим ошибками, но сообщение зашифровано.
Все эти шифры условно надежные и могут быть раскрыты при сегодняшних возможностях СВТ достаточно быстро. Единственно нераскрываемой системой шифрования является одноразовая система шифрования. При этом абоненты пользуются шифроблокнотами с отрывными листами. Шифрование каждого сообщения начинается с новой страницы.
Наконец, кратко о методе гаммирования. Под гаммированием понимаетсяпроцесс наложения по определенному закону гаммы шифра на открытые данные. Гамма шифра – это псевдослучайная последовательность, выработанная по заданному алгоритму. Процесс шифрования заключается в генерации гаммы шифра и наложении полученной гаммы на исходный открытый текст обратимым образом, например, с использованием операции по модулю 2. Из известных процедур генерации псевдослучайных целых чисел наиболее часто применяется линейный конгруэнтный генератор, который вырабатывает последовательность чисел, используя со-
237
отношение Yi b) mod m, где а,b,m-константы. Текущее значение числа Yi получают из предыдущего
умножением его на коэффициент a , сложением с приращением b и вычислением остатка от деления на модуль m . Такие шифры имеют длину периода повторения гаммы 224 и обладают достаточно хорошими статистическими свойствами. Возможен способ генерации на основе линейных рекуррентных соотношений типа
k |
|
h j ai 1 |
0; |
j 0 |
|
k 1 |
|
ai k |
h j ai j . |
j 0 |
|
Решением этой системы уравнений является последовательность чисел a0 , a1 , a2 ... так называемого поля Галуа.
Концепция асимметричных криптосистем с
открытым ключом базируется на так называемых однонаправленных функциях. Суть таких функций в том, что по аргументу функции легко получить значение самой функции, но по значению функции невозможно вычислить ее аргумент. Простейший пример однонаправленной функции является произведение двух больших чисел:
N P
Q . По значению N практически невоз-
можно определить P и Q. Другой пример однонаправленной функции – это модульная экспонента с фиксированным основанием и модулем. Пусть А и N – целые числа, такие, что 1 A N . Определим множество
238
Z N
0,1,2,..., N 1 . Тогда модульная экспонента с основанием А по модулю N представляет собой функцию
f |
AN |
(x) |
Ax (mod N) , |
где x- |
целое |
число, |
|
|
|
|
|
|
|
1 x N |
1. |
Если y A x , то естественно x |
logA ( y) , |
|||
поэтому задачу обращения |
функции |
f AN (x) называют |
||||
задачей дискретного логарифма или задачей дискретного логарифмирования, то есть необходимо для известных целых А, N и y найти число х такое, что
Ax mod N y . Алгоритмов решения этой задачи за приемлемое время до сих пор не найдено.
Рассмотрим один из шифров, представляющих пример асимметричной криптосистемы.
Криптосистемы шифрования данных RSA (R. Rivest, A. Shamir, A. Adleman).
Пусть открытый ключ Kв , секретный ключ zв ,
сообщение М и криптограмма С принадлежат множеству целых чисел Z m 0,1,2....N 1 , где N- это модуль: N PQ , P и Q - случайные простые числа (как прави-
ло, равной длины). Открытый ключ выбирается случайным образом так, чтобы выполнялись условия
1 Kв
(N ), HOД (Kв , (N )) 1; (N ) (P 1)(Q 1).
Функция Эйлера (N) указывает количество чисел в интервале от 1 до N, которые взаимно просты с N. Наибольший общий делитель НОД K в , (N )) 1 - это условие того, что ключ K в и функция (N) должны быть взаимно простыми.
239
Секретный ключ zв вычисляется из условия
zв Kв 1(mod (N)) или zв Kв |
1 (mod(P 1)(Q 1)). |
Если бы можно было разложить Т на сомножители P и Q, тогда можно было бы найти функцию Эйлера (N) (P 1)(Q 1) , а затем по K в найти zв , но ука-
занное разложение практически невозможно.
Процедура шифрования и дешифрирования в криптосистеме RSA.
Пусть пользователь А должен передать пользователю В сообщение, используя эту криптосистему. Криптосистему должен сформировать получатель В, который:
1. Выбирает два произвольных больших числа P и
Q. |
|
|
|
|
|
|
|
|
|
|
|
|
2. |
Вычисляет значение модуля N |
PQ . |
|
|||
|
|
|
3. |
Вычисляет функцию Эйлера |
|
|
|||
|
|
|
4. |
(n) (P |
1)(Q 1) . |
|
|
|
|
|
|
|
5. |
Выбирает случайным образом значение откры- |
|||||
того |
|
ключа |
K в с |
учетом условий 1 |
K в |
(N ) и |
|||
НОД( K в , (N ) )=1. |
|
|
|
|
|||||
|
|
|
6. |
Вычисляет |
значение |
секретного |
ключа |
||
z |
в |
K |
1 |
(mod |
(N)) |
1 . |
|
|
|
|
|
в |
|
|
|
|
|
|
|
|
|
|
7. |
Пересылает для А по незащищенному каналу |
|||||
пару чисел N и Kв .
Пользователь А - отправитель:
240