способ шифрования информации, представленной в двоичном виде

Классы МПК:H04L9/00 Устройство для секретной или скрытой связи
Автор(ы):, ,
Патентообладатель(и):Молдовян Николай Андреевич,
Молдовян Александр Андреевич,
Государственное унитарное предприятие Специализированный центр программных систем "СПЕКТР"
Приоритеты:
подача заявки:
1998-01-05
публикация патента:

Изобретение относится к электросвязи и вычислительной технике, а конкретнее к криптографическим способам и устройствам для шифрования данных. Целью изобретения является задание изменяющейся схемы строения шифруемых блоков для повышения стойкости блочного шифра ко всем известным способам криптоанализа. Способ включает формирование ключа шифрования, генерирование Dспособ шифрования информации, представленной в двоичном виде, патент № 21417281 двоичных векторов, формирование Kспособ шифрования информации, представленной в двоичном виде, патент № 21417281 блоков данных, содержащих Рспособ шифрования информации, представленной в двоичном виде, патент № 21417281 участков двоичного кода информации, путем присоединения двоичных векторов к участкам двоичного кода информации и преобразование блоков данных под управлением ключа шифрования. Отличается от известных способов тем, что двоичные вектора присоединяют к участкам двоичного кода информации в зависимости от структуры двоичных векторов. Техническим результатом изобретения является обеспечение возможности создания программных модулей шифрования, обладающих высокой стойкостью ко всем известным видам криптоанализа. 1 ил.
Рисунок 1

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

Способ шифрования информации, представленной в двоичном виде, заключающийся в формировании ключа шифрования, формировании kспособ шифрования информации, представленной в двоичном виде, патент № 21417281 блоков данных, содержащих Pспособ шифрования информации, представленной в двоичном виде, патент № 21417281 участков двоичного кода информации, и преобразовании блоков данных под управлением ключа шифрования, отличающийся тем, что дополнительно генерируют Dспособ шифрования информации, представленной в двоичном виде, патент № 21417281 двоичных векторов, а блоки данных формируют путем присоединения двоичных векторов к участкам двоичного кода информации в зависимости от структуры двоичных векторов.

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

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

- пароль представляет из себя комбинацию битов, известную только законному пользователю;

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

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

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

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

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

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

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

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

Известны способы блочного шифрования данных, см., например, стандарт США DES [У. Диффи, М. Э. Хеллмэн. Защищенность и имитостойкость: Введение в криптографию // ТИИЭР. 1979. Т. 67. N. 3. С. 87-89], способ шифрования по патенту США N 5222139, от 22 июня 1993 г., шифр FEAL-1 и криптоалгоритм B-Crypt [С. Мафтик. Механизмы защиты в сетях ЭВМ.- М., Мир, 1993. С. 49-52]. В известных способах шифрование блоков данных выполняют путем формирования ключа шифрования в виде совокупности подключей, разбиения преобразуемого блока данных на подблоки и поочередного изменения последних с помощью операций подстановки, перестановки и арифметических операций, выполняемых над текущим подблоком и текущим подключом.

Однако, известные способы-аналоги не обладают достаточной стойкостью к атакам на основе подобранного исходного текста, например к дифференциальному криптоанализу [Berson Т.A. Differential Cryptanaly-sis Mod 232 with application to MD5// EUROCRYPT"92. Hungary, May 24-28, 1992. Proceedings. P. 67-68].

Наиболее близким по своей технической сущности к заявляемому способу блочного шифрования является способ, описанный в заявке на изобретение "Способ шифрования информации, представленной двоичным кодом" (N. гос. регистр. 97101622). В способе-прототипе формируют ключ шифрования, формируют блоки данных путем присоединения случайных двоичных векторов к участкам двоичного кода информации и преобразуют блоки данных под управлением ключа шифрования.

Однако, способ-прототип имеет недостатки, а именно, схема строения всех формируемых блоков является одинаковой при заданном ключе шифрования, что может быть использовано для разработки в будущем неизвестных в настоящее время способов криптоанализа.

Цель изобретения - разработка способа шифрования блоков данных со случайно изменяющейся схемой строения формируемых блоков данных.

Поставленная цель достигается тем, что в известном способе блочного шифрования, заключающемся в формировании ключа шифрования, генерировании D способ шифрования информации, представленной в двоичном виде, патент № 2141728 1 двоичных векторов, формировании K способ шифрования информации, представленной в двоичном виде, патент № 2141728 1 блоков данных, содержащих P способ шифрования информации, представленной в двоичном виде, патент № 2141728 1 участков двоичного кода информации, путем присоединения двоичных векторов к участкам двоичного кода информации и преобразовании блоков данных под управлением ключа шифрования, двоичные вектора присоединяют к участкам двоичного кода информации в зависимости от структуры двоичных векторов.

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

Под схемой строения блока данных понимается схема чередования участков двоичного кода информации и двоичных векторов. Например, пусть блок данных формируется на основе двоичных векторов v1, v2, v3 и участков кода информации t1, t2, t3, тогда возможны следующие схемы строения блока данных, где знак способ шифрования информации, представленной в двоичном виде, патент № 2141728 обозначает конкатенацию (присоединение):

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

Возможность технической реализации заявляемого способа блочного шифрования поясняется следующим образом. В схеме строения блока данных задается фиксированной позиция первого по очередности присоединения двоичного вектора, например двоичного вектора v0, после чего в зависимости от структуры v0 устанавливается позиция и номер первого участка двоичного кода информации, а также позиция второго двоичного вектора. Теперь позиция второго двоичного вектора является установленной и по его структуре устанавливается позиция третьего двоичного вектора и второго участка двоичного кода информации и т. д. Этот способ формирования блока данных задает случайный характер строения блока данных и в то же время обеспечивает возможность в блоке данных выделить однозначно все участки двоичного кода информации, что обеспечивает возможность правильного дешифрования при использовании верного ключа шифрования. Если в процессе шифрования дважды встретятся одинаковые наборы участков двоичного кода информации, то и в этом случае с вероятностью, близкой к 1, будут сформированы блоки данных с отличающимися схемами строения. Возможны многочисленные другие способы формирования блоков данных в зависимости от структуры двоичных векторов, которые обеспечивают однозначное выделение участков двоичного кода информации из блока данных.

Законный пользователь знает ключ шифрования, поэтому используя алгоритм дешифрования, он может по криптограмме восстановить исходную структуру блока. Отделяя и отбрасывая двоичные вектора, которые не содержат какой-либо части передаваемой информации, законный получатель полностью и однозначно восстанавливает предназначавшуюся для него информацию. Для выполнения шифрующих преобразований подблоков может быть использован, например, способ шифрования блоков данных по заявкам "Способ блочного шифрования данных" (N. гос. регистр. 97101622) и "Способ шифрования блоков данных" (N. гос. регистр. 97103756).

Рассмотрим пример, поясняющий суть изобретения.

Пример 1.

Этот пример поясняет формирование 512-байтового блока данных способ шифрования информации, представленной в двоичном виде, патент № 2141728 где Bi, i = 0, 1, 2,...,511, - 8-битовые элементы блока, путем присоединения 256 случайных 8-битовых двоичных векторов v0, v1, v2,... ,v255 к 256 8-битовым участкам двоичного кода информации t0, t1, t2,...,t255 (см. фиг. 1).

Алгоритм формирования 512-байтового блока:

1. Установить значение счетчика i = 0.

2. Присвоить элементу В0 значение v0: B0 := v0, где знак := обозначает операцию присваивания.

3. Присвоить элементу В1 значение v1: В1 := v1.

4. Вычислить текущий номер n участка двоичного кода информации: n := [(v0+i)mod28] способ шифрования информации, представленной в двоичном виде, патент № 2141728 v1.

5. Если tn способ шифрования информации, представленной в двоичном виде, патент № 2141728 vi+2 способ шифрования информации, представленной в двоичном виде, патент № 2141728 v0, то перейти к шагу 9.

6. Присвоить элементу В2i+2 значение tn: В2i+2 := tn.

7. Присвоить элементу В2i+3 значение vi+2: B2i+3 := vi+2.

8. Перейти к шагу 11.

9. Присвоить элементу В2i+2 значение vi+2: В2i+2 := vi+2.

10. Присвоить элементу В2i+3 значение tn : В2i+3 := tn.

11. Прирастить значение счетчика: i := i + 1.

12. Если i < 254, то перейти к шагу 4.

13. Вычислить текущий номер n участка двоичного кода информации: n := [(v0+i)mod28] способ шифрования информации, представленной в двоичном виде, патент № 2141728 v1.

14. Присвоить элементу В510 значение tn : В510 := tn.

15. Прирастить i : i := i + 1.

16. Вычислить текущий номер n участка двоичного кода информации: n := [(v0+i)mod28] способ шифрования информации, представленной в двоичном виде, патент № 2141728 v1.

17. Присвоить элементу В511 значение tn : В511 := tn.

18. СТОП.

В этом конкретном примере двоичные вектора выбираются последовательно, а участки двоичного кода информации в зависимости от структуры двоичных векторов v0 и v1 в соответствии с формулой n := [(v0+i)mod 28] способ шифрования информации, представленной в двоичном виде, патент № 2141728 v1, которая задает выборку каждого из 256 участков двоичного кода информации. На шаге 5 задается очередность присоединения текущего двоичного вектора и текущего участка двоичного кода информации, которая зависит от структуры текущего двоичного вектора и от структуры двоичного вектора v0.

Для преобразования сформированного блока может быть применен, например, блочный шифр с 512-байтовым входом, приведенный в заявке N 97101622.

Предлагаемый способ блочного шифрования легко реализуем, например, на персональных ЭВМ и обеспечивает возможность создания на его основе программных модулей шифрования, обладающих высокой стойкостью ко всем известным видам криптоанализа.

Класс H04L9/00 Устройство для секретной или скрытой связи

способ защищенной связи в сети, устройство связи, сеть и компьютерная программа для этого -  патент 2528078 (10.09.2014)
способ защиты информации -  патент 2527734 (10.09.2014)
способ формирования электронного документа -  патент 2527731 (10.09.2014)
способ многоканального приема и передачи информации по безопасности мореплавания -  патент 2527189 (27.08.2014)
система и способ защиты беспроводной передачи -  патент 2524565 (27.07.2014)
способ и устройство для получения ключа безопасности в ретрансляционной системе -  патент 2523954 (27.07.2014)
способ защиты данных безопасности, передаваемых устройством передатчика в устройство приемника -  патент 2523952 (27.07.2014)
криптография на эллиптической кривой -  патент 2520379 (27.06.2014)
способ управления доступом к набору каналов для приемного или декодирующего устройства (варианты) -  патент 2519395 (10.06.2014)
способ трехмерного нелинейного преобразования замены -  патент 2519004 (10.06.2014)
Наверх