Шифрование с помощью аналитических преобразований
Достаточно надежное закрытие информации может быть обеспечено при использовании для шифрования некоторых аналитических преобразований. Для этого нужно использовать методы алгебры матриц , например , умножение матрицы на вектор по правилу:
|| 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, что соответствует исходному тексту. Этот метод шифрования является формальнным , что позволяет легко реализовать его программными средствами.