СПОСОБ ШИФРОВАНИЯ ИНФОРМАЦИИ, ПРЕДСТАВЛЕННОЙ В ДВОИЧНОМ ВИДЕ Российский патент 1999 года по МПК H04L9/00 

Описание патента на изобретение RU2141728C1

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

Известны способы блочного шифрования данных, см., например, стандарт США 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 ≥ 1 двоичных векторов, формировании K ≥ 1 блоков данных, содержащих P ≥ 1 участков двоичного кода информации, путем присоединения двоичных векторов к участкам двоичного кода информации и преобразовании блоков данных под управлением ключа шифрования, двоичные вектора присоединяют к участкам двоичного кода информации в зависимости от структуры двоичных векторов.

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

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

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

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

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

Пример 1.

Этот пример поясняет формирование 512-байтового блока данных где 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] ⊕ v1.

5. Если tn ⊕ vi+2 ≥ 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] ⊕ v1.

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

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

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

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

18. СТОП.

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

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

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

Похожие патенты RU2141728C1

название год авторы номер документа
СПОСОБ ШИФРОВАНИЯ ИНФОРМАЦИИ, ПРЕДСТАВЛЕННОЙ ДВОИЧНЫМ КОДОМ 1997
  • Молдовян Александр Андреевич[Ru]
  • Молдовян Николай Андреевич[Ru]
  • Молдовяну Петр Андреевич[Md]
RU2103829C1
СПОСОБ ШИФРОВАНИЯ БЛОКОВ ДАННЫХ 1997
  • Молдовян А.А.
  • Молдовян Н.А.
RU2106752C1
СПОСОБ ШИФРОВАНИЯ БЛОКОВ ДАННЫХ 1997
  • Молдовян Александр Андреевич[Ru]
  • Молдовян Николай Андреевич[Ru]
  • Молдовяну Петр Андреевич[Md]
RU2111620C1
СПОСОБ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ БЛОКОВ ДАННЫХ 1997
  • Молдовян А.А.
  • Молдовян Н.А.
RU2106753C1
СПОСОБ ШИФРОВАНИЯ ДВОИЧНОЙ ИНФОРМАЦИИ 1997
  • Андреевский Н.А.
  • Молдовян А.А.
  • Молдовян Н.А.
RU2119260C1
СПОСОБ ИТЕРАТИВНОГО БЛОЧНОГО ШИФРОВАНИЯ ДВОИЧНЫХ ДАННЫХ 2001
  • Молдовян А.А.
  • Молдовян Н.А.
RU2206961C2
СПОСОБ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ БЛОКОВ ЦИФРОВЫХ ДАННЫХ 1997
  • Молдовян А.А.
  • Молдовян Н.А.
RU2140709C1
СПОСОБ КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ БЛОКОВ ДВОИЧНЫХ ДАННЫХ 1998
  • Молдовян А.А.
  • Молдовян Н.А.
RU2141729C1
СПОСОБ БЛОЧНОГО ШИФРОВАНИЯ ДИСКРЕТНЫХ ДАННЫХ 1998
  • Масловский В.М.
  • Молдовян А.А.
  • Молдовян Н.А.
RU2140710C1
СПОСОБ БЛОЧНОГО ШИФРОВАНИЯ ДИСКРЕТНОЙ ИНФОРМАЦИИ 1998
  • Масловский В.М.
  • Молдовян А.А.
  • Молдовян Н.А.
RU2140711C1

Реферат патента 1999 года СПОСОБ ШИФРОВАНИЯ ИНФОРМАЦИИ, ПРЕДСТАВЛЕННОЙ В ДВОИЧНОМ ВИДЕ

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

Формула изобретения RU 2 141 728 C1

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

Документы, цитированные в отчете о поиске Патент 1999 года RU2141728C1

US 5222139 A, 22.06.93
СПОСОБ ШИФРОВАНИЯ ДВОИЧНОЙ ИНФОРМАЦИИ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 1993
  • Чижухин Геннадий Николаевич
RU2091983C1
СПОСОБ ШИФРОВАНИЯ ДВОИЧНОЙ ИНФОРМАЦИИ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 1995
  • Волков Сергей Сергеевич
  • Назаров Олег Петрович
  • Рощин Борис Васильевич
  • Сердюков Петр Николаевич
RU2096918C1
Уровнемер 1978
  • Тучнин Евгений Александрович
  • Соколин Шлема Лазаревич
  • Каменецкий Борис Львович
SU676876A2
РСТ 9311619 A1, 10.06.93
Способ лечения амблиопии 1975
  • Аветисов Эдуард Сергеевич
  • Михайлянц Михаил Сергеевич
SU554864A1

RU 2 141 728 C1

Авторы

Молдовян А.А.

Молдовян Н.А.

Зима В.М.

Даты

1999-11-20Публикация

1998-01-05Подача