Бюллетень ЕАПВ "Изобретения (евразийские заявки и евразийские патенты)"
Бюллетень 2´2007

  

(11)

008183 (13) B1       Разделы: A B C D E F G H   

(21)

200501623

(22)

2004.05.19

(51)

H04L 9/06 (2006.01)

(31)

03011696.6

(32)

2003.05.23

(33)

EP

(43)

2006.06.30

(86)

PCT/EP2004/050854

(87)

WO 2004/105305 2004.12.02

(71)(73)

МЕДИАКРИПТ АГ (CH)

(72)

Жюно Паскаль, Водена Серж (CH)

(74)

Хмара М.В. (RU)

(54)

УСТРОЙСТВО И СПОСОБ ШИФРОВАНИЯ И ДЕШИФРОВАНИЯ БЛОКА ДАННЫХ

(57) 1. Способ шифровки или дешифровки блоков данных Х в Y, основанный на основном ключе R, использующий по меньшей мере два последовательно соединенных основных модуля (MOD), причем каждый из основных модулей (MOD) использует подключ (RA), полученный из основного ключа (R), и включающий этапы:

вводят по меньшей мере два исходных значения X0L и X0R,

смешивают по меньшей мере два значения X0L и X0R для образования смешанного значения Х1,

получают значение Х2 путем смешивания первой части RAH подключа RA со значением Х1,

получают значение Х3 путем обработки значения Х2 в слое подстановки, причем слой подстановки содержит по меньшей мере один блок (sbox) подстановки, причем каждый блок подстановки содержит таблицу констант, для которой входное значение служит указателем, а указанная константа служит выходным значением,

получают значение Х4 на основе значения Х3 при помощи диффузионного блока мультиперестановочного типа,

получают значение Х5 путем смешивания второй части RAL подключа RA со значением Х4,

получают значение Х6 путем обработки значения Х5 блоком подстановки,

получают значение Х7 путем смешивания первой части RAH подключа RA со значением Х6,

смешивают значение Х7 по меньшей мере с двумя исходными значениями X0L и X0R для получения по меньшей мере двух значений X8L и X8R, причем значения X8L и X8R составляют выходное значение Х8 модуля,

причем для каждого основного модуля (MOD) из основного ключа (R) генерируется новый подключ (RA), исходные значения X0L и X0R первого модуля являются подмножеством входных данных X, выходные значения X8L и X8R последнего модуля образуют выходные данные Y, а способ дополнительно включает этап применения по меньшей мере к одному из значений X8L и X8R ортоморфической функции перед направлением данных значений во входные каналы X0R и X0L следующего основного модуля.

2. Способ шифровки или дешифровки по п.1, отличающийся тем, что входные данные имеют длину 64 бит, причем входные данные Х разделены на два исходных значения X0L и X0R длиной по 32 бит, а два выходных значения X8L и X8R образуют выходные данные Y.

3. Способ шифровки или дешифровки по п.1, отличающийся тем, что входные данные имеют длину 128 бит, причем входные данные Х разделены на четыре исходных значения X0LL, X0LR, X0RL и X0RR длиной по 32 бит, а четыре выходных значения X8LL, X8LR, X8RL и X8RR образуют 128-битовые выходные данные Y, первая часть X1L значения Х1 получена смешиванием значения X0LL с X0LR, а вторая часть Х1R значения Х1 получена смешиванием значения X0RL с X0RR, первая часть X7L значения Х7 смешана с двумя из четырех исходных значений X0LL, X0LR, X0RL и X0RR, а вторая часть X7R значения Х7 смешана с оставшимися двумя частями исходных значений X0LL, X0LR, X0RL и X0RR.

4. Способ шифровки или дешифровки по п.1, отличающийся тем, что слой подстановки содержит несколько блоков (sbox) подстановки, каждый из которых имеет 8-битовый входной канал и 8-битовый выходной канал, причем входные данные слоя подстановки разбиты на части длиной по 8 бит.

5. Способ шифровки или дешифровки по п.4, отличающийся тем, что таблица (ТА) констант блока (sbox) подстановки на определенное входное значение выдает определенное выходное значение.

6. Способ шифровки или дешифровки по п.4, отличающийся тем, что таблицы констант всех блоков (sbox) подстановки одинаковы.

7. Способ шифровки или дешифровки по п.4, отличающийся тем, что таблицы констант всех блоков (sbox) подстановки различны.

8. Способ шифровки или дешифровки по п.4, отличающийся тем, что таблица констант блока (sbox) подстановки изменяется при каждом цикле работы основного модуля.

9. Способ шифровки или дешифровки по п.1, отличающийся тем, что длина данных равна 64 битам, а диффузионный блок представляет собой матричную функцию Y3 = М ´ Х4, где аргумент М определяет
4 ´4 операции сложения, умножения или тождества, причем по меньшей мере одна строка и один столбец содержат по три тождества.

10. Способ шифровки или дешифровки по п.9, отличающийся тем, что остальные строки и остальные столбцы аргумента М содержат по два тождества.

11. Способ шифровки или дешифровки по п.1, отличающийся тем, что длина данных равна 128 битам, а диффузионный блок представляет собой матричную функцию Y3 = N * Х3, где аргумент N определяет 8*8 операций сложения, умножения или тождества, причем по меньшей мере одна строка и один столбец содержат по семь тождеств.



наверх