способ формирования ключа шифрования-дешифрования

Классы МПК:H04L9/14 с использованием нескольких ключей или алгоритмов
H04L9/16 меняющихся в процессе работы
Автор(ы):, ,
Патентообладатель(и):Государственный научно-исследовательский испытательный институт проблем технической защиты информации Государственной технической комиссии при Президенте Российской Федерации (RU)
Приоритеты:
подача заявки:
2004-04-07
публикация патента:

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

способ формирования ключа шифрования-дешифрования, патент № 2277759

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

Способ формирования ключа шифрования-дешифрования, основанный на генерировании двух двоичных векторов чисел а и р, причем 1<а<2 n, а р является простым числом и рспособ формирования ключа шифрования-дешифрования, патент № 2277759 2n-1, где n - длина ключа в битах, передаче по незащищенному каналу связи двоичных векторов чисел а и р каждому пользователю сети, генерировании пользователями сети независимо друг от друга секретных ключей xA, ..., xB , где xА - секретный ключ пользователя А, 1<x А<2n, xB - секретный ключ пользователя В, 1<xB<2n, и формировании пользователями сети открытых ключей путем преобразования двоичных векторов секретного ключа и чисел а и р способ формирования ключа шифрования-дешифрования, патент № 2277759 где уA - открытый ключ пользователя А, уB - открытый ключ пользователя В, передаче по незащищенному каналу связи открытых ключей всем другим пользователям сети и формировании пользователями сети для связи с другим пользователем сети общего секретного подключа К путем преобразования двоичных векторов своего секретного ключа и открытого ключа другого пользователя сети способ формирования ключа шифрования-дешифрования, патент № 2277759 способ формирования ключа шифрования-дешифрования, патент № 2277759 К=КABBA, где КAB - общий секретный подключ между пользователями А и В, К ва - общий секретный подключ между пользователями В и А, К - общий секретный подключ, и для передачи сообщения генерируют для каждого сеанса связи случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 , формируют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора общего секретного подключа К, используют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 в качестве ключа шифрования для шифрующего устройства, формирующего псевдослучайную последовательность символов максимальной длины 2n-1 для шифрования сообщения, формируют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 , который передают по каналу связи вместе с зашифрованным сообщением, а при приеме сообщения пользователи сети формируют случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 , а затем формируют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора общего секретного подключа К и двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 используют в шифрующем устройстве, формирующем псевдослучайную последовательность символов, используемую для дешифрования сообщения, отличающийся тем, что при передаче пользователи сети независимо друг от друга формируют для связи с другим пользователем сети двоичный вектор обратного элемента общего секретного подключа между пользователями сети К0 путем преобразования двоичного вектора общего секретного подключа между пользователями сети способ формирования ключа шифрования-дешифрования, патент № 2277759 и формируют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора обратного элемента общего секретного подключа между пользователями К0, а при приеме сообщения случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 формируют путем сложения по модулю два битов принимаемого двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора обратного элемента общего секретного подключа между пользователями К0.

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

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

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

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

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

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

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

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

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

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

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

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

Наиболее близким по своей технической сущности к заявляемому способу формирования ключа шифрования-дешифрования является способ, описанный протоколом в стандарте США DES [2], стр. 71, и [3], стр.61.

Способ-прототип включает в себя формирование для всех пользователей сети двух двоичных векторов чисел а и р, при этом простое число рспособ формирования ключа шифрования-дешифрования, патент № 2277759 2n-1, выбор пользователями сети независимо друг от друга секретных ключей xA, ..., xB, таких, что 1<xА<2n, 1<xB <2n, формирование пользователями сети открытых ключей способ формирования ключа шифрования-дешифрования, патент № 2277759 обмен пользователями открытыми ключами и формирование каждым из них общего секретного подключа способ формирования ключа шифрования-дешифрования, патент № 2277759 способ формирования ключа шифрования-дешифрования, патент № 2277759 К=KABВА и использование этого подключа в качестве базы для начального заполнения регистра сдвига, имеющего n разрядов и вырабатывающего псевдослучайную последовательность символов максимальной длины.

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

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

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

Изобретение направлено на повышение быстродействия процесса формирования ключа шифрования-дешифрования и увеличение скорости шифрования сообщений.

Это достигается тем, что в известном способе формирования ключа шифрования-дешифрования, заключающемся в генерировании для всех пользователей сети двоичных векторов двух чисел а и р, при этом простое число рспособ формирования ключа шифрования-дешифрования, патент № 2277759 2n-1, в генерировании пользователями сети независимо друг от друга секретных ключей xА, ..., xB , таких, что 1<xА<2n, 1<х B<2n, формировании пользователями сети открытых ключей способ формирования ключа шифрования-дешифрования, патент № 2277759 обмене пользователями сети открытыми ключами и формировании каждым из них для связи с другими пользователями сети общего секретного подключа способ формирования ключа шифрования-дешифрования, патент № 2277759 способ формирования ключа шифрования-дешифрования, патент № 2277759 К=КАВВА, дополнительно пользователи сети формируют для связи с другими пользователями сети двоичный вектор обратного элемента общего секретного подключа между пользователями сети К0 путем преобразования двоичного вектора общего секретного подключа между пользователями сети способ формирования ключа шифрования-дешифрования, патент № 2277759 и для передачи сообщения формируют случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 , формируют шифрключ способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора общего секретного подключа К, закладывают его в шифрующее устройство, формирующее псевдослучайную последовательность символов максимальной длины 2n-1 для шифрования сообщения, формируют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора обратного элемента общего секретного подключа между пользователями К0 сети и передают его по каналу связи вместе с зашифрованным сообщением, а при приеме сообщения пользователи сети формируют случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов принимаемого двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора обратного элемента общего секретного подключа между пользователями сети K0, а затем формируют шифрключ способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю два битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора общего секретного подключа К и закладывают его в шифрующее устройство для дешифрования сообщения.

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

Случайный двоичный вектор может быть сформирован, например, путем использования генератора случайных чисел в комбинации с показаниями таймера. В этом случае исключается возможность определения секретных ключей, а также общих секретных подключей пользователей сети даже при использовании метода криптоанализа с известным открытым текстом. Несмотря на то, что в каком-то сеансе связи будет определено начальное состояние регистра сдвига, но для определения секретных подключей К и требуется знание случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 , который выбирается для каждого сеанса связи случайным образом. Поскольку статистические методы криптоанализа в этом случае неприменимы, то секретные подключи К1, К 2 могут быть вскрыты только путем тотального перебора всего множества ключей. В соответствии с Российским стандартом ГОСТ 28147-89 для регистра сдвига, имеющего 256 ячеек памяти, мощность множества ключей будет составлять 1077. Если вскрытие ключа будет осуществляться с помощью ЭВМ, имеющей тактовую частоту 100 ГГц, то число операций, выполняемое этой ЭВМ в течение года, будет составлять 3·1020, а время вскрытия ключа составит 3·1056 лет.

Знание криптоаналитиком открытых ключей, а также чисел а и р, передаваемых по незащищенным каналам связи, не позволяет также отыскать значения секретных ключей xA1,xA2, ..., xB1, x B2 и общих секретных подключей пользователей сети К 1 и К2, т.к. процедура их нахождения сводится к вычислению дискретного логарифма произвольного элемента конечного поля Fp, имеющего общее число элементов 1077 . Поэтому решение этой задачи находится за пределами технологических возможностей современных ЭВМ.

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

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

Возможность технической реализации предлагаемого способа поясняется следующим образом. В центре распределения ключей выбираются два числа а и р, которые доводятся до всех пользователей сети путем генерирования двоичных векторов и передачи их по незащищенным каналам связи. Число а может быть выбрано в пределах 1<а<2 n, что не составляет больших проблем, а число р должно быть выбрано простым. Это число может быть выбрано из простых чисел Мерсенна типа 2k-1, где k - простое число. Например, стандарт США DES предусматривает использование регистра сдвига, имеющего 127 ячеек памяти (длина ключа 127 бит). В этом случае в качестве простого числа может использоваться число Мерсенна р=2127-1. Для Российского стандарта ГОСТ 28147-89 можно использовать число р=2257-1.

Для формирования пользователями сети открытых ключей yА, ..., y B, а также общих секретных подключей К и обратных элементов общих секретных подключей К0 может быть использован алгоритм быстрого возведения числа в степень в конечном поле Fp (см. [4] стр.39) и для р=2257-1 на современных ЭВМ ключи могут быть сформированы в несколько минут. Для формирования случайного двоичного вектора могут быть использованы алгоритмы, представленные в [5]. Остальные процедуры формирования ключа шифрования-дешифрования реализуются известными способами и не вызывают сомнения.

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

блок 1 - устройство ввода- вывода;

блок 2 - устройство для формирования открытых ключей;

блок 3 - устройство формирования секретных подключей для связи с выбранным пользователем сети;

блок 4 - устройство формирования случайного двоичного вектора;

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

блок 6 - устройство формирования сеансового ключа дешифрования.

Для простоты описания работы устройства будем пользоваться малыми числами. Будем считать, что пользователи сети используют регистры сдвига, имеющие 5 ячеек памяти (длина ключа 5 бит, n=5). Тогда в центре распределения ключей определяют два числа а=2 и р=25-1= 31 и генерируют двоичные векторы этих чисел

а=00010=2

р=11111=31

и по незащищенному каналу связи передают их всем пользователям сети.

Принятые двоичные векторы чисел а и р пользователи сети фиксируют в блоке 1 и подают их в блок 2. В блоке 2 пользователи сети генерируют секретные ключи (например, пользователь А генерирует секретные ключи xА=00011=3, а пользователь В генерирует секретные ключи xB=00010=2), фиксируют их и формируют открытые ключи (например, пользователь А формирует открытый ключ)

YАспособ формирования ключа шифрования-дешифрования, патент № 2277759 23(mod 31)=01000=8,

(а пользователь В формирует открытые ключи)

yBспособ формирования ключа шифрования-дешифрования, патент № 2277759 22(mod 31)=00100=4.

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

Если пользователь А хочет послать зашифрованное сообщение пользователю В, он поступает следующим образом.

В блоке 3 пользователь формирует секретные подключи между пользователями А и В, используя при этом открытый ключ пользователя В (уB), который поступает из блока 1, и свой секретный ключ (xA), поступающий из блока 2, а также формирует двоичный вектор обратного элемента общего секретного подключа между пользователями сети K0

KABспособ формирования ключа шифрования-дешифрования, патент № 2277759 способ формирования ключа шифрования-дешифрования, патент № 2277759 (mod р)способ формирования ключа шифрования-дешифрования, патент № 2277759 43(mod 31)=00010=2

К0способ формирования ключа шифрования-дешифрования, патент № 2277759 способ формирования ключа шифрования-дешифрования, патент № 2277759 (mod р)способ формирования ключа шифрования-дешифрования, патент № 2277759 229(mod 31)=10000=16

В блоке 4 пользователь А формирует случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 (например, путем использования генератора случайных чисел в комбинации с показаниями таймера получено число способ формирования ключа шифрования-дешифрования, патент № 2277759 =10101=21).

В блоке 5 пользователь А формирует двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю 2 битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора общего секретного подключа KAB, поступающего из блока 3

способ формирования ключа шифрования-дешифрования, патент № 2277759

а также формирует двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю 2 битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 с битами двоичного вектора общего секретного подключа KAB, поступающего из блока 3

способ формирования ключа шифрования-дешифрования, патент № 2277759

Двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 пользователь А закладывает в шифрующее устройство, вырабатывающее с помощью регистра сдвига псевдослучайную последовательность символов, и передает двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 и зашифрованный текст пользователю В.

Получив двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 и зашифрованный текст от пользователя А, пользователь В поступает следующим образом.

В блоке 3 пользователь В формирует общий секретный подключ между пользователями В и А, используя при этом открытый ключ пользователя А (уA ), поступающий из блока 1, и свой секретный ключ (xB ), поступающий из блока 2, а также формирует двоичный вектор обратного элемента общего секретного подключа между пользователями сети K0.

В блоке 6 пользователь В формирует случайный двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю 2 принятых битов двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 , поступающего из блока 1, с битами двоичного вектора обратного элемента общего секретного подключа К0, поступающего из блока 3

способ формирования ключа шифрования-дешифрования, патент № 2277759

а в блоке 5 формируют двоичный вектор способ формирования ключа шифрования-дешифрования, патент № 2277759 путем сложения по модулю 2 битов случайного двоичного вектора способ формирования ключа шифрования-дешифрования, патент № 2277759 , поступающего из блока 6, с битами двоичного вектора общего секретного подключа КBA, поступающего из блока 3

способ формирования ключа шифрования-дешифрования, патент № 2277759

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

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

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

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

3. В.И.Нечаев. Элементы криптографии. Основы теории защиты информации, М.: Высшая школа, 1999 г.

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

5. ГОСТ Р 34.11-94. "Информационная технология. Криптографическая защита информации. Функция хеширования".

Класс H04L9/14 с использованием нескольких ключей или алгоритмов

система и способ защиты беспроводной передачи -  патент 2524565 (27.07.2014)
способ и устройство для получения ключа безопасности в ретрансляционной системе -  патент 2523954 (27.07.2014)
способ организации и управления доступом к содержимому при иерархическом кодировании, процессор и блок передачи для осуществления способа -  патент 2518444 (10.06.2014)
устройство и способ управления цифровыми правами -  патент 2504005 (10.01.2014)
многофакторная защита контента -  патент 2501081 (10.12.2013)
способ, элемент сети и мобильная станция для согласования алгоритмов шифрования -  патент 2488976 (27.07.2013)
способ и устройство для передачи параметров шифрования -  патент 2469485 (10.12.2012)
блок, использующий операционную систему, и устройство формирования изображений, использующее ее -  патент 2452009 (27.05.2012)
способ формирования и проверки подлинности коллективной электронной цифровой подписи, заверяющей электронный документ -  патент 2450438 (10.05.2012)
система загрузки содержания и способ загрузки содержания, устройство источника содержания и способ источника содержания, устройство приема содержания и способ приема содержания, и программа -  патент 2432686 (27.10.2011)

Класс H04L9/16 меняющихся в процессе работы

Наверх