Криптография

По­лу­чен­ный за­шиф­ро­ван­ный текст яв­ля­ет­ся дос­та­точ­но труд­ным для рас­кры­тия в том слу­чае, ес­ли гам­ма шиф­ра не со­дер­жит по­вто­ряю­щих­ся би­то­вых по­сле­до­ва­тель­ностей. По су­ти де­ла гам­ма шиф­ра долж­на из­ме­нять­ся слу­чай­ным об­ра­зом для ка­ж­до­го шиф­руе­мо­го сло­ва. Фак­ти­че­ски же, ес­ли пе­ри­од гам­мы пре­вы­ша­ет дли­ну все­го за­шиф­ро­ван­но­го тек­ста и не­из­вест­на ни­ка­кая часть ис­ход­но­го тек­ста, то шифр мож­но рас­крыть толь­ко пря­мым пе­ре­бо­ром (про­бой на ключ). Криптостойкость в этом слу­чае оп­ре­де­ля­ет­ся раз­ме­ром клю­ча.

Ме­тод гам­ми­ро­ва­ния ста­но­вит­ся бес­силь­ным, ес­ли зло­умыш­лен­ни­ку ста­но­вит­ся из­вес­тен фраг­мент ис­ход­но­го тек­ста и со­от­вет­ст­вую­щая ему шиф­ро­грам­ма. Про­стым вы­чи­та­ни­ем по мо­ду­лю по­лу­ча­ет­ся от­ре­зок ПСП и по не­му вос­ста­нав­ли­ва­ет­ся вся по­сле­до­ва­тель­ность. Зло­умыш­лен­ни­ки мо­жет сде­лать это на ос­но­ве до­га­док о со­дер­жа­нии ис­ход­но­го тек­ста. Так, ес­ли боль­шин­ст­во по­сы­лае­мых со­об­ще­ний на­чи­на­ет­ся со слов “СОВ.СЕК­РЕТ­НО”, то крип­тоа­на­лиз все­го тек­ста зна­чи­тель­но об­лег­ча­ет­ся. Это сле­ду­ет учи­ты­вать при соз­да­нии ре­аль­ных сис­тем ин­фор­ма­ци­он­ной безо­пас­но­сти.

Ниже рассматриваются наиболее распространенные методы генерации гамм, которые могут быть использованы на практике.

1.7. Шифрование с помощью аналитических преобразований

Достаточно надежное закрытие информации может быть обеспечено при использовании для шифрования некоторых аналитических преобразований. Для этого нужно использовать методы алгебры матриц , например , умножение матрицы на вектор по правилу:

|| aij || bj = cj =S aij bj

Если матрицу || aij || использовать в качестве ключа , а вместо компонента вектора bj подставить символы текста , то компоненты вектора cj будут представлять собой символы зашифрованного текста.

Приведем пример , взяв в качестве ключа квадратную матрицу третьего порядка

14 8 3

8 5 2

3 2 1

Заменим буквы алфавита цифрами, соответствующими порядковому номеру в алфавите. Тогда отрывку текста ВАТАЛА соответствует последовательность номеров 3,0,19,0,12,0. По принятому алгоритму шифрования выполним необходимые действия:

14 8 3 3 99 14 8 3 0 96

8 5 2 * 0 = 62 ; 8 5 2 * 12 = 60

3 2 1 19 28 3 2 1 0 24

При этом зашифрованый текст будет иметь вид:99,62,28,96,60,24.

Расшифрование осуществляетсяс использованием того же правила умножения матрицы на вектор, только в качестве основы берется матрица, обратная той, с помощью которой осуществляется закрытие, а в качестве вектора-самножителя – соответствующие колличество символов закрытого текста; тогда значениями вектора-результата будут цифровые эквиваленты знаков открытого текста. Обратной к данной называется матрица, полущающая из так называемой присоединенной матрицы делением всех ее элементов на определитель данной матрицы. В свою очередь присоединенной называется матрица, составленная из алгеброических дополнений А ,к элементам данной матрицы, которые вычисляются по формуле: Aij = (-1)^i+j Dij ,

где Dij – определитель матрицы, получаемый вычеркиванием i-й ее строки и j-го столбца. Определителем же как известно, называется алгеброическая сумма n! членов (для определения n-ого порядка), составленная следующим образом: членами служат всевозможные произведения n элементов матрицы, взятых по одному в каждой строке и в каждом столбце, причем член суммы берется со знаком ''+'', если его индексы составлят подставку, и со знаком ''-'' - в противоположном случае. Для матрицы третьего порядка, например, определитель вычисляется по следующей формуле:

D=а11а22а33+а12а23а31+а13а21а32-а11а23а32-а12а21а33-а13а22а31.

Тогда процесс раскрытия выглядит так:

1 -2 1 99 1*99-2*62+1*28 3

-2 5 -4 * 62 = -2*99+5*62-4*28 = 0

1 -4 6 28 1*99-4*62+6*28 19

1 -2 1 96 1*96-2*60+1*24 0

2 5 -4 * 60 = -2*96+5*60-4*24 = 12

1 -4 6 24 1*96-4*60+6*24 0

Таким образом, получили следующюю последовательность знаков раскрытого текста:3,0,19,0,12,0, что соответствует исходному тексту. Этот метод шифрования является формальнным , что позволяет легко реализовать его программными средствами.

1.8. Криптосистемы на основе эллиптических уравнений

Эллиптические кривые - математический объект, который может определен над любым полем (конечным, действительным, рациональным или комплексным). В криптографии обычно используются конечные поля. Эллиптическая кривая есть множество точек (x,y), удовлетворяющее следующему уравнению:

y2 = x3 + ax + b,

а также бесконечно удаленная точка. Для точек на кривой довольно легко вводится операция сложения, которая играет ту же роль, что и операция умножения в криптосистемах RSA и Эль-Гамаля.

В реальных криптосистемах на базе эллиптических уравнений используется уравнение

y2 = x3 + ax + b mod p,

где р - простое.

Проблема дискретного логарифма на эллиптической кривой состоит в следующем: дана точка G на эллиптической кривой порядка r (количество точек на кривой) и другая точка Y на этой же кривой. Нужно найти единственную точку x такую, что Y = xG, то есть Y есть х-я степень G.


Страница: