Патент на изобретение №2266622

Published by on




РОССИЙСКАЯ ФЕДЕРАЦИЯ



ФЕДЕРАЛЬНАЯ СЛУЖБА
ПО ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ,
ПАТЕНТАМ И ТОВАРНЫМ ЗНАКАМ
(19) RU (11) 2266622 (13) C1
(51) МПК 7
H04L9/06
(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ПАТЕНТУ

Статус: по данным на 18.01.2011 – действует

(21), (22) Заявка: 2004108916/09, 29.03.2004

(24) Дата начала отсчета срока действия патента:

29.03.2004

(45) Опубликовано: 20.12.2005

(56) Список документов, цитированных в отчете о
поиске:
Стандарт СССР ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования, Москва, ГК СССР по стандартам 1989 г. RU 2212108 С2,10.09.2003. RU 2140709 C1, 27.10.1997. RU 2172075 C1, 10.08.2001. RU 2186467 С2, 27.07.2002. US 5594797 A1, 14.01.1997. US 6075859 А1,13.06.2000.

Адрес для переписки:

119607, Москва, ул. Раменки, 14, корп.1, кв.33, С.А.Осмоловскому

(72) Автор(ы):

Осмоловский С.А. (RU)

(73) Патентообладатель(и):

Осмоловский Станислав Антонович (RU)

(54) СПОСОБ БЛОЧНОГО ШИФРОВАНИЯ ИНФОРМАЦИИ

(57) Реферат:

Изобретение относится к криптографии и средствам защиты информации. Техническим результатом является обеспечение высокой скорости обработки информации и обеспечение после шифрования квазислучайной последовательности сигналов, независимо от статистики отдельных букв в исходном тексте. Технический результат достигается тем что, способ шифрования и дешифрования информации включает использование блочных взаимообратных однозначных двухпараметрических шифрующего и дешифрующего преобразований на основе таблиц со случайным заполнением размером N строк каждая с участием последовательности гаммы от независимого от информации датчика случайных чисел, причем для блока шифрования длиной байт вырабатывают последовательность гаммы длиной байт, изменяющейся для каждого блока, при этом каждый байт преобразуют с помощью двухпараметрического преобразования байт vi=F(ui,i) с участием квазислучайных значений последовательность гаммы i длиной 1 байт, затем выполняется в два этапа операция формирования блока шифрования путем объединения байт, причем шифрующее преобразование объединения байт первой ступени с номерами i, имеющими значения от 1 до , выполняют суммированием определенных исходных ui и преобразованных значений vi байт: ai=vi+vi+1+ui для i=1,…, (-1), a=v+u1+u2+…+u, шифрующее преобразование объединения байт второй ступени ai с номерами i, имеющими значения от 1 до , выполняют в виде рекуррентных операций F следующим образом: i=F(ai, ai+1) для i=1,…, (-1), =a, дешифрующие преобразование байт выполняют в обратной последовательности, сначала выполняют дешифрующее преобразование второй ступени для значений каждого принятого байта i с номером i, имеющим значения от 1 до , в виде рекуррентных операций F-1 следующим образом: а’=; a’I=F-1(i,a’i+1) для i=-1, -2,…, 1, затем выполняют дешифрующее преобразование первой ступени для значений каждого байта ai с номером i, имеющим значения от 1 до в виде рекуррентных операций F-1 следующим образом: , для i=1,…, . 3 з.п. ф-лы.

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

Известны способы шифрования информации, основанные на использовании криптографического преобразования информации с помощью случайных таблиц замены. Первый из известных способов такого шифрования, называемый полибианский квадрат, предполагает использование таблицы, в которой случайным образом записаны значения букв используемого алфавита. Значение шифруемой буквы используется как адрес, по которому считывается из таблицы записанная там буква, которая является результатом криптографического преобразования. С позиций современной криптографии, такое преобразование не изменяет вероятности появления отдельных букв в шифруемом тексте, а лишь меняет соотношение вероятностей отдельных букв в криптограмме. Если буква «а», в соответствии с таблицей замены, переходит а букву «т», то вероятность появления в исходном тексте буквы «а» будет равна вероятности появления в криптограмме буквы «т». Известно, что анализ статистики отдельных букв в тексте криптограммы дает возможность для дешифрования теста противником. Подобные таблицы замены, как одно параметрическая операция криптографического преобразования используется в различных криптографических алгоритмах, в том числе в отечественном стандарте шифрования ГОСТ 28147-89, в качестве одной из операций усложнения преобразования.

Известен способ криптографического блочного преобразования, реализованный в стандарте США AES (Advanced Encryption Standart), предназначенный для защиты информации от ознакомления, контроля целостности и подлинности.

Известны математические принципы построения абсолютно стойких шифров, сформулированные К.Шенноном. В соответствии с этими принципами абсолютно секретным может быть только шифр, обеспечивающий на выходе шифратора последовательность, близкую по своим статистическим свойствам к случайной равновероятной последовательности, вне зависимости от статистики появления отдельных букв в исходной шифруемой последовательности.

В соответствии с изобретением в способе шифрующего преобразования предполагается строить шифрование как двухпараметрическую операцию, где результат шифрующего преобразования зависит как от значения исходного шифруемой комбинации ui длиной L бит (в простейшем случае это буква или байт, в более общем – это q-ичный символ или блок, содержащий несколько байт) и квазислучайного параметра преобразования i длиной не менее L бит – F(ui,i). Знак i указывает на принадлежнось этих операндов, участвующих в преобразовании, к определенному интервалу времени. Для каждого очередного значения шифруемой комбинации ui вырабатывается новое значение i.

Для построения блочного шифра, сочетающего быструю реализацию с большой длиной блока L, величину которой можно было бы делать произвольной, процедуры шифрования и дешифрования выполняют как шифрование букв (байт) и операции объединения байт. Причем объединение байт выполняется в два этапа, целями которых является усложнение преобразования и «размножение» искажения любого двоичного символа блока на весь блок, то есть превращение значения блока после дешифрования в равновероятную последовательность на длине блока L. Операции объединения байт при шифровании и дешифровании позволяют применять их при любом числе букв (байт) в блоке шифрования, например от =2 (L=16 для применения в качестве q-ичного символа для стохастических q-ичных кодов) до =32 (L=256 для применения в процедурах хэширования для выработки и проверки электронной цифровой подписи (ЭЦП)).

Для реализации преобразования байт и одной из операций объединения байт способа строятся кодовые таблицы Тк (i), каждая объемом 2l, где l – длина шифруемой за один такт последовательности (блока), а величина 2l=N – определяет размер алфавита обрабатываемых знаков. При длине блока байт используется до 2-1 таблица Тк, из которых таблиц используется для преобразования байт и -1 таблица – для второй операции объединения байт при шифровании.

В каждую таблицу Тк(i) до начала шифрования записывают без повторения случайным образом все возможные значения обрабатываемых в процессе шифрования знаков длиной l бит. Процесс заполнения может осуществляться одним из двух способов. В соответствии с первым в таблицу заносятся последовательно в порядке возрастания числа с 0 до 2l-1. Затем производится случайная перестановка записанных в таблицу значений без введения новых или исключения имеющихся значений букв. Число таких возможных перестановок равно (2l)!. Например, при l=8 число перестановок (28)! превышает 10300. Такая математическая интерпретация формирования таблицы Тк дает представление о числе вариантов заполнения таблицы, но не дает конкретного варианта реализации заполнения. Практически заполнения осуществляют с помощью следующих операций. Предварительное заполнение таблицы Тк выполняют с помощью датчика случайных чисел (ДСЧ) в следующем порядке, первое значение полученного от ДСЧ знака записывают в первую строку таблицы Тк с номером 0, полученное от ДСЧ второе значение знака сравнивают с ранее записанным первым знаком, при их несовпадении второе значение записывают во вторую ячейку таблицы с номером 1, в противном случае значение второго знака, полученного от ДСЧ, отбрасывается, вырабатывается третье значение знака, сравниваемое затем с записанным в таблице значением, для заполнения очередной строки таблицы Тк с номером i (i имеет значение от 1 до 2l-1) получают очередное значение знака от ДСЧ, сравнивают полученное значение с каждым из i-1 значением записанных в таблицу знаков, в случае несовпадения ни с одним из знаков этот знак записывается в строку с номером i, при совпадении с одним из ранее записанным в таблицу знаков полученное от ДСЧ значение отбрасывается и процесс заполнения таблицы повторяется до полного ее заполнения.

В шифровании очередного знака исходного текста ui, производимого с помощью двухпараметрической операции F(ui,i), участвует значение комбинации гаммы i, полученное от независимого от шифруемого сообщения источника гаммы, выполняющего роль датчика случайных чисел (ДСЧ). Полученное с помощью операции F(ui,i) значение зашифрованного знака vi в соответствии с изобретением получают следующим образом: находят таблице Тк значение исходного знака ui, причем в этой таблице любое возможное значение исходного знака присутствует обязательно в единственной строке таблицы, в результате этой операции получают адрес исходной комбинации в кодовой таблице А(ui). Затем отступают по строкам таблицы Тк на i строк “вниз”, считая комбинацию i двоичным числом. Из строки таблицы Тк, отстоящей от строки с номером А(ui) на i строк “вниз”, считывается результат преобразования vi. Операцию смещения «вниз» по таблице можно выразить через операцию с адресами, то есть адрес результата преобразования равен

A(vi)=A(ui)+i mod N, где N – размер таблицы.

Дешифрование выполняется с помощью обратной относительно шифрования операцией. Эта операция состоит в поиске в кодовой таблице Тк подлежащей дешифрованию комбинации vi смещению по таблице «вверх» на число строк, определяемое комбинацией гаммы дешифрования i. To есть дешифрование выполняется с помощью вычисления адреса результата:

A(ui)=A(vi)-i mod N, где N – размер таблицы.

Для упрощения поиска строки в таблице Тк адреса исходной комбинации строится дополнительная таблица адресов Та на основании заполненной кодовой таблицы. Если в первой строке таблицы Тк с номером 0 записана комбинация g, то в строке таблицы Та с адресом g записано значение 0, если во второй строке таблицы Тк с адресом 1 хранится комбинация t, то в строке t таблицы Та хранится значение 1 и т.д. Тогда поиск исходной комбинации ui при шифровании и vi при дешифровании сводится к считыванию из таблицы Та значений комбинаций соответственно из строк с номерами ui и vi таблицы Та.

Зашифрованные с помощью операции vi=F(ui,i) каждого i-го из байт с использованием для каждого байта собственной таблицы Тк(i), число которых , подвергаются операции шифрующего преобразования объединения байт первой ступени с номерами i, имеющими значения от 1 до . Для этого выполняют суммирование определенных исходных ui и преобразованных значений vi:

ai=vi+vi+1+ui для i=1,…, (-1),

а=v+u1+u2+…+u

Для полученных после операции объединения байт первой ступени аi выполняют шифрующее преобразование объединения байт второй ступени. Для этого для значений аi с номером i, имеющим значения от 1 до , выполняют рекуррентные операции

i=F(ai,ai+1) для i=1,…, (-1),

=a.

Каждое их (-1) преобразований i=Р(аi,ai+1) выполняется с использованием собственной таблицы Тк(i).

Дешифрование принятого по каналу связи (или считанного из памяти компьютера) блока, состоящего из символов (байт) i, где i=1,…, , выполняются в обратном порядке операции над байтами.

Дешифрующее преобразование второй ступени выполняют для значений каждого байта i, с номером i, имеющем значения от 1 до , в виде рекуррентных операций

a’=;

a’i=F-1(i,a’i+1) для i=-1, a-2,…, 1

Дешифрующее преобразование первой ступени выполняют для значений каждого байта аi с номером i, имеющим значения от 1 до в виде рекуррентных операций

, для i=1,…,

Для =4 (преобразование 4 байт) это дешифрующее преобразование, с учетом обозначения операции обратного преобразования байт F-1(i,i) как операции деления, имеет вид:

Предложенный и описанный выше способ шифрования может рассматриваться как блочный шифр с длиной блока L=l, имеющий пространство ключей размером Vk=V+Vt, где V – размер ключа, используемого при преобразовании знаков (байт), равный длине блока L=l, a Vt – длина ключа, применяемого при заполнении случайных таблиц замены, равная в битах величине Vt=l(2-1)2l.

Способ может применяться как блочный шифр, то есть при постоянных значениях ключа для каждого из последовательности шифруемых боков исходной информации, а также как блочно-поточный шифр, когда для очередного (i+1)-го блока изменяется значение ключа, используемого при шифровании знаков (байт), то есть последовательность значений i длиной L=l от независимого от шифруемой информации ДСЧ.

Способ может применяться для решения следующих задач:

– шифрования для обеспечения криптографической защиты от ознакомления и НСД;

– для контроля и восстановления целостности информации с помощью помехоустойчивого стохастического кодирования с обнаружением и исправлением естественных и преднамеренных искажений информации, когда операции шифрования выполняют роль стохастического преобразования q-ичных символов (n,k,q)-кода; в этом режиме способ может применяться только как блочно-поточный шифр со сменой ключа для каждого очередного q-ичного символа;

– для выполнения операции хэширования при формировании и проверки электронно-цифровой подписи (ЭЦП).

Описанный способ обладает следующими преимуществами:

– высокая скорость обработки информации;

– обеспечение после шифрования квазислучайной последовательности сигналов, независимо от статистики отдельных букв в исходном тексте;

– сложное нелинейное преобразование, не имеющее никакого другого формального описания, кроме описания заполнения кодовой таблицы Тк;

– возможность рассматривать начальное заполнение таблиц как ключ шифрования, кроме начального заполнения ДСЧ, вырабатывающего поток гаммы.

Источники информации

1. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. – М.: ГК СССР по стандартам, 1989.

2. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. – М.: Радио и связь, 1999.

3. Зенин О.С., Иванов М.А. Стандарт криптографической защиты – AES. Конечные поля. – М.: КУДИЦ-ОБРАЗ, 2002.

4. Зима В.М., Молдовян А.А., Молдовян Н.А. Безопасность глобальных сетевых технологий. – СПб.; БХВ-Петербург, 2001.

5. Московский университет и развитие криптографии в России. Материалы конференции в МГУ 17-18 2002 г. – М.: МЦНМО, 2003. – 287 с.

Формула изобретения

1. Способ шифрования и дешифрования информации, характеризуемый использованием блочных взаимообратных однозначных двухпараметрических шифрующего и дешифрующего преобразований на основе таблиц со случайным заполнением размером N строк каждая с участием последовательности гаммы от независимого от информации датчика случайных чисел, причем для блока шифрования длиной байт вырабатывают последовательность гаммы длиной байт, изменяющейся для каждого блока, при этом каждый байт преобразуют с помощью двухпараметрического преобразования байт vi=F(ui,i) с участием квазислучайных значений последовательность гаммы i длиной 1 байт, затем выполняется в два этапа операция формирования блока шифрования путем объединения байт, причем шифрующее преобразование объединения байт первой ступени с номерами i, имеющими значения от 1 до , выполняют суммированием определенных исходных ui и преобразованных значений vi байт:

ai=vi+vi+1+ui для i=1,…, (-1);

a=v+u1+u2+…+u,

шифрующее преобразование объединения байт второй ступени ai с номерами i, имеющими значения от 1 до , выполняют в виде рекуррентных операций F следующим образом:

i=F(ai,ai+1) для i=1,…, (-1);

,

дешифрующее преобразование байт выполняют в обратной последовательности, причем сначала выполняют дешифрующее преобразование второй ступени для значений каждого принятого байта i с номером i, имеющим значения от 1 до , в виде рекуррентных операций F-1 следующим образом:

a’=;

a’I=F-1 (i, a’i+1) для i=-1, -2,…, 1,

затем выполняют дешифрующее преобразование первой ступени для значений каждого байта ai с номером i, имеющим значения от 1 до , в виде рекуррентных операций F1 следующим образом:

для i=1,…, .

2. Способ по п.1, отличающийся тем, что шифрующее преобразование vi=F(ui,i) каждого из байт производят с помощью своей таблицы со случайным однозначным заполнением, при числе таблиц , путем поиска в таблице исходного значения ui и считывания результата преобразования vi, отстоящего на i строк “вниз” по модулю размера таблицы N.

3. Способ по п.1, отличающийся тем, что дешифрующее преобразование ui=F-1(vi,i) каждого из байт производят с помощью своей таблицы со случайным однозначным заполнением, при числе таблиц , путем поиска в таблице исходного значения vi и считывания результата преобразования ui, отстоящего на i строк “вверх” по модулю размера таблицы N.

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

Categories: BD_2266000-2266999