RU2119260C1 - Способ шифрования двоичной информации - Google Patents
Способ шифрования двоичной информации Download PDFInfo
- Publication number
- RU2119260C1 RU2119260C1 RU97111335A RU97111335A RU2119260C1 RU 2119260 C1 RU2119260 C1 RU 2119260C1 RU 97111335 A RU97111335 A RU 97111335A RU 97111335 A RU97111335 A RU 97111335A RU 2119260 C1 RU2119260 C1 RU 2119260C1
- Authority
- RU
- Russia
- Prior art keywords
- binary
- encryption
- key
- data blocks
- sections
- Prior art date
Links
Landscapes
- Storage Device Security (AREA)
Abstract
Изобретение относится к электросвязи и вычислительной технике, конкретнее к области криптографических способов и устройств для шифрования данных. Технический результат - задание изменяющейся схемы строения шифруемых блоков для повышения стойкости блочного шифра ко всем известным способам криптоанализа. Способ включает формирование ключа шифрования, генерирование D ≥ 1 двоичных векторов, формирование Z ≥ 1 блоков данных, содержащих P≥ 1 участков двоичного кода информации, путем присоединения двоичных векторов к участкам двоичного кода информации и преобразование блоков данных под управлением ключа шифрования. Отличается от известных способов тем, что участки двоичного кода информации перед присоединением к ним двоичного вектора дополнительно преобразуют под управлением двоичного вектора, используя двоичный вектор в качестве вспомогательного ключа шифрования. 1 ил.
Description
Изобретение относится к электросвязи и вычислительной технике, конкретнее к области криптографических способов и устройств для шифрования сообщений (информации). В совокупности признаков заявляемого способа используются следующие термины:
- пароль представляет из себя комбинацию битов, известную только законному пользователю;
- шифрключ (ключ шифрования) представляет из себя комбинацию битов, используемую при шифровании информационных сигналов данных; шифрключ является сменным элементом шифра и используется для преобразования данного сообщения или данной совокупности сообщений; шифрключ является известным только законному пользователю или может быть выработан по детерминированным процедурам по паролю, известному только законному пользователю;
- шифр представляет собой совокупность элементарных шагов преобразования входных данных с использованием шифрключа; шифр может быть реализован в виде программы для ЭВМ или в виде отдельного устройства;
- шифрование есть процесс, реализующий некоторый способ преобразования данных с использованием шифрключа, переводящий данные в криптограмму, представляющую собой псевдослучайную последовательность знаков, из которой получение информации без значения ключа практически невыполнимо;
- функция шифрования E - это функция, задающая при фиксированном ключе шифрования K, взаимно однозначное отображение множества возможных входных сообщений T множеству выходных криптограмм C; это отображение зависит от ключа, что подчеркивается наличием индекса K в аналитической записи отображения C = Ek(T), задаваемого функцией шифрования;
- дешифрование есть процесс, обратный процедуре шифрования; дешифрование обеспечивает восстановление информации по криптограмме при значении шифрключа;
- криптостойкость является мерой надежности защиты информации и представляет собой трудоемкость, измеренную в количестве элементарных операций, которые необходимо выполнить для восстановления информации по криптограмме при знании алгоритма преобразования, но без знания шифрключа;
- двоичный код информации есть последовательность единичных и нулевых битов, имеющая смысл или отражающая характеристики явлений (процессов) и предметов (объектов) при интерпретации по заданному правилу; например, данные, представленные русским текстом, могут быть преобразованы в двоичный код информации, если каждому знаку текста поставить в соответствие блок битов с уникальной структурой;
- двоичный вектор - это некоторая последовательность нулевых и единичных битов; под двоичным вектором понимается совокупность упорядоченных битов, которая не интерпретируется получателем (приемником) данных как полезный сигнал или как информация;
- псевдослучайный закон формирования двоичных векторов есть заданное детерминированное правило генерирования длинной последовательности битов по некоторому начальному параметру и разбиение этой последовательности на участки необходимого размера.
- пароль представляет из себя комбинацию битов, известную только законному пользователю;
- шифрключ (ключ шифрования) представляет из себя комбинацию битов, используемую при шифровании информационных сигналов данных; шифрключ является сменным элементом шифра и используется для преобразования данного сообщения или данной совокупности сообщений; шифрключ является известным только законному пользователю или может быть выработан по детерминированным процедурам по паролю, известному только законному пользователю;
- шифр представляет собой совокупность элементарных шагов преобразования входных данных с использованием шифрключа; шифр может быть реализован в виде программы для ЭВМ или в виде отдельного устройства;
- шифрование есть процесс, реализующий некоторый способ преобразования данных с использованием шифрключа, переводящий данные в криптограмму, представляющую собой псевдослучайную последовательность знаков, из которой получение информации без значения ключа практически невыполнимо;
- функция шифрования E - это функция, задающая при фиксированном ключе шифрования K, взаимно однозначное отображение множества возможных входных сообщений T множеству выходных криптограмм C; это отображение зависит от ключа, что подчеркивается наличием индекса K в аналитической записи отображения C = Ek(T), задаваемого функцией шифрования;
- дешифрование есть процесс, обратный процедуре шифрования; дешифрование обеспечивает восстановление информации по криптограмме при значении шифрключа;
- криптостойкость является мерой надежности защиты информации и представляет собой трудоемкость, измеренную в количестве элементарных операций, которые необходимо выполнить для восстановления информации по криптограмме при знании алгоритма преобразования, но без знания шифрключа;
- двоичный код информации есть последовательность единичных и нулевых битов, имеющая смысл или отражающая характеристики явлений (процессов) и предметов (объектов) при интерпретации по заданному правилу; например, данные, представленные русским текстом, могут быть преобразованы в двоичный код информации, если каждому знаку текста поставить в соответствие блок битов с уникальной структурой;
- двоичный вектор - это некоторая последовательность нулевых и единичных битов; под двоичным вектором понимается совокупность упорядоченных битов, которая не интерпретируется получателем (приемником) данных как полезный сигнал или как информация;
- псевдослучайный закон формирования двоичных векторов есть заданное детерминированное правило генерирования длинной последовательности битов по некоторому начальному параметру и разбиение этой последовательности на участки необходимого размера.
Известны способы блочного шифрования данных, см. например стандарт США DES [У. Диффи, М. Э. Хеллмэн. Защищенность и имитостойкость: Введение в криптографию// ТИИЭР. , 1979, т. 67, N 3, с. 87 - 89], способ шифрования по патенту США N 5222139, от 22 июня 1993, шифр FEAL-1 и криптоалгоритм B-Crypt [С. Мафтик. Механизмы защиты в сетях ЭВМ. - М., Мир, 1993, с. 49 - 52]. В известных способах шифрование блоков данных выполняют путем формирования ключа шифрования в виде совокупности подключей, разбиения преобразуемого блока данных на подблоки и поочередного изменения последних с помощью операций подставки, перестановки и арифметических операций, выполняемых над текущим подблоком и текущим подключом.
Однако известные способы-аналоги не обладают достаточной стойкостью к атакам на основе подобранного исходного текста, например к дифференциальному криптоанализу [Berson T.A. Differential Cryptanalysis Mod 232 with application to MD5//EUROCRYPT'92. Hungary, May 24 - 28, 1992. Proceedings. P. 67 - 68].
Наиболее близким по своей технической сущности к заявляемому способу блочного шифрования является способ, описанный в заявке на изобретение "Способ шифрования информации, представленной двоичным кодом" (рег. N 97104754 от 2.04.97). В способе-прототипе формируют ключ шифрования, формируют блоки данных путем присоединения случайных двоичных векторов к участкам двоичного кода информации и преобразуют блоки данных под управлением ключа шифрования.
Однако, способ-прототип имеет недостатки, а именно, участки двоичного кода информации входят в формируемый блок данных без изменения их структуры, что может быть использовано для разработки в будущем неизвестных в настоящее время способов криптоанализа.
Цель изобретения - разработка способа шифрования блоков данных, обеспечивающего повышение криптостойкости.
Поставленная цель достигается тем, что в известном способе блочного шифрования, заключающемся в формировании ключа шифрования, генерировании D ≥ 1 двоичных векторов, формировании Z ≥ 1 блоков данных, содержащих P ≥ 1 участков двоичного кода информации, путем присоединения двоичных векторов к участкам двоичного кода информации и преобразовании блоков данных под управлением ключа шифрования, участки двоичного кода информации перед присоединением к ним двоичного вектора дополнительно преобразуют под управлением двоичного вектора, используя двоичный вектор в качестве вспомогательного ключа.
Генерирование двоичных векторов может выполняться, например, по случайному (или псевдослучайному) закону путем измерения вероятностного физического процесса или измерения сигнала датчика шума, в качестве которого во многих приложениях используются специально сконструированные электронные устройства. Использование случайных двоичных векторов длиной 48 бит и более обеспечивает низкую вероятность повтора их значений при шифровании больших объемов информации.
В заявляемом способе формирование блоков данных выполняется следующим образом. Участки двоичного кода информации предварительно преобразуются под управлением двоичного вектора, используя двоичный вектор в качестве вспомогательного ключа шифрования, а затем к преобразованным участкам двоичного кода информации присоединяется двоичный вектор. После этого выполняется преобразование блока данных под управлением ключа шифрования. Использование предварительного преобразования участков двоичного кода информации под управлением случайного двоичного вектора является существенным фактором повышения стойкости шифрования.
Возможность технической реализации заявляемого способа блочного шифрования поясняется следующим образом (см. чертеж). Пусть блок данных формируется путем присоединения t-битового участка двоичного кода информации T и v-битового двоичного вектора V. Для предварительного шифрования T будем использовать алгоритм шифрования, задающий функцию шифрования E с размером входа t и ключом K, имеющим длину кратную значению v. Для предварительного преобразования T формируется вспомогательный ключ K=V∥V∥...∥V, представляющий собой повторение двоичного вектора V несколько раз. После этого выполняется шифрование участка двоичного кода информации под управлением вспомогательного ключа, т.е. под управлением двоичного вектора: T′=E (T),, E - функция шифрования при K=V∥V∥...∥V . Затем двоичный вектор присоединяется к преобразованному участку двоичного кода информации и тем самым формируется блок данных B=V∥T′. Блок данных преобразуется под управлением ключа шифрования Q, используя b-битовый, где b = v + t, блочный шифр, который задает преобразования описываемые функцией E (B). Результирующее преобразование описывается функцией C=E(T)=E [V∥E (T)], которая задает отображение участка двоичного кода информации T в блок криптограммы C, причем структура C зависит от двоичного вектора V. Законный пользователь владеет ключом шифрования Q и может легко по структуре криптограммы восстановить исходную структуру блока B, выделить двоичный вектор, использованный при шифровании и восстановить по T' и V исходную структуру участка двоичного кода информации T.
Рассмотрим пример, поясняющий суть изобретения, в котором используются значения t = 64 бит, v = 64 бит, b = 128 бит.
Пример. Этот пример поясняет процедуры шифрования 64-битовых участков двоичного кода информации T:
1. Сформировать ключ шифрования Q в виде совокупности 256 32-битовых подключей.
1. Сформировать ключ шифрования Q в виде совокупности 256 32-битовых подключей.
1. Выработать по случайному закону двоичный вектор V.
2. Сформировать вспомогательный 64-битовый ключ K = V.
3. Используя алгоритм шифрования DES зашифровать T под управлением вспомогательного ключа: T′=E (T).
4. Сформировать блок данных B путем присоединения двоичного вектора к преобразованному участку двоичного кода информации: B=V∥T′.
5. Используя алгоритм шифрования с 128-битовым входом, описанный в заявке "Способ блочного шифрования данных" авторов Молдовяна А.А., Молдовяна Н. А. (вх. N. 001918, N. гос. регистр. 97101622 от 10 февраля 1997), преобразовать под управлением ключа шифрования Q блок B: C=E (B), где C - выходной блок криптограммы.
4. Сформировать блок данных B путем присоединения двоичного вектора к преобразованному участку двоичного кода информации: B=V∥T′.
5. Используя алгоритм шифрования с 128-битовым входом, описанный в заявке "Способ блочного шифрования данных" авторов Молдовяна А.А., Молдовяна Н. А. (вх. N. 001918, N. гос. регистр. 97101622 от 10 февраля 1997), преобразовать под управлением ключа шифрования Q блок B: C=E
Предлагаемый способ блочного шифрования легко реализуем, например, на персональных ЭВМ и обеспечивает возможность создания на его основе программных модулей шифрования, обладающих высокой стойкостью ко всем известным видам криптоанализа.
Claims (1)
- Способ шифрования, включающий формирование ключа шифрования, формирование Z ≥ 1 блоков данных, содержащих P ≥ 1 участков двоичного кода информации, и преобразование блоков данных под управлением ключа шифрования, отличающийся тем, что дополнительно генерируют D ≥ 1 двоичных векторов, а блоки данных формируют путем присоединения двоичных векторов к участкам двоичного кода информации, причем по крайней мере один участок двоичного кода информации перед формированием соответствующего блока данных предварительно преобразуют под управлением присоединяемого к нему двоичного вектора, используя двоичный вектор в качестве вспомогательного ключа информации.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU97111335A RU2119260C1 (ru) | 1997-07-09 | 1997-07-09 | Способ шифрования двоичной информации |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU97111335A RU2119260C1 (ru) | 1997-07-09 | 1997-07-09 | Способ шифрования двоичной информации |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2119260C1 true RU2119260C1 (ru) | 1998-09-20 |
RU97111335A RU97111335A (ru) | 1999-01-10 |
Family
ID=20194932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU97111335A RU2119260C1 (ru) | 1997-07-09 | 1997-07-09 | Способ шифрования двоичной информации |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2119260C1 (ru) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2701128C1 (ru) * | 2018-10-26 | 2019-09-24 | Закрытое акционерное общество Научно-технический центр "Модуль" | Способ шифрования двоичной информации |
-
1997
- 1997-07-09 RU RU97111335A patent/RU2119260C1/ru active
Non-Patent Citations (1)
Title |
---|
Стандарт СССР ГОСТ 28147-89. Система обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2701128C1 (ru) * | 2018-10-26 | 2019-09-24 | Закрытое акционерное общество Научно-технический центр "Модуль" | Способ шифрования двоичной информации |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5799088A (en) | Non-deterministic public key encrypton system | |
KR102136904B1 (ko) | 공유 비밀키 생성 장치, 암호화 장치, 복호화 장치, 공유 비밀키 생성 방법, 암호화 방법, 복호화 방법, 및 프로그램 | |
JPH08510365A (ja) | データ暗号化のための方法および装置 | |
WO2001030020A1 (fr) | Systeme de cryptage de cle a longueur variable | |
RU2103829C1 (ru) | Способ шифрования информации, представленной двоичным кодом | |
CN105871549A (zh) | 一种数字信号加密处理方法 | |
Miss et al. | Fuzzy logic based image encryption for confidential data transfer using (2, 2) secret sharing scheme | |
Choubey et al. | Cryptographic techniques in information security | |
RU2141729C1 (ru) | Способ криптографического преобразования блоков двоичных данных | |
CN105959106A (zh) | 一种低复杂度数字加密方法 | |
JP2001503534A (ja) | データの非相関化方法 | |
RU2119260C1 (ru) | Способ шифрования двоичной информации | |
RU2103828C1 (ru) | Способ блочного шифрования данных | |
Philip et al. | Chaos for stream cipher | |
KR100497130B1 (ko) | 이진코드정보의암호화방법 | |
Simmons | Symmetric and asymmetric encryption | |
RU2239290C2 (ru) | Способ поточного шифрования данных | |
RU2141728C1 (ru) | Способ шифрования информации, представленной в двоичном виде | |
JP2015082077A (ja) | 暗号化装置、制御方法、及びプログラム | |
Geetha et al. | Survey on security mechanisms for public cloud data | |
JP2000004223A (ja) | 暗号・認証システム | |
RU2111620C1 (ru) | Способ шифрования блоков данных | |
RU2140714C1 (ru) | Способ итеративного шифрования блоков данных | |
RU2140712C1 (ru) | Способ блочного шифрования двоичной информации | |
RU2106753C1 (ru) | Способ криптографического преобразования блоков данных |