способ поточного шифрования данных

Классы МПК:H04L9/00 Устройство для секретной или скрытой связи
Автор(ы):, ,
Патентообладатель(и):Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю (RU)
Приоритеты:
подача заявки:
2005-04-25
публикация патента:

Изобретение относится к области электросвязи и вычислительной техники. Сущность способа поточного шифрования данных заключается в формировании ключа шифрования в виде двоичного вектора длиною n бит, формировании двух или более псевдослучайных последовательностей символов в виде двоичных векторов длиною k бит, разбиении потока данных на блоки-символы в виде двоичных векторов длиною k бит, преобразовании блоков-символов в зашифрованное сообщение путем использования псевдослучайных последовательностей символов и нелинейных криптографических преобразований и передачи по линии связи, причем одну из псевдослучайных последовательностей символов формируют в виде двоичных векторов длиною к бит путем снятия информации с к различных разрядов регистра сдвига, а другую псевдослучайную последовательность формируют в виде двоичных векторов длиною к бит путем использования символа "1" в нулевом разряде двоичного вектора, а для остальных разрядов - символы, снимаемые с к-1 различных разрядов регистра и используют для их преобразования операции сложения и умножения символов в кольце класса вычетов по модулю р=2k. Технический результат заключается в повышении скорости дешифрования данных и расширения диапазона изменения стойкости шифра к атакам на основе известных и подобранных исходных текстов. 2 ил. способ поточного шифрования данных, патент № 2291578

способ поточного шифрования данных, патент № 2291578 способ поточного шифрования данных, патент № 2291578

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

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

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

Изобретение относится к области электросвязи и вычислительной техники, а конкретнее к области способов и устройств криптографического преобразования данных.

В совокупности признаков заявляемого способа используются следующие термины:

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

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

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

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

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

двоичный вектор - это сигнал в виде последовательности нулевых и единичных символов, соответствующий представлению числа в двоичной системе исчисления.

Известны способы поточного шифрования данных (см., например, Российский стандарт шифрования стандарт СССР ГОСТ 28147-89 [1], Британский алгоритм B-Grypt, Стандарт США DES, японский алгоритм шифрования данных FEAL [2] стр.48-52, а также патент Российской Федерации на изобретение №2239290, кл. 7 Н 04 L 9/00, Н 04 К 1/06 [3]).

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

Однако известные способы-аналоги поточного шифрования данных [1, 2] имеют недостаток. Несмотря на то, что шифр, основанный на сложении потока псевдослучайных битов с битами исходного текста по модулю 2 является в общем случае теоретически нераспознаваемым (см. [2], стр.128) сама криптосистема не отличается стойкостью и может быть раскрыта. Если структура регистра сдвига, имеющего n-разрядов известна, то для нахождения начального состояния регистра сдвига, надо знать n символов известного открытого текста, которые складываются по модулю 2 с соответствующими n-символами шифртекста. Полученные n-символов псевдослучайной последовательности определяют состояние регистра сдвига на некоторый момент времени. Моделируя работу регистра сдвига в обратном направлении, можно определить его исходное состояние, а следовательно и ключи, используемые пользователями сети при шифровании-дешифровании информации.

Если структура регистра сдвига, имеющего n-разрядов, является неизвестной, то достаточно 2·n-символов известного открытого текста и им соответствующих 2·n-символов шифрованного текста, чтобы сравнительно быстро (в течение нескольких секунд работы ЭВМ) определить состояние регистра сдвига и вычислить используемые ключи (см., например, [4] стр.93). А это приводит к снижению стойкости шифра к атакам на основе известных и подобранных исходных текстов.

Наиболее близким по своей технической сущности к заявленному способу поточного шифрования данных является способ, представленный патентом Российской Федерации на изобретение №2239290 по заявке №2001135708 от 24.12.2001 г.

Способ прототип включает в себя формирование ключа шифрования в виде двоичного вектора длиною n-бит, подачи его для начального заполнения регистра сдвига с обратной связью, имеющего n разрядов и вырабатывающего псевдослучайную последовательность максимальной длины, содержащую 2n-1 двоичных символов, формировании двух или более псевдослучайных последовательностей символов в виде двоичных векторов длиною k бит, разбиении потока данных на блоки-символы в виде двоичных векторов длиною k бит, поочередном преобразовании блоков-символов путем использования псевдослучайных последовательностей символов и нелинейных криптографических преобразований в конечном поле Fp, p=2k+1, kспособ поточного шифрования данных, патент № 2291578 2, 4, 8, 16 и передачу зашифрованниго сообщения по линии связи другому пользователю сети.

Однако способ-прототип имеет низкую скорость дешифрования данных и слабо регулируемый диапазон изменения стойкости шифра к атакам на основе известных или подобранных исходных текстов. Низкая скорость дешифрования данных обусловлена тем, что для обеспечения высокой стойкости шифра к атакам на основе известных или подобранных исходных текстов используется операция умножения символов в конечном поле F p, р=2k+1, kспособ поточного шифрования данных, патент № 2291578 2, 4, 8, 16. В этом случае для дешифрования данных необходимо определить обратные элементы символов х псевдослучайной последовательности. Вычисление обратных элементов осуществляется путем возведения символов х псевдослучайной последовательности в степень р-2 в конечном поле Fp, х-1=xp-2(mod)p, что представляет собой трудоемкую операцию, так как число умножений в конечном поле будет большим. Поскольку число k ограничено значениями kспособ поточного шифрования данных, патент № 2291578 2, 4, 8, 16, для которых модуль сравнения р должен быть простым числом р=2k+1, то это уменьшает регулировку диапазона изменения стойкости кода к атакам на основе известных и подобранных исходных текстов.

Изобретение направлено на повышение скорости дешифрования данных и расширения диапазона изменения стойкости шифра к атакам на основе известных и подобранных исходных текстов.

Это достигается тем, что в известном способе шифрования потока данных, заключающийся в том, что формируют ключ шифрования в виде двоичного вектора длиною n бит, подают его для начального заполнения регистра сдвига с обратной связью, имеющего n разрядов и вырабатывающего псевдослучайную последовательность максимальной длины, содержащую 2n-1 двоичных символов, формируют две псевдослучайные последовательности символов в виде двоичных векторов длиною k бит, разбивают поток данных на блоки-символы в виде двоичных векторов длиною k бит, поочередно преобразуют блоки-символы в зашифрованное сообщение путем использования псевдослучайных последовательностей символов и нелинейных криптографических преобразований и передают его по линии связи, согласно изобретению, одну из псевдослучайных последовательностей символов формируют в виде двоичных векторов длиною k бит путем снятия информации с k различных разрядов регистра сдвига, а другую псевдослучайную последовательность символов формируют в виде двоичных векторов длиною k бит путем использования символа "1" в нулевом разряде двоичного вектора, а для остальных разрядов двоичного вектора используют символы, снимаемые с k-1 различных разрядов регистра сдвига и поочередно преобразуют блоки-символы путем сложения их с символами первой псевдослучайной последовательности в кольце класса вычетов по модулю р=2k и умножения полученного результата на символы второй псевдослучайной последовательности в кольце класса вычетов по модулю р=2k.

Символы первой псевдослучайной последовательности имеют элементы 0, 1, 2, 3,..., р-1, представляют собой аддитивную группу кольца класса вычетов по модулю р=2k. К ним может применяться только операция сложения символов в кольце класса вычетов по модулю р=2k . Символы второй псевдослучайной последовательности имеют нечетные числа 1, 3, 5, 7,..., р-1 и представляют собой мультипликативную группу кольца класса вычетов по модулю р=2k. К ним может применяться операция умножения символов в кольце класса вычетов по модулю р=2k.

Перечисленная совокупность существенных признаков повышает скорость дешифрования данных. Это обусловлено тем, что для чисел р=2k функция Эйлера способ поточного шифрования данных, патент № 2291578 (р)=2(k-1), где k - целое число большее двух. В этом случае по отношению к числу х в кольце класса вычетов по модулю р существуют обратные элементы х-1 только для нечетных чисел. При этом могут быть вычислены обратные элементы для декодирования сообщения:

способ поточного шифрования данных, патент № 2291578

Для вычисления обратных величин число умножений в кольце класса вычетов по модулю р=2k уменьшается более чем в два раза по отношению к вычислению обратных величин в конечном поле Fp, р=2k+1, для которого функция Эйлера способ поточного шифрования данных, патент № 2291578 (р)=2k. В этом случае q<2k-1 более чем в два раза.

Поскольку число k для кольца класса вычетов по модулю р не ограничивается значениями kспособ поточного шифрования данных, патент № 2291578 2, 4, 8, 16, а может принимать любые целые числа более двух, то это увеличивает возможность регулировки диапазона изменения стойкости кода к атакам на основе известных или подобранных исходных текстов.

Поскольку с помощью одного регистра сдвига формируют псевдослучайные последовательности символов х мультипликативной группы кольца класса вычетов по модулю р=2k в виде двоичных векторов длиною k бит, а также псевдослучайные последовательности символов у аддитивной группы кольца класса вычетов по модулю р в виде двоичных векторов длиною k бит, то могут быть реализованы нелинейные криптографические преобразования применительно к символам исходного текста а для получения зашифрованных символов способ поточного шифрования данных, патент № 2291578

способ поточного шифрования данных, патент № 2291578

Поскольку символы псевдослучайной последовательности х являются элементами мультипликативной группы кольца класса вычетов по модулю р=2k, то могут быть вычислены обратные величины

способ поточного шифрования данных, патент № 2291578

а для символов у аддитивной группы кольца класса вычетов по модулю р могут быть вычислены сопряженные элементы

способ поточного шифрования данных, патент № 2291578

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

способ поточного шифрования данных, патент № 2291578

Поскольку при шифровании символов исходного текста используются нелинейные преобразования двух псевдослучайных последовательностей, то нижняя граница линейной сложности результирующей псевдослучайной последовательности символов кольца класса вычетов по модулю р будет определяться числом сочетаний из числа разрядов регистра сдвига с которых может сниматься информация по число комбинирующих псевдослучайных последовательностей двоичных символов. Для регистра сдвига, состоящего из n=256 разрядов, и при использовании двух псевдослучайных последовательностей символов длиною 4 бита, нижняя граница линейной сложности результирующей псевдослучайной последовательности символов будет составлять способ поточного шифрования данных, патент № 2291578 . Если вскрытие состояния регистра сдвига будет осуществляться с помощью ЭВМ, имеющей тактовую частоту 10 ГГц, то число операций, выполняемых этой ЭВМ в течение года, будет составлять ·10 19, а время вскрытия составит 1 год.

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

Формирование псевдослучайной последовательности максимальной длины, содержащей 2n -1 символов, можно осуществлять путем использования линейного регистра сдвига, имеющего n разрядов, обратную связь которого определяют по виду выбранного примитивного полинома степени n. Нахождение примитивных полиномов степени n изложено в [4] на стр.106-116.

Формирование псевдослучайных последовательностей символов мультипликативной группы кольца класса вычетов по модулю р=2k в виде двоичных векторов длиною k бит можно осуществить путем снятия информации с k-1 различных разрядов регистра сдвига и использовании символа "1" в нулевом разряде двоичного вектора, а формирование псевдослучайных последовательностей символов аддитивной группы кольца класса вычетов по модулю р в виде двоичных векторов длиною k бит можно осуществить путем снятия информации с k различных разрядов регистра сдвига.

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

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

блок 1 - устройство формирования ключа шифрования;

блок 2 - регистр сдвига;

блок 3 - шифрующее устройство;

блок 4 - передающее устройство.

Для простоты описания работы устройства будем пользоваться малыми числами. Будем считать, что регистр сдвига имеет 6 разрядов (длина ключа 6 бит), а весь алфавит исходного текста содержит 16 символов, тогда для передачи одного символа может быть использован двоичный вектор длиною 4 бита, а в качестве модуля сравнения может быть выбрано число p=16.

Для определения структуры регистра сдвига выбирают примитивный многочлен шестой степени, например

способ поточного шифрования данных, патент № 2291578

Для выбранного примитивного многочлена, структурная схема регистра сдвига с обратной связью будет иметь вид, представленный на фиг.2, где блоки 5-10 - разряды 1-6 регистра сдвига, а блок 11 - сумматор по модулю два. Сформированный в блоке 1 фиг.1 с помощью генератора случайных чисел ключ шифрования длиною 6 бит

способ поточного шифрования данных, патент № 2291578

способ поточного шифрования данных, патент № 2291578

поступает в регистр сдвига и используется для начального заполнения разрядов регистра сдвига. Двоичные символы с 5 и 6 разряда регистра сдвига поступают в каждом такте работы на вход сумматора 11 по модулю два, а с выхода сумматора по модулю два символы способ поточного шифрования данных, патент № 2291578 поступают на вход первого разряда регистра сдвига (блок 5, фиг.2). При этом состояния разрядов для каждого такта в процессе работы регистра сдвига определяются выражением

способ поточного шифрования данных, патент № 2291578

Если символы будут сниматься с шестого разряда способ поточного шифрования данных, патент № 2291578 6 регистра сдвига (блок 10, фиг.2), то двоичная псевдослучайная последовательность максимального периода будет иметь вид

способ поточного шифрования данных, патент № 2291578

Если двоичные числа будем снимать со 2, 3 и 4 разряда регистра сдвига (блоки 6, 7, 8, фиг.2) и на каждом такте работы регистра сдвига и с набором способ поточного шифрования данных, патент № 2291578 будем сопоставлять двоичный вектор (число) способ поточного шифрования данных, патент № 2291578 , то последовательность двоичных чисел в процессе работы регистра можно рассматривать как последовательность х чисел (символов) {1, 3, ..., 15} мультипликативной группы кольца класса вычетов по модулю р=2k в виде

способ поточного шифрования данных, патент № 2291578

Если двоичные числа будем снимать одновременно с 1, 2, 5, 6 разряда регистра сдвига (блоки 5, 6, 9, 10, фиг.2) и на каждом такте работы регистра сдвига с набором способ поточного шифрования данных, патент № 2291578 будем сопоставлять число в виде способ поточного шифрования данных, патент № 2291578 , то последовательность двоичных чисел в процессе работы регистра сдвига можно рассматривать как последовательность символов у {0, 1, 2, ..., 15} аддитивной группы кольца класса вычетов по модулю р=2k в виде

способ поточного шифрования данных, патент № 2291578

Сформированные псевдослучайные последовательности символов конечного поля х и y в виде двоичных векторов подают в шифрующее устройство 3 фиг.1, где преобразуют поступающий поток данных в зашифрованное сообщение путем использования псевдослучайных последовательностей символов х и y в соответствии с выбранным криптографическим преобразованием способ поточного шифрования данных, патент № 2291578 в кольце класса вычетов по модулю р=2k, k=4, например

способ поточного шифрования данных, патент № 2291578

способ поточного шифрования данных, патент № 2291578

На приемном конце радиолинии осуществляют дешифрование принятой последовательности символов способ поточного шифрования данных, патент № 2291578 в соответствии с установленным криптографическим преобразованием способ поточного шифрования данных, патент № 2291578 , при этом используют обратные элементы для псевдослучайной последовательности мультипликативной группы кольца класса вычетов по модулю р=2k, х-1способ поточного шифрования данных, патент № 2291578 x7(mod 16) и сопряженные элементы для псевдослучайной последовательности аддитивной группы кольца класса вычетов по модулю р=2k, y*=р-y, например:

способ поточного шифрования данных, патент № 2291578

Для повышения стойкости шифра к атакам на основе известных или подобранных исходных текстов и повышения скорости дешифрования информации используют дополнительную псевдослучайную последовательность в виде двоичных векторов, биты которых складывают по модулю два с битами двоичного вектора исходного текста. В этом случае операция сложения битов по модулю два является нелинейной по отношению к операциям, используемым в кольце класса вычетов по модулю р=2k и реализуется с максимальным быстродействием.

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

Источники информации

1. Российский стандарт шифрования стандарт СССР ГОСТ 28147-89 Системы обработки информции. Защита криптографическая. Алгоритм криптографического преобразования.

2. С.Мафтик. Механизмы защиты в сетях ЭВМ, М., 1993 г.

3. Способ поточного шифрования данных. Патент на изобретение №2239290 по заявке №2001135708 от 24.02.2001.

4. В.И.Тупота. Адаптивные средства защиты информации в вычислительных сетях, М.: Радио и связь, 2002 г.

Класс 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)
Наверх