Научная статья на тему 'Использование сплайнов первого порядка в шифровании'

Использование сплайнов первого порядка в шифровании Текст научной статьи по специальности «Математика»

CC BY
180
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЛОЧНОЕ ШИФРОВАНИЕ / СПЛАЙНЫ ПЕРВОГО ПОРЯДКА / НЕРАВНОМЕРНАЯ СЕТКА / ФОРМУЛЫ ДЕКОМПОЗИЦИИ И РЕКОНСТРУКЦИИ ИЗ ТЕОРИИ ВЭЙВЛЕТОВ / BLOCK CIPHERS / FIRST ORDER SPLINES / NON-UNIFORM GRID / FORMULAS OF DECOMPOSITION AND RECONSTRUCTION FROM WAVELET THEORY

Аннотация научной статьи по математике, автор научной работы — Левина Алла Борисовна

В настоящее время криптография используется почти во всех информационных системах от Интернета до баз данных. Обеспечение требуемой степени защиты без нее невозможно. С помощью криптографических алгоритмов предотвращаются попытки мошенничества в системах электронной коммерции и обеспечивается законность финансовых сделок. С каждым годом значение обеспечения безопасности информации возрастает, однако никто не в состоянии предоставить стопроцентную гарантию. В данной работе предложен блочный алгоритм шифрования информации, основанный на вэйвлетных разложениях сплайнов первого порядка на неравномерной сетке. Использование сплайн-вэйвлетных разложений приводит к довольно большому разнообразию ключей, определенных сеткой и порядком выбрасывания узлов. Предложенный алгоритм может также применяться для передачи ключей. Представленный алгоритм имеет структуру Фейстеля, но в отличие от других существующих блочных алгоритмов в нем нет операции XOR с подключом на каждом раунде. Алгоритм имеет легкую для анализа математическую структуру. Представленный алгоритм может работать с блоками длины 512 и 1024 бит, что раньше не представлялось возможным для таких алгоритмов как AES и 3DES. Также были проведены исследования алгоритмов блочного шифрования, построенных на сплайн-вэйвлетных разложениях сплайнов второго и третьего порядка. Предложенный алгоритм предоставляет высокую степень защищенности. Библиогр. 4 назв.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Encryption with first order splines

Cryptography nowadays is used almost in all information systems from Internet to databases. Maintenance of a required level of protection without it is impossible. By means of cryptographic algorithms swindle attempts in systems of electronic commerce are prevented and legality of financial transactions is provided. Every year the value of information protection maintenance increases, however nobody can give an absolute guarantee of safety. In the given work the algorithm of enciphering the information based on wavelet decomposition of splines of the first degree on a non-uniform grid is presented. Using splines and their wavelet decompositions leads to a rather wide variety of the keys defined by mesh and the order of ejection of nodes. The suggested algorithms can also be applied to the key transfer. The presented algorithm has the Feistel Structure, but there is no XOR operation with the round key, as it was presented in all block ciphers. Algorithms have easy mathematical structure for analysis. The algorithm provided can work with the block length equal to 512 and 1024 bit, which is not possible for AES or 3DES. It was also made researches to use wavelet decomposition of splines of the second and third degree in symmetric block cryptography. Presented algorithm can provide good secrecy.

Текст научной работы на тему «Использование сплайнов первого порядка в шифровании»

Сер. 10. 2009. Вып. 3

ВЕСТНИК САНКТ-ПЕТЕРБУРГСКОГО УНИВЕРСИТЕТА

УДК 003.26 А. Б. Левина

ИСПОЛЬЗОВАНИЕ СПЛАЙНОВ ПЕРВОГО ПОРЯДКА В ШИФРОВАНИИ *)

Введение. Функции, подобные тем, что сейчас называют сплайнами, были известны математикам начиная с Эйлера, но интенсивное их изучение началось только в середине XX в. В 1946 г. Исаак Шёнберг впервые употребил этот термин в качестве обозначения класса полиномиальных сплайнов. До 1960 г. сплайны были в основном инструментом теоретических исследований.

После 1960 г. с развитием вычислительной техники началось использование сплайнов в компьютерной графике, моделировании, а в настоящее время сплайны и вэйвлеты широко применяются для обработки числовых потоков, что позволяет выделять характерные составляющие, экономить ресурсы вычислительной системы и каналов передачи (время обработки и передачи, объемы памяти для хранения информации и т. п.). Перечисленные свойства сохраняются и для предложенных в работах [1-3] алгоритмов шифрования; последние основаны на вэйвлетном разложении пространств сплайнов второго порядка. В данной работе продолжены упомянутые исследования; здесь предлагается более простой алгоритм шифрования, полученный благодаря использованию вэйвлетных разложений пространств сплайнов первого порядка.

Преимущество алгоритмов, построенных на сплайн-вэйвлетных разложениях, в том, что по сравнению с существующими блочными алгоритмами DES и Rijndael (см., например, [4]) они могут работать с блоками, равными 512 и 1024 бит. В алгоритме Rijndael общее число битов ключа раунда равно длине блока, умноженной на количество раундов плюс 1, т. е. для длины блока 128 бит и 10 раундов необходимо 1408 битов ключа раунда. В представленном в настоящей работе алгоритме при длине блока 256 бит проводится 30 раундов, но длина ключа равна 504 бита и на каждом длина ключа раунда уменьшается на 16 бит, что значительно упрощает процесс передачи ключа. При работе данного алгоритма с блоком 512 бит длина ключа составляет 1016 бит.

1. Основные понятия. Предлагаемая криптосистема относится к симметричным, блочным, при шифровании и дешифровании используется один ключ.

Ключом является неравномерная сетка X, порядок выбрасывания узлов из этой сетки y. Обозначим ключ K = (X, y). Количество раундов - K. Все вычисления проводятся в конечных полях, по модулю N (N - простое число). Сетка X является циклически упорядоченным множеством, ее элементы - узлы Xj :

X = {xj }j£No ,

Левина Алла Борисовна — аспирант кафедры параллельных алгоритмов математико-механического факультета Санкт-Петербургского государственного университета. Научный руководитель: проф. Ю. К. Демьянович. Количество опубликованных работ: 8. Научное направление: криптография. E-mail: Alla_levina239@yahoo.com, alla_levina@mail.ru.

*) Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (гранты № 07-01-00269 и 07-01-00451).

© А. Б. Левина, 2009

где N0 - множество натуральных чисел с нулем. Сетка X периодическая, с периодом, равным М, так что х^ = х^+^ для У] € Ъ.

Последовательность номеров выбрасываемых узлов 7: 7 = {'7п}пе[1,...,к], где

К - число раундов шифрования, 7п - номер случайно выбираемого узла х^.

Открытым текстом является последовательность С = {с^}i£J, J С Ъ. Она разбивается на I блоков одинаковой длины, С1\ = М, здесь \С1\ - количество элементов в блоке. При необходимости последовательность {^}.1=0,...,м-к будет продлеваться периодически, период будет равным М — к, здесь М — к - количество оставшихся в блоке элементов на к-м раунде.

Во всех формулах г и ] € N0.

На каждом раунде из сетки выбрасывается один узел с номером 7к, далее при шифровании по формулам декомпозиции считается последовательность {c-k}ie,J, после проведения К раундов получается шифротекст. При дешифровании текст восстанавливается с помощью формул реконструкции.

Замечание. В дальнейшем для простоты формулировок индекс сверху в основном используется для обозначения номера и не является показателем степени; если индекс сверху - показатель степени, то выражение, которое возводится в степень, пишется в квадратных скобках [...].

2. Процесс шифрования. Опишем процесс шифрования. На первом шаге шифрования поступает шифруемая последовательность {с.ь}.1=о,..,м. С помощью ключа К и формул декомпозиции производится первый раунд шифрования.

Первый раунд:

1. Из первоначальной сетки X выбрасывается узел х1г.

2. Обозначим полученную в п. 1 сетку как X-1, а ее узлы - соответственно символами

-1,

-1

x

- = Xj при j <Y1, (2.1)

x- 1 = Xj+i при j >yi, (2.2)

X-1 = {x-1}.

Для выбрасываемого узла введем обозначение xYl = £.

3. Рассмотрим формулы декомпозиции для сплайнов первого порядка:

c-1 = Ci при 0 < i < Y1, (2.3)

c-1 = Ci+1 при 71 < i < M - 1, (2.4)

b 1 = (cYl - (x7i + 1 - x7i1)Ix7i1+1 - £] 1c7l-1-

-(x-11 - ОКн-1 - £]-1c~,i + 1)(m.odN). (2.5)

4. Сдвиг элементов c-1 произведем следующим образом:

c-1 ^ c- 1 ^ c- 1... ^ cM-1 ^ c0 1.

Формулы (2.3)—(2.5) записаны в обозначениях новой сетки X-1. Получили последовательность {c01}i=o,...,M-1 и b-1.

Второй раунд:

Для проведения этого раунда берутся последовательность {c-1}i=o,...,M-1, сетка X-1 и номер узла 72.

xj

1. Выбросим из сетки X 1 узел х- 1.

-і—г О

2. Получаем сетку Xс узлами:

х-2 = х-1 при і < 72,

х-2 = х-+1 при і >72,

X-2 = {х-2}, Є = х-1.

3. Перепишем формулы (2.3)—(2.5) в новых обозначениях:

с-2 = с-1 при 0 < і <72, (2.6)

с-2 = с-+11 при 72 < і < М - 2, (2.7)

Ъ 2 = (С-1 - (х-2+1 - х-2)[х-2 + 1 - ^ 1С-1-1-

-(х-21 - ^)[х-2 + 1 - ^]-1с-2 + 1)(т°аЯ). (2.8)

4. Произведем сдвиг с-2 следующим образом:

сп —> с —> с0 ... —> с

М-2

Установили последовательность {с-2}.1=0,..,м-2 и Ь-2. К-й раунд:

По аналогии с предыдущими раундами имеем

с-к = с

~к+1 при 0 ^ і < 7к,

с-к = сі+і1 + 1 при 7к < і < М - К,

Ъ - к _ (с-к+1 (х - К х - К )[х - К £1 -1с- К

Ъ = (стк - (х1к + 1 - х1к )[хтк + 1 - ^ с1к-1

-(х-к -£)\х-Кк+1-1с-Кк+1 )(т°гї^).

На К-м раунде сдвиг не производится.

Определили последовательность {с-к}і=0,...,м-к и Ъ-к.

В результате К раундов получаются последовательность вложенных сеток

X-к с X-к+1 с ... с X-1 с X0

и две последовательности

{Ь-П}п=1,2,...,к, {с- к}і=0,1,2,...,М-к.

Последовательность {с-к,Ь-п}п=1,2,..,к;і=0,1,2,..,м-к является шифротекстом.

3. Процесс дешифрования. Он проводится по аналогии с процессом шифрования, используются тот же ключ К и формулы реконструкции.

Зная число раундов К, шифротекст {с-к, Ъ-п}п=1..,к і=0,..,М-к разбивается на две последовательности:

{Ъ-П}п=1,2,...,к, {с- к}і=0,1,2,...,М-к.

Зная изначальную сетку X и порядок выбрасывания узлов 7, по формулам (2.1), (2.2) находим сетки X-1,..., X-к+1, X-K.

2

2

с

Первый раунд:

1. Берем сетку X-К, £ = х7к.

2. Выпишем формулы реконструкции:

с- К+1 = С-К при 0 < г < ^к, (3.1)

-К+1 = с--К1 при 7к + 1 < г < М — К + 1, (3.2)

-К+1 = ((х-К ___________ х-к)[х-К _£]-1 с-К +

1к ^х1к + 1 х7к > \-х1к + 1 £-1 с7к-1 '

+ (х-к — £)[х-к + 1 — £] с-к + Ь )(тоёМ). (3.3)

3. Произведем сдвиг с- К+1 следующим образом:

с- +1 с- +1 с- +1... с- +1 с- +1.

с0 ^ с1 ^ с2 ... ^ сМ-К+1 ^ с0 .

Определяем последовательность {с-К+1}г=0,..,М-К+1.

К-й раунд:

1. Берем сетку X-1, £ = х71.

2. Выпишем формулы реконструкции:

с. = с-1 при 0 < г <71, сг = с-}1 при 71 + 1 < г < М,

с71 = ((х-11+1 — х711)[х711+1 — £] 1с11-1 +

+ (х- — £)[х-11+1 — £]-1с-11 + Ь-1)(шоёМ).

На К-м раунде сдвиг не производится.

Таким образом, после К раундов был восстановлен исходный текст {сг}г=0,...,м.

3. Пример. Наглядно продемонстрируем работу представленной криптосистемы. Передаем сообщение {4, 6, 7, 9,1, 8}.

Ключ К = ({1, 3, 5, 9,10}, {2, 3}).

В данном примере число раундов К = 2, N = 11.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Первый раунд:

1. Выпишем сетку X-1 : X-1 = {1, 3, 9,10} а £ = х71 = 5.

2. По формулам (2.3)-(2.5) определяем

с0 = с0 = /4, с-1 = с1 = 6, с-1 = сз = 9,

с-1 = с4 = 1,

с-1 = с5 = 8,

10 9 9 5

Ъ-1 = (7 - ——- • 6 - ——- • 9)(то<Ш) = (7—1-9-6 — 4-9 - 9)(то<й1) = 3.

3. Произведем сдвиг:

со1 = 8 с- = ^ с-1 = 6, с-1 = 9, с-1 = 1.

Получили последовательность с-1 = {8, 4, 6, 9,1} и Ь-1 = 3.

Второй раунд:

1. Выпишем сетку X-2 : X-2 = {1, 3, 9} а £ = х72 = 10.

2. По формулам (2.6)-(2.8) находим

с-2 = с-1 = 8 с0 с0 ,

с-2 = с-2 = 4,

с22 = с31 = 6,

- = с-1 = ^

Ь~2 = (9 — ^• 6 — ^^ • 1)(тос111) = (Э + 2- 8- 6 — 9-8 - 1)(тос111) = 0.

После двух раундов получили последовательности {8,4, 6,1} и {3, 0}. Шифротекстом является последовательность {8, 4, 6,1, 3, 0}.

Попробуем восстановить исходную информацию.

Первый раунд:

1. Изначальная сетка имела вид {1, 3, 5, 9,10}, порядок выбрасывания узлов {2, 3}, следовательно, на последнем шаге была получена сетка {1, 3, 9}, £ = 10. Выполнялось два раунда ^ {с-К}г=0,...,з = {8, 4, 6,1} и {Ь-п}п=1,2 = {3, 0}.

2. По формулам (3.1)-(3.3) находим

с-1 = с-2 = 8 с0 с0 ,

с-1 = с-2 = 4,

с-1 = с-2 = 6 с2 с2 ,

с-1 = с-2 = ^

Сп1 = (——— • 6 + -------— • 1 + 0)(тос111) = 9.

3 4-10 3 — 10 Л ’

3. Произведем сдвиг:

со = 4,

с-1 = 6, с-1 = 9,

сз = 1, с-1 = 8.

Получили последовательность с-1 = {4, 6, 9,1, 8}.

Второй раунд:

1. На этом раунде сетка имеет вид {1, 3, 9,10}, £ = 5.

2. ^

с0 = со = /4,

1 __ а

сі

сз

с

-1

С4 — С— — 1

с2 — (

10-9

С5 — с-1

9 — 5

• 9 + 3)(шоё11) — 7.

10 - 5 10 - 5

Получили последовательность с — {4, 6, 7, 9,1, 8}.

Из примера видно, что передаваемое сообщение было полностью восстановлено.

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

При длине блока 32 байт будет проводиться 30 раундов, а количество узлов сетки Ь — 33.

Шифруемым блоком является последовательность элементов открытого текста {со, сі,..., сзі}, а ключ К — {X,^}, X — {хо,хі, ...,хз2}, 7 — {7и}и=о,...,32, К — 30.

Запишем элементы открытого текста в виде матрицы С.

Число столбцов в матрице N — М/4, а строк 4. Для блока, равного 256 бит, матрица С будет являться матрицей 4 х 8, 8 столбцов и 4 строк:

С—

Узлы изначальной сетки записываются в матрицу X, состоящую из 1-го столбца:

х0 х1

X = х2

\ хз2 )

Здесь с0, с1,...., сз1, х0,..., х32 - байты.

Процесс шифрования состоит из четырех процедур:

• вычисление сетки, которая будет использоваться в данном раунде;

• расчет по формулам декомпозиции элементов, применяемых в следующем раунде;

• сдвиг полученных элементов;

• создание матрицы В.

На каждом раунде количество элементов в матрице С будет уменьшаться на один элемент, чтобы сохранить матрицу С в виде матрицы 4 х 8, недостающий элемент заменяется нулем.

/ со сі с2 сз с4 с5 св с7 \

с8 с9 сіо сіі сі2 сіз сі4 сі5

сів сі7 сі8 сі9 с2о с2і с22 с23

V с24 с25 с26 с27 с28 с29 сзо сзі )

с

В то же время на каждом раунде появляется новый элемент Ь-г. Он записывается в матрицу В, размерность матрицы В такая же, как у матрицы С, т. е. в данном примере 4 х 8. Изначально матрица В является нулевой:

B =

/00000000\ 00000000 00000000 \00000000/

На каждом раунде в матрицу B записывается элемент Ь—г, но записывается он начиная с позиции {M — K div N, M — K mod N}. Нумерация строк и столбцов в матрице B начинается с {0,0}.

На первом раунде шифрования получаем матрицу C, сетку X и номер выбрасываемого узла 7\.

Опишем подробнее каждую процедуру:

1. Вычислим сетку, которую будем использовать на первом раунде, обозначим ее X— 1. Новая сетка X— 1 получается при умножении матрицы X на единичную матрицу E, где в строке с номером 71 на диагонали вместо единицы стоит 0:

X— 1 =

( 1 0 0 1

0 0 у 0 0

0 0 \

0 0

1 0 0 1)

I хо \

Х1

(

1

\ Х32

\ Х-1 }

2. Опишем вычисление элементов, используемых в следующем раунде.

По формулам декомпозиции элементы {с-1} при г < 71 равны элементам {с^}, а начиная с элемента с71 происходит сдвиг и {с-1} = {с^+1} при 71 ^ г ^ М — 1, поэтому матрица С-1 принимает следующий вид:

с -

! Со Cl С2 C3 С4 C5 C6 C7 \

C8 ... CYi — 1 CYi + 1 CYi+2 ... ... ...

\

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

... C31 0 /

3. Производим сдвиг элементов:

/ Co C1 C2 C3 C4 C5 C6 C7 \

C8 ... CYi — 1 CYi + 1 CYi + 2 ... ... ...

\

... C31 0 J

( C31 Co C1 C2 C3 C4

C7 ........ CYi — 1 CYi+1 CYi+2

\

C5 C6

Переписав матрицу C 1 в новых обозначениях, получаем

1

Х

0

1

C-1 =

/ c-1 c1-1 c2-1 c-1 c4-1 c7 1 c6-1 c7-1

-1 -1 -1 -1 -1 -1 -1 7-1

1 = c- c7 c70 c1-11 c72 c73 c1-41 c75

— -1 -1 -1 -1 -1 -1 -1 -1

c16 c17 c18 c19 c201 c211 c221 c23

\ c-1 c24 c-1 c25 c-1 c26 c-1 c27 c-1 c28 c-1 c29 c-1 c30 0 У

4. Матрица B:

b 1 =( 1; -(x-i + 1 - X-11)[X-1 + 1 - £] 1; -(X711 - £)[X-1 + 1 - £] 1 )

Y1

x I CY1-1 I (modW), где £ =

cY1 + 1

'71 ■

На первом раунде в матрицу В записывается элемент Ь 1 ^

B

/00 Ь-1 00000\

00 0 00000

00 0 00000

\ 0 0 0 00000/

Процедуры шифрования на г-м раунде:

1. Сетка X-г вычисляется соответствующим образом:

( 1 0 0 1

0 0 \ 0 0

0 0 \ 0 0

0

... 1 0

... 0 1 /

/

-i+1 с0 + -i+1

-i+1

-i+1

( x-i \

= x0 -i

\ x-U /

2. Определяем матрицу C i:

(

-i+1

C-i =

... ...

-i+1 -i+1 -i+1

c '1 c ^

c-i+1 0 0

cM - i+1 u u

сц-1 СЦ+1 СЦ+2

V 0 0 0 0 0 ""0" ~ 0 0 /

3. Производим сдвиг элементов:

(

-i+1

-i+1 c-i+1 c-i+1

cYi-1 cYi + 1 cYi + 2

c

-i+1

M-i+1

... ...

0 0

\ 0 0 0 0 0 0 00/

.. ... ... ... ...

c

i+1 ... ...

M-i+1 ... ...

c-i+1 c-i+1 c-i+1 cYi-1 c7i+1 cYi + 2

i+1 0 0

\ 0 0 0 0 0

Перепишем матрицу C-i в новых обозначениях:

Mi

x

c

c

С -

О °4 ...1С- с- .С С с- - С6- С7-

СЫ-г 0 0

0 0 0 0 0 0 0 0

4. Вычисляем и записываем новый элемент Ь 1 в матрицу В:

Ь г = ( 1 -(х—+1 - х— )\х—+1 — £] 1,-(х— — £)\х-/+1 — £] 1 )

-г+1 —+1 >1 СЦ + 1

х I С-——1 I (тоёЛ"), где £ =

- +1

В=

/ 0 0 Ь-1 Ь-2 Ь-3 Ь-4 Ь-5 Ь-6 \

Ь-7 ..................................

................ Ь- 0 0 0

\ 0 0 0 0 0 0 0 0/

Процедуры шифрования на К-м раунде:

1. Сетка X-К рассчитывается соответствующим образом:

( 1 0 . . . 0 \

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

X-К =

0

2. Вычислим матрицу С-К:

/

0 1 /

\ х3

с-К+1

с-™

-К+1

10

К

С

К

/ С-К с-к+1 С2 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

V 0 0 0 0 0 0 0 0

и запишем ее в новых обозначениях:

С-К =

3. Сдвиг не производится.

4. Вычисляем Ь-К и записываем в матрицу В:

/ с-К С-К 0 0 0 0 0 0 \

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

V 0 0 0 0 0 0 0 0 )

Ь

К

( 1 -(х-к +1 - Х7К)\Х-К^+1 - £]-1, -(х-К - £)\х-К+1 - £]-1 ) -К+1

-К+1

С,

х 1 С-К+11 I (тоёЖ), где £ = хк

С-к+1

( 0 0 Ь-1 Ь-2 Ь-3 Ь-4 Ь-5 Ь-6 \

Ь-7 ...

В

\

... Ь-К

к

х

X

Шифротекстом будет являться матрица С = С К + В:

С =

С°-К С1-К Ь-1 Ь-2 Ь-3 Ь-4 Ь-5

Ь-7 ..........................................

V

Ь-6 \

К

/

5. Процесс дешифрования при использовании алгоритма в качестве блочного шифра. При дешифровании поступают матрица С и ключ К, следовательно, известно количество проводимых раундов К, можно посчитать длину блока М = К + 2. Зная длину блока М, можно разбить матрицу С на матрицы С-К и В:

В=

0

Ь-7

...

0 Ь-1 Ь-

Ь-

Ь-

Ь-

Ь-

\

К

С -К °К с-К 0 0 0 0 0 0

С-К = 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

\ 0 0 0 0 0 0 0 0

изначальную сетку X, посчитаем X -1 ... , X - г X -

К

и все эти матрицы

запишем в матрицу X размерностью {Ь — 1, К}, в данном случае {32, 30} :

\

X а11 _________

/

Процесс дешифрования состоит из двух процедур:

• вычисление элементов, используемых в следующем раунде;

• сдвиг элементов.

Опишем процедуры дешифрования для первого раунда:

1. Вычислим по формулам реконструкции элементы с—к+1.

На первом раунде из матрицы Xа11 необходим только последний К-й столбец, его первые Ь — К элементов, в данном случае это первые 3 элемента ^

( х- . х— . К 1 — х

-1 г -К

х1. .. х1 . .. х1

-1 г -К

х21. .. х2 г . .. х2 К

. х— . .. 0

.. 0

\ х311 . .. 0

X

К

—к

°

К

К

Вычислим -К+1

С

'1к

( (х-кК+1 — х-КК )[х-кК+1 — £] 1, (х-КК — £)\х—К+1 — £] 1,Ь К )

С-К

1К -1 С-кК 1к 1

(тоё^), где £ =

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Ь

2

3

4

5

6

X

X

По формулам реконструкции элементы {с- к+1} при % < ^к равны элементам {с- к }

а начиная с элемента с1к+1 происходит сдвиг и {с-М — К.

Запишем элементы матрицы С-К+1:

с-к+1

2. Сдвиг элементов происходит в обратном порядке относительно процесса шифрования:

(

( к 1 о с с-к+1 с71 с1-к 0 0 0 0 0 \

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

\ 0 0 0 0 0 0 0 0 /

к 1 О с с- к+1 с с -к 1 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

с-к+1 с71 с-К с -к 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

V 0 0 0 0 0 0 0

Перепишем матрицу С к+1 в новых обозначениях:

С-к+1

/ с-к+1 с0 с-к+1 с1 с-к+1 с2 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

V 0 0 0 0 0 0 0 0

Опишем процедуры дешифрования для г-го раунда:

1. Берем первые Ь — % элементов %-го столбца матрицы Xа11 :

X-

/ х, х х

\

\ х-и /

Вычислим

-¿+1

( (х—¿+1 — x—í)[x—í+l — 1> (х- — £)[х—¿+1 — 1,Ь ¿ ) х

сц -1

х I с- I (шоё^), где £ =

-¿+1

Запишем матрицу С ¿+1:

с

...

с - с ¿+1 с

1г — 1 !г с1

0 0

\ 0 0 0 00000/

—>

—►

с

2. Производим сдвиг элементов матрицы С і+1 следующим образом:

/

С—і с—і+1 С—і

Сц — 1 СЦ СЦ

С

...................\

■МІ-І 0 о

\ о о

I С—

0 0 0 0 0 / .........................\

Си—1 Си

—і+1 с—і

См— с— 0 0

\ 0 0 00 0 000/

Перепишем ее в новых обозначениях:

С—і+1

С—і+1 С0 С—і+1 С1 С—і+1 С2 С—і+1 С3 С—і+1 С4 С—і+1 С5 С—і+1 С6 С—і+1 \

С—*+1 С8 ... С—і + 1 СМ—і+1 0 0

0 0 0 0 0 0 0 0

Опишем процедуры дешифрования для К-го раунда: 1. Берем из матрицы Xа11 1-й столбец ^

( х-1 \

1

\ х—1 )

Вычислим

С

•71

((■

Ж71 + 1 - ХИ ЛХ71

—1

—1 '71 1

Запишем матрицу С:

с„,

)[Ж711+1 - £] 1, (х—11 - £)[Ж711+1 - 1’^ 1 ) Х

'71 — 1

х I с—1 | (шоёЖ), где £ = ж71.

С=

С0

...

С—11—1 с71 С—11

...

С30

Переписываем элементы матрицы С в новых обозначениях:

С

/ Со С1 С2 Сз С4 С5 С6 С7 \

С8 С9 С10 С11 С12 С13 С14 С15

С16 С17 С18 С19 С20 С21 С22 '23

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

\ С24 С25 С26 С27 '28 '29 С30 С31 )

2. Сдвиг на последнем раунде не производится.

Таким образом, открытый текст был полностью восстановлен.

с

—5-

0

—5-

1

X

1

Литература

1. Демьянович Ю. К., Левина А. Б. О вэйвлетных разложениях линейных пространств над произвольным полем и о некоторых приложениях // Математическое моделирование. 2008. Т. 20, № 11. С. 104-108.

2. Демьянович Ю. К., Левина А. Б. Вэйвлетные разложения и шифрование // Методы вычислений / под ред. В. М. Рябова. СПб.: Изд-во С.-Петерб. ун-та, 2008. Вып. 22. С. 56-64.

3. Левина А. Б. Работа криптосистемы, основанной на формулах реконструкции и декомпозиции на неравномерной сетке // Математические модели: теория и приложения / под ред. М. К. Чиркова. СПб.: Изд-во С.-Петерб. ун-та, 2008. Вып. 9. С. 3-29.

4. Смарт Н. Криптография М: ТЕХНОСФЕРА / пер. с англ. С. А. Кулешова; под ред. С. К. Ландо. М.: Мир, 2005. 528 с.

Статья рекомендована к печати проф. Л. А. Петросяном.

Статья принята к печати 5 марта 2009 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.