Под подстановкой множества Ммы подразумеваем взаимно однозначное отображение этого множества на себя:
p: М® М,
т. е. сопоставление p каждому элементу m изМнекоторого образа p(m), причем каждый элемент из Мявляется образом в точности одного элемента. Элемент p(m)обозначают также через p m.
В случае бесконечных множеств Мподстановки называют также преобразованиями, но слово «преобразование» в дальнейшем у нас будет использоваться как синоним слова «отображение».
Если множество Мконечно и его элементы занумерованы числами 0, 1, 2,..., m-1, то каждую подстановку можно полностью описать схемой, в которой под каждым номером k указывается номер p (k)элемента, являющегося прообразом элемента с номером k.
Под произведением p 1 p2двух подстановок p1и p2 понимается подстановка, которую мы получаем, осуществляя сначала подстановку p2, а затем применяя к результату подстановку p1, т. е.
p 1 p2 (m) = p 1( p 2(m)).
Для подстановок выполняется закон ассоциативности
(p1p2) p3=p1(p2 p2).
Тождественнойили единичной подстановкойявляется такое отображение p0, которое каждый объект переводит в себя самого:
|
|
p0(m) = m.
Тождественная подстановка обладает свойством единичного элемента группы:
"p0: pp0= p.
Обратной подстановкойp-1 к подстановке p является такая подстановка, которая переводит p(m) ® m:
p-1p(m)= p0(m) = m, а также p-1p=p0.
Совокупность подстановок произвольного множества М образует группу, так как для нее выполнены аксиомы группы 1—4. Конечное множество Миз п элементов является также симметрической группой.
Определенное таким образом отображение (подстановка) используется для математического описания шифра замены, как простой так и сложной (многоалфавитной). При шифровании заменой символы шифруемого текста заменяются символами того же или другого алфавита по заранее установленным правилам.
Выполним математический анализ шифра простой замены. Ключом шифра является подстановка π в алфавите Zm, определяющая правило замены при шифровании буквы х открытого текста, представленной в виде целого числа на букву π(х) шифртекста:
π: х → π(х).
Подстановка π является взаимно однозначным отображением из Zm на Zm.
Множество П всех подстановок на Zm является симметричнойгруппой и обладает следующими свойствами: замкнутость (произведение подстановок π 1 π 2 является подстановкой), ассоциативность, существованиеединичного и обратных элементов.
Для многоалфавитной подстановки Ек ключ подстановки К представляет собой последовательность подстановок из P:
К = {(π 0, π 1, …, π n-1), π i Î P }, 1£ n < ¥.
Эта подстановкашифрует: п -грамму (х 0, х 1, х 2, …, хn-1) открытого текста в п -грамму (y 0, y 1, y 2, …, yn‑1) шифртекста в соответствии с формулой
|
|
yi = π i (хi), 0 £ i < n, п = 1, 2, 3,....
При n ®¥ мы приближаемся к теоретически стойкой одноразовой системе шифрования.
Схема реализации многоалфавитной подстановки Ек:
хn-1,…, х 1, х 0 yn-1, …, y 1 y 0
ИИ ¾¾¾¾¾→ Е k ¾¾¾¾¾→ ПИ
k =(π 0, π 1, …, π n-1)
ИК
Отметим характерные особенности подстановки Е k:
• открытый текст шифруется побуквенно (буква за буквой);
• i -я буква шифртекста является функцией только i -й компоненты π i ключа k и i -й буквы хi открытого текста;
Замечание. Криптографическое преобразование Е k будет одноалфавитнойподстановкой, если значения π i одинаковы для каждого i =0,1,2,...; иначе оно будет многоалфавитной подстановкой.
Анализ системы Вижинера
Пусть ключевая последовательность системы Вижинера имеет длину r, тогда ключ r -алфавитной подстановки, который является строкой букв или цифр можно представить в виде последовательности подстановок
π =(π 0, π 1, …, π r-1),
Функция шифрования Вижинера Еπ: х → y преобразует открытый текст х =(х0 , х1 , х2 , …, хn-1) в шифртекст y = (y0 , y1 , y2 , …, yn-1) согласно правилу:
y = (y0 , y1 , y2 , …, yn-1) = (π0(х0), π1(х1), …, π n-1 (хn-1)), где π i =π( i mod r ).
Криптосистема Хилла
Криптосистема Хилла и её частный случай шифр Плэйфера также относятся к классу шифров, основанных на аналитических преобразованиях шифруемых данных, как и аффинная система шифрования. Они основаны на подстановке не отдельных символов, а n -гpамм (шифр Хилла) или 2-гpамм (шифр Плэйфера). При более высокой криптостойкости они значительно сложнее для реализации и требуют достаточно большого количества ключевой информации.
Алгебраический метод, обобщающий аффинную подстановку Цезаря для шифрования n -грамм, был сформулирован Лестером С. Хиллом.
Шифрование ведется путем выполнения умножения вектора на матрицу. Матрица является ключом шифрования. Открытый текст разбивается на n -граммы – блоки длиной n, равной размерности матрицы, и каждая n -грамма рассматривается как вектор.
Множество целых Zm, для которого определены операции сложения и умножения по модулю m, является кольцом. Если модуль m является простым числом, то существует обратная величина любого ненулевого элемента из Zm.
Множество всех n -грамм х = (х 0, х 1, х 2, …, хn-1) с компонентами из кольца Zm образует векторное пространство Zm,n над кольцом Zm. Каждая п -грамма х является вектором. В векторном пространстве Zm,n для векторов х определены операции сложения и вычитания по модулю п, а также скалярное умножение вектора на элемент x кольца Zm. Сложение и скалярное умножение являются операциями, удовлетворяющими коммутативному, ассоциативному и дистрибутивному законам.
Базисом для векторного пространства Zm,n является набор векторов из { х( i ): 0£ i < L}, которые линейно независимы и порождают Zm,n. То есть любой вектор х является линейной комбинацией векторов базиса
х =t0 х( 0) + t1 х( 1) + … + t(L-1) х (L-1) mod m.
Ключевая матрица Т размером п х п вида Т ={g i ,j}, i,j = 0, 1, …, n - 1 задает отображение, являющееся линейным преобразованием:
Т: Zm,n → Zm,n, Т: х → у; у=Тх,
где .
Это преобразование удовлетворяет условию линейности:
T (t ·x + s ·y)= t Тх + s ·Ту mod m для всех s, t из Zm и х,у из Zm,n.
Для дешифрования шифртекста необходимо выполнить обратное преобразование:
х =Т -1 у.
Для того, чтобы линейное преобразование Т, заданное своей матрицей, могло быть криптографическим преобразованием, необходимо чтобы оно было обратимым (или невырожденным), то есть должно существовать обратное линейное преобразование
Т -1: Zm,n → Zm,n: Т Т -1 = Т -1 Т = I, где I – единичная матрица.
Для этого необходимо, чтобы образы { Tх( i ): 0£ i < n } векторов базиса { х( i ): 0£ i < n } пространства n -грамм исходного текста Zm,n в свою очередь являлись базисом пространства криптограмм Zm,n.
|
|
Известно, что каждый базис для Zm,n содержит п линейно независимых векторов и любой набор из п линейно независимых векторов, над Zm,n, является базисом.
Если { х( i ): 0£ i < n } линейно независимы над Zm,n, тогда их образы { Tх( i ): 0£ i < n } линейно независимы над Zm,n только в том случае, если определитель матрицы det Т не делится на любое простое р, которое делит m.
Пример: рассмотрим шифрование биграмм (n =2) для латинского алфавита m =26 из Z 26,2 с помощью матрицы Т= .
Определитель этой матрицы det Т = 9 = 1 mod 2 = 9 mod 13. Поэтому существует обратное преобразование Т -1= такое, что
Т Т -1 = Т -1 Т = I.
Используем это преобразование для шифрования текста
PAYMOREMONEY.
Разобьем его на биграммы и заменим каждую букву ее численным эквивалентом:
x 1(PA)=(15,0) x 2(YM)=(24,12) x 3(OR)=(14,17)
x 4(EM)=(4,12) x 5(ON)=(14,13) x 6(EY)=(4,24).
Шифрование осуществляется умножением матрицы Т на вектора:
y 1 = ·; y 2 = ·; y 3 = ·;
y 4 = ·; y 5 = ·; y 6 = ·;
заменяя в биграммах текста числа на соответствующие буквы, получаем шифртекст:
TE EE PJ WQ DP GY.
Система Хилла является одноалфавитной в широком смысле слова.