Главная страница  |  Описание сайта  |  Контакты
СПОСОБ ШИФРОВАНИЯ ДВОИЧНОЙ ИНФОРМАЦИИ
СПОСОБ ШИФРОВАНИЯ ДВОИЧНОЙ ИНФОРМАЦИИ

СПОСОБ ШИФРОВАНИЯ ДВОИЧНОЙ ИНФОРМАЦИИ

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

1. С помощью поисковых систем

   С помощью Google:    

2. Экспресс-поиск по номеру патента


введите номер патента (7 цифр)

3. По номеру патента и году публикации

2000000 ... 2099999   (1994-1997 гг.)

2100000 ... 2199999   (1997-2003 гг.)
Номер патента: 2119260
Класс(ы) патента: H04L9/20, H04K1/00
Номер заявки: 97111335/09
Дата подачи заявки: 09.07.1997
Дата публикации: 20.09.1998
Заявитель(и): Управление Федеральной службы безопасности России по Санкт- Петербургу и Ленинградской области; Специализированный центр программных систем "Спектр"; Молдовян Александр Андреевич
Автор(ы): Андреевский Н.А.; Молдовян А.А.; Молдовян Н.А.
Патентообладатель(и): Управление Федеральной службы безопасности России по Санкт- Петербургу и Ленинградской области; Специализированный центр программных систем "Спектр"; Молдовян Александр Андреевич
Описание изобретения: Изобретение относится к электросвязи и вычислительной технике, конкретнее к области криптографических способов и устройств для шифрования сообщений (информации). В совокупности признаков заявляемого способа используются следующие термины:
- пароль представляет из себя комбинацию битов, известную только законному пользователю;
- шифрключ (ключ шифрования) представляет из себя комбинацию битов, используемую при шифровании информационных сигналов данных; шифрключ является сменным элементом шифра и используется для преобразования данного сообщения или данной совокупности сообщений; шифрключ является известным только законному пользователю или может быть выработан по детерминированным процедурам по паролю, известному только законному пользователю;
- шифр представляет собой совокупность элементарных шагов преобразования входных данных с использованием шифрключа; шифр может быть реализован в виде программы для ЭВМ или в виде отдельного устройства;
- шифрование есть процесс, реализующий некоторый способ преобразования данных с использованием шифрключа, переводящий данные в криптограмму, представляющую собой псевдослучайную последовательность знаков, из которой получение информации без значения ключа практически невыполнимо;
- функция шифрования 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(K1) с размером входа t и ключом K, имеющим длину кратную значению v. Для предварительного преобразования T формируется вспомогательный ключ K=V∥V∥...∥V, представляющий собой повторение двоичного вектора V несколько раз. После этого выполняется шифрование участка двоичного кода информации под управлением вспомогательного ключа, т.е. под управлением двоичного вектора: Tʹ=E(V1)(T),, E(V1)- функция шифрования при K=V∥V∥...∥V . Затем двоичный вектор присоединяется к преобразованному участку двоичного кода информации и тем самым формируется блок данных B=V∥Tʹ. Блок данных преобразуется под управлением ключа шифрования Q, используя b-битовый, где b = v + t, блочный шифр, который задает преобразования описываемые функцией E(Q2)(B). Результирующее преобразование описывается функцией C=E(T)=E(Q2)[V∥E(V1)(T)], которая задает отображение участка двоичного кода информации T в блок криптограммы C, причем структура C зависит от двоичного вектора V. Законный пользователь владеет ключом шифрования Q и может легко по структуре криптограммы восстановить исходную структуру блока B, выделить двоичный вектор, использованный при шифровании и восстановить по T' и V исходную структуру участка двоичного кода информации T.
Рассмотрим пример, поясняющий суть изобретения, в котором используются значения t = 64 бит, v = 64 бит, b = 128 бит.
Пример. Этот пример поясняет процедуры шифрования 64-битовых участков двоичного кода информации T:
1. Сформировать ключ шифрования Q в виде совокупности 256 32-битовых подключей.
1. Выработать по случайному закону двоичный вектор V.
2. Сформировать вспомогательный 64-битовый ключ K = V.
3. Используя алгоритм шифрования DES зашифровать T под управлением вспомогательного ключа: Tʹ=E(K1)(T).
4. Сформировать блок данных B путем присоединения двоичного вектора к преобразованному участку двоичного кода информации: B=V∥Tʹ.
5. Используя алгоритм шифрования с 128-битовым входом, описанный в заявке "Способ блочного шифрования данных" авторов Молдовяна А.А., Молдовяна Н. А. (вх. N. 001918, N. гос. регистр. 97101622 от 10 февраля 1997), преобразовать под управлением ключа шифрования Q блок B: C=E(Q2)(B), где C - выходной блок криптограммы.
Предлагаемый способ блочного шифрования легко реализуем, например, на персональных ЭВМ и обеспечивает возможность создания на его основе программных модулей шифрования, обладающих высокой стойкостью ко всем известным видам криптоанализа.
Формула изобретения: Способ шифрования, включающий формирование ключа шифрования, формирование Z ≥ 1 блоков данных, содержащих P ≥ 1 участков двоичного кода информации, и преобразование блоков данных под управлением ключа шифрования, отличающийся тем, что дополнительно генерируют D ≥ 1 двоичных векторов, а блоки данных формируют путем присоединения двоичных векторов к участкам двоичного кода информации, причем по крайней мере один участок двоичного кода информации перед формированием соответствующего блока данных предварительно преобразуют под управлением присоединяемого к нему двоичного вектора, используя двоичный вектор в качестве вспомогательного ключа информации.