Подстановки. Анализ системы Вижинера

Под подстановкой множества Ммы подразу­меваем взаимно однозначное отображение этого множества на себя:

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,nZm,n, Т: ху; у=Тх,

где .

Это преобразование удовлетворяет условию линейности:

T (t ·x + s ·y)= t  Тх + s ·Ту mod m для всех s, t из Zm и х,у из Zm,n.

Для дешифрования шифртекста необходимо выполнить обратное преобразование:

х =Т -1 у.

Для того, чтобы линейное преобразование Т, заданное своей матрицей, могло быть криптографическим преобразованием, необходимо чтобы оно было обратимым (или невырожденным), то есть должно существовать обратное линейное преобразование

Т -1: Zm,nZm,n: Т Т -1 = Т -1 Т = I, где I – единичная матрица.

Для этого необходимо, чтобы образы { ( i ): 0£ i < n } векторов базиса { х( i ): 0£ i < n } пространства n -грамм исходного текста Zm,n в свою очередь являлись базисом пространства криптограмм Zm,n.

Известно, что каждый базис для Zm,n содержит п линейно неза­висимых векторов и любой набор из п линейно независимых векторов, над Zm,n, является базисом.

Если { х( i ): 0£ i < n } линейно независимы над Zm,n, тогда их образы { ( 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.

Система Хилла является одноалфавитной в широком смысле слова.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: