способ блочного шифрования информации

Классы МПК:H04L9/06 шифровальные устройства, использующие регистры сдвига или запоминающие устройства для блочного кодирования, например системы на основе стандарта шифрования данных
Автор(ы):
Патентообладатель(и):Осмоловский Станислав Антонович (RU)
Приоритеты:
подача заявки:
2004-03-29
публикация патента:

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

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

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

ai =vi+vi+1+ui для i=1,..., (способ блочного шифрования информации, патент № 2266622-1);

aспособ блочного шифрования информации, патент № 2266622 =vспособ блочного шифрования информации, патент № 2266622 +u1+u2+...+uспособ блочного шифрования информации, патент № 2266622 ,

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

способ блочного шифрования информации, патент № 2266622 i=F(ai,ai+1) для i=1,..., (способ блочного шифрования информации, патент № 2266622-1);

способ блочного шифрования информации, патент № 2266622 способ блочного шифрования информации, патент № 2266622 способ блочного шифрования информации, патент № 2266622 ,

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

a'способ блочного шифрования информации, патент № 2266622 =способ блочного шифрования информации, патент № 2266622' способ блочного шифрования информации, патент № 2266622 ;

a'I=F-1 (способ блочного шифрования информации, патент № 2266622' i, a'i+1) для i=способ блочного шифрования информации, патент № 2266622-1, способ блочного шифрования информации, патент № 2266622-2,..., 1,

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

способ блочного шифрования информации, патент № 2266622 для i=1,..., способ блочного шифрования информации, патент № 2266622.

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

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

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

Описание изобретения к патенту

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

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

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

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

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

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

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

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

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

A(vi)=A(ui)+способ блочного шифрования информации, патент № 2266622 i mod N, где N - размер таблицы.

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

A(ui)=A(vi)-способ блочного шифрования информации, патент № 2266622 i mod N, где N - размер таблицы.

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

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

a i=vi+vi+1+ui для i=1,..., (способ блочного шифрования информации, патент № 2266622-1),

аспособ блочного шифрования информации, патент № 2266622 =vспособ блочного шифрования информации, патент № 2266622 +u1+u2+...+uспособ блочного шифрования информации, патент № 2266622

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

способ блочного шифрования информации, патент № 2266622 i=F(ai,ai+1) для i=1,..., (способ блочного шифрования информации, патент № 2266622-1),

способ блочного шифрования информации, патент № 2266622 способ блочного шифрования информации, патент № 2266622 =aспособ блочного шифрования информации, патент № 2266622 .

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

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

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

a'способ блочного шифрования информации, патент № 2266622 =способ блочного шифрования информации, патент № 2266622' способ блочного шифрования информации, патент № 2266622 ;

a'i=F-1(способ блочного шифрования информации, патент № 2266622' i,a'i+1) для i=способ блочного шифрования информации, патент № 2266622-1, a-2,..., 1

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

способ блочного шифрования информации, патент № 2266622 , для i=1,..., способ блочного шифрования информации, патент № 2266622

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

способ блочного шифрования информации, патент № 2266622

способ блочного шифрования информации, патент № 2266622

способ блочного шифрования информации, патент № 2266622

способ блочного шифрования информации, патент № 2266622

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Класс H04L9/06 шифровальные устройства, использующие регистры сдвига или запоминающие устройства для блочного кодирования, например системы на основе стандарта шифрования данных

устройство шифрования данных по стандарту гост 28147-89 -  патент 2498416 (10.11.2013)
устройство шифрования данных по стандартам гост 28147-89 и aes -  патент 2494471 (27.09.2013)
система и способ для обмена данными между первой системой обработки данных и второй системой обработки данных через, по меньшей мере, частично общедоступную сеть связи -  патент 2480924 (27.04.2013)
способы скремблирования и дескремблирования единиц данных -  патент 2439668 (10.01.2012)
способ проверки целостности шифровального ключа, полученного при помощи комбинации частей ключа -  патент 2411669 (10.02.2011)
устройство криптографической обработки, способ построения алгоритма криптографической обработки, способ криптографической обработки и компьютерная программа -  патент 2409902 (20.01.2011)
система блочной криптографической защиты, использующая преобразования для сокрытия основной функции криптографической защиты каждого цикла шифрования -  патент 2370897 (20.10.2009)
способ и устройство для выполнения криптографического вычисления -  патент 2357365 (27.05.2009)
способ и устройство для шифрования сигналов для передачи -  патент 2267227 (27.12.2005)
способ шифрования, устройство шифрования, способ дешифрирования и устройство дешифрирования -  патент 2257677 (27.07.2005)
Наверх