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

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

Info

Publication number
RU2141728C1
RU2141728C1 RU98100279A RU98100279A RU2141728C1 RU 2141728 C1 RU2141728 C1 RU 2141728C1 RU 98100279 A RU98100279 A RU 98100279A RU 98100279 A RU98100279 A RU 98100279A RU 2141728 C1 RU2141728 C1 RU 2141728C1
Authority
RU
Russia
Prior art keywords
binary
vectors
encryption
binary information
information code
Prior art date
Application number
RU98100279A
Other languages
English (en)
Inventor
А.А. Молдовян
Н.А. Молдовян
В.М. Зима
Original Assignee
Молдовян Николай Андреевич
Молдовян Александр Андреевич
Государственное унитарное предприятие Специализированный центр программных систем "Спектр"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Молдовян Николай Андреевич, Молдовян Александр Андреевич, Государственное унитарное предприятие Специализированный центр программных систем "Спектр" filed Critical Молдовян Николай Андреевич
Priority to RU98100279A priority Critical patent/RU2141728C1/ru
Application granted granted Critical
Publication of RU2141728C1 publication Critical patent/RU2141728C1/ru

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

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

Description

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области криптографических способов и устройств для шифрования сообщений (информации). В совокупности признаков заявляемого способа используются следующие термины:
- пароль представляет из себя комбинацию битов, известную только законному пользователю;
- шифрключ (ключ шифрования) представляет из себя комбинацию битов, используемую при шифровании информационных сигналов данных; шифрключ является сменным элементом шифра и используется для преобразования данного сообщения или данной совокупности сообщений; шифрключ является известным только законному пользователю или может быть выработан по детерминированным процедурам по паролю, известному только законному пользователю;
- шифр представляет собой совокупность элементарных шагов преобразования входных данных с использованием шифрключа; шифр может быть реализован в виде программы для ЭВМ или в виде отдельного устройства;
- шифрование есть процесс, реализующий некоторый способ преобразования данных с использованием шифрключа, переводящий данные в криптограмму, представляющую собой псевдослучайную последовательность знаков, из которой получение информации без знания ключа практически невыполнимо;
- дешифрование есть процесс, обратный процедуре шифрования; дешифрование обеспечивает восстановление информации по криптограмме при знании шифрключа;
- криптостойкость является мерой надежности защиты информации и представляет собой трудоемкость, измеренную в количестве элементарных операций, которые необходимо выполнить для восстановления информации по криптограмме при знании алгоритма преобразования, но без знания шифрключа;
- двоичный код информации есть последовательность единичных и нулевых битов, имеющая смысл или отражающая характеристики явлений (процессов) и предметов (объектов) при интерпретации по заданному правилу; например, данные, представленные русским текстом, могут быть преобразованы в двоичный код информации, если каждому знаку текста поставить в соответствие блок битов с уникальной структурой;
- двоичный вектор - это некоторая последовательность нулевых и единичных битов, например соответствующая фоновому шуму или сигналам помех в линии связи; двоичным вектором понимается совокупность упорядоченных битов, которая не интерпретируется получателем (приемником) данных как полезный сигнал или как информация;
- псевдослучайный закон формирования двоичных векторов есть заданное детерминированное правило генерирования длинной последовательности битов по некоторому начальному параметру и разбиение этой последовательности на участки необходимого размера; в качестве начального параметра может использоваться секретный ключ; без знания значения начального параметра выходная последовательность практически неотличима от случайно генерируемых сигналов.
Известны способы блочного шифрования данных, см., например, стандарт США 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, тогда возможны следующие схемы строения блока данных, где знак
Figure 00000002
обозначает конкатенацию (присоединение):
Figure 00000003

Возможность технической реализации заявляемого способа блочного шифрования поясняется следующим образом. В схеме строения блока данных задается фиксированной позиция первого по очередности присоединения двоичного вектора, например двоичного вектора v0, после чего в зависимости от структуры v0 устанавливается позиция и номер первого участка двоичного кода информации, а также позиция второго двоичного вектора. Теперь позиция второго двоичного вектора является установленной и по его структуре устанавливается позиция третьего двоичного вектора и второго участка двоичного кода информации и т. д. Этот способ формирования блока данных задает случайный характер строения блока данных и в то же время обеспечивает возможность в блоке данных выделить однозначно все участки двоичного кода информации, что обеспечивает возможность правильного дешифрования при использовании верного ключа шифрования. Если в процессе шифрования дважды встретятся одинаковые наборы участков двоичного кода информации, то и в этом случае с вероятностью, близкой к 1, будут сформированы блоки данных с отличающимися схемами строения. Возможны многочисленные другие способы формирования блоков данных в зависимости от структуры двоичных векторов, которые обеспечивают однозначное выделение участков двоичного кода информации из блока данных.
Законный пользователь знает ключ шифрования, поэтому используя алгоритм дешифрования, он может по криптограмме восстановить исходную структуру блока. Отделяя и отбрасывая двоичные вектора, которые не содержат какой-либо части передаваемой информации, законный получатель полностью и однозначно восстанавливает предназначавшуюся для него информацию. Для выполнения шифрующих преобразований подблоков может быть использован, например, способ шифрования блоков данных по заявкам "Способ блочного шифрования данных" (N. гос. регистр. 97101622) и "Способ шифрования блоков данных" (N. гос. регистр. 97103756).
Рассмотрим пример, поясняющий суть изобретения.
Пример 1.
Этот пример поясняет формирование 512-байтового блока данных
Figure 00000004
где 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.
Предлагаемый способ блочного шифрования легко реализуем, например, на персональных ЭВМ и обеспечивает возможность создания на его основе программных модулей шифрования, обладающих высокой стойкостью ко всем известным видам криптоанализа.

Claims (1)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU98100279A RU2141728C1 (ru) 1998-01-05 1998-01-05 Способ шифрования информации, представленной в двоичном виде

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU98100279A RU2141728C1 (ru) 1998-01-05 1998-01-05 Способ шифрования информации, представленной в двоичном виде

Publications (1)

Publication Number Publication Date
RU2141728C1 true RU2141728C1 (ru) 1999-11-20

Family

ID=20201010

Family Applications (1)

Application Number Title Priority Date Filing Date
RU98100279A RU2141728C1 (ru) 1998-01-05 1998-01-05 Способ шифрования информации, представленной в двоичном виде

Country Status (1)

Country Link
RU (1) RU2141728C1 (ru)

Similar Documents

Publication Publication Date Title
US5799088A (en) Non-deterministic public key encrypton system
CA2218148C (en) Generating unique and unpredictable values
US7224795B2 (en) Variable-length key cryptosystem
US9350544B2 (en) Apparatus for encrypting data
Kanso Self-shrinking chaotic stream ciphers
RU2103829C1 (ru) Способ шифрования информации, представленной двоичным кодом
JP3976218B2 (ja) 暗号システム
JP2007114494A (ja) 秘匿計算方法及び装置
JP2004229137A (ja) 連鎖型署名作成方法
RU2141729C1 (ru) Способ криптографического преобразования блоков двоичных данных
RU2141728C1 (ru) Способ шифрования информации, представленной в двоичном виде
RU2103828C1 (ru) Способ блочного шифрования данных
KR100371588B1 (ko) 카오스 신호를 이용하여 정보를 암호화 하고 복호화하는 방법
RU2119260C1 (ru) Способ шифрования двоичной информации
Bringer et al. On physical obfuscation of cryptographic algorithms
KR100497130B1 (ko) 이진코드정보의암호화방법
RU2239290C2 (ru) Способ поточного шифрования данных
JP2864813B2 (ja) 暗号化装置及び復号化装置
JP2000047580A (ja) 暗号変換装置、復号変換装置、暗号通信装置および自動料金徴収装置
Simmons Symmetric and asymmetric encryption
Padugupati et al. Secure and cost effective cryptosystem design based on random multiple key streams
RU2111620C1 (ru) Способ шифрования блоков данных
KR20060042791A (ko) 키 스트림 생성 방법 및 장치
RU2106753C1 (ru) Способ криптографического преобразования блоков данных
RU2291578C1 (ru) Способ поточного шифрования данных