Для шифрования информации могут использоваться аналити-
ческие преобразования [8]. Наибольшее распространение получи-
ли методы шифрования, основанные на использовании матричной
алгебры. Зашифрование k-го блока исходной информации, пред-
ставленного в виде вектора В^ = || bj|| , осуществляется путем пе-
ремножения матрицы-ключа А= || щ\ и вектора Вк. В результате
перемножения получается блок шифртекста в виде вектора
Ck= Iks | | , где элементы вектора Ск определяются по формуле:
Расшифрование информации осуществляется путем последо-
вательного перемножения векторов С^ и матрицы А1 , обратной
матрице А.
Пример шифрования информации с использованием алгебры
матриц.
Пусть необходимо зашифровать и расшифровать слово
То =с помощью матрицы-ключа А:
Для зашифрования исходного слова необходимо выполнить
следующие шаги.
Шаг 1. Определяется числовой эквивалент исходного слова
как последовательность соответствующих порядковых номеров
букв слова Тэ:
Шаг 2. Умножение матрицы А на векторы Bi={8, 1, 2} и
В*={ 1.3,1}:
Шаг 3. Зашифрованное слово записывается в виде последова-
тельности чисел Ti = .
Аддитивные методы шифрования
Сущность аддитивных методов шифрования заключается в
последовательном суммировании цифровых кодов, соответст-
вующих символам исходной информации, с последовательностью
кодов, которая соответствует некоторому кортежу символов [56].
Этот кортеж называется гаммой. Поэтому аддитивные методы
шифрования называют также гаммированием.
Для данных методов шифрования ключом является гамма.
Криптостойкость аддитивных методов зависит от длины ключа и
равномерности его статистических характеристик. Если ключ ко-
роче, чем шифруемая последовательность символов, то шиф-
ртекст может быть расшифрован криптоаналитиком статистиче-
скими методами исследования. Чем больше разница длин ключа и
исходной информации, тем выше вероятность успешной атаки на
шифртекст. Если ключ представляет собой непериодическую по-
следовательность случайных чисел, длина которой превышает
длину шифруемой информации, то без знания ключа расшифро-
вать шифртекст практически невозможно. Как и для методов за-
мены в качестве ключа могут использоваться неповторяющиеся
последовательности цифр, например, в числах к, е и других.
На практике самыми эффективными и распространенными яв-
ляются аддитивные методы, в основу которых положено исполь-
зование генераторов (датчиков) псевдослучайных чисел. Генера-
тор использует исходную информацию относительно малой дли-
ны для получения практически бесконечной последовательности
псевдослучайных чисел.
Для получения последовательности псевдослучайных чисел
(ПСЧ) могут использоваться конгруэнтные генераторы. Генерато-
ры этого класса вырабатывают псевдослучайные последователь-
ности чисел, для которых могут быть строго математически опре-
делены такие основные характеристики генераторов как перио-
дичность и случайность выходных последовательностей.
Среди конгруэнтных генераторов ПСЧ выделяется своей про-
стотой и эффективностью линейный генератор, вырабатывающий
псевдослучайную последовательность чисел T(i) в соответствии с
соотношением
T(i+1) = (a-T(i) + с) mod m,
где а и с — константы, Т(0) — исходная величина, выбранная в ка-
честве порождающего числа.
Период повторения такого датчика ПСЧ зависит от величин а
и с. Значение т обычно принимается равным 2s, где s — длина сло-
ва ЭВМ в битах. Период повторения последовательности генери-
руемых чисел будет максимальным тогда и только тогда, когда с —
нечетное число и a (mod 4) = 1 [39]: Такой генератор может быть
сравнительно легко создан как аппаратными средствами, так и
программно.
Аналитические методы шифрования
Для шифрования информации могут использоваться аналитические преобразования. Наибольшее распространение получили методы шифрования, основанные на использовании матричной алгебры. Зашифрование k-го блока исходной информации, представленного в виде вектора Bk= ||bj||, осуществляется путем перемножения матрицы-ключа А = ||aij|| и вектора Bk. В результате перемножения получается блок шифртекста в виде вектора Ck= ||ci|| , где элементы вектора Ckопределяются по формуле:
Расшифрование информации осуществляется путем последовательного перемножения векторов Ckи матрицы A-1, обратной матрице A.
Пример шифрования информации с использованием алгебры матриц.
Пусть необходимо зашифровать и расшифровать слово
Т0 = < ЗАБАВА> с помощью матрицы-ключа А:
Для зашифрования исходного слова необходимо выполнить следующие шаги.
Шаг 1. Определяется числовой эквивалент исходного слова как последовательность соответствующих порядковых номеров букв слов Тэ:
Tэ= <8, 1, 2, 1, 3, 1>
Шаг 2. Умножение матрицы А на векторы В1= {8, 1, 2} и В2= {1, 3, 1}:
;
Шаг 3. Зашифрованное слово записывается в виде последовательности чисел Т1 = <28, 35, 67, 21, 26, 38>.
Расшифрование слова осуществляется следующим образом.
Шаг 1. Вычисляется определитель |А| = -115.
Шаг 2. Определяется присоединенная матрица А*, каждый элемент которой является алгебраическим дополнением элемента матрицы А
.
Шаг 3. Получается транспонированная матрица АT
Шаг 4. Вычисляется обратная матрица А-1по формуле:
А-1= АТ/|А|.
В результате вычислений обратная матрица имеет вид:
Шаг 5. Определяются векторы B1и B2:
B1= A-1*C1; B2= A-1*C2.
,
Шаг 6. Числовой эквивалент расшифрованного слова
+Тэ= <8, 1, 2, 1, 3, 1> заменяется символами, в результате чего получается исходное слово Т0= <ЗАБАВА>
Do'stlaringiz bilan baham: |