способ шифрования двоичной информации и устройство для его осуществления
Классы МПК: | H04L9/00 Устройство для секретной или скрытой связи G06F12/16 защита от потерь данных в памяти |
Патентообладатель(и): | Чижухин Геннадий Николаевич |
Приоритеты: |
подача заявки:
1993-02-09 публикация патента:
27.09.1997 |
Использование: в криптографии при построении устройств коммерческой закрытой связи, для обеспечения безопасности информации в компьютерных коммерческих системах связи. Сущность изобретения: способ шифрования двоичной информации заключается в том, что формируют N-битный секретный ключ, с помощью которого формируют поточный шифр, суммируемый по модулю два с информационным текстом, причем поточный шифр формируют в виде K групп по N бит в каждой, где KN - длина обрабатываемого текста, первую группу поточного шифра формируют путем возведения N-битного секретного ключа в степень n по модулю P и вторую группу поточного шифра формируют путем возведения N-битного кода первой группы поточного шифра в степень n по модулю P, где n - число бит младших разрядов секретного ключа, причем 1<n<<N<P-1, а каждую последующую i группу поточного шифра, где i = 3, 4,...K, формируют путем возведения N-битного кода i-1 группы поточного шифра в степень m по модулю P, где m - число бит младших разрядов i-2 группы поточного шифра, причем m = n , а перед суммированием по модулю два в каждой из K групп сформированного поточного шифра биты перемешивают по случайному закону и запоминают. Устройство для осуществления способа шифрования двоичной информации содержит блок 1 возведения в N степень по модулю P, регистр 2 показателя степени, регистр 3 секретного ключа, регистр 4 ключевой группы, блок 5 перемешивания бит последовательности, первый и второй сумматоры 6 и 7 по модулю два, ключ 8, блок 9 управления, последовательно-переменные регистры 101-104, элемент ИЛИ 11 и элемент И 121-123. 2 с. п. ф-лы, 1 ил.
Рисунок 1
Формула изобретения
1. Способ шифрования двоичной информации, заключающийся в том, что формируют N-битный секретный ключ, с помощью которого формируют поточный шифр, который суммируют по модулю два с информационным текстом, отличающийся тем, что поточный шифр формируют в виде K групп по N бит в каждой, где KN длина текста двоичной информации, первую группу поточного шифра формируют путем возведения N-битного секретного ключа в степень n по модулю P, вторую группу поточного шифра формируют путем возведения N-битного кода первой группы поточного шифра в степень n по модулю P, где n значение бит младших разрядов секретного ключа, причем 1 < n N < P 1, а каждую последующую i группу поточного шифра, где i 3, 4, K, формируют путем возведения N-битного кода (i 1)-группы поточного шифра в степень m по модулю P, где m значение бит младших разрядов (i 2)-группы поточного шифра, причем m n, а перед суммированием по модулю два в каждой из K групп сформированного поточного шифра биты перемешивают по случайному закону и запоминают. 2. Устройство для шифрования двоичной информации, содержащее первый сумматор по модулю два, регистр для хранения секретного ключа, блок возведения в n степень модулю P, отличающееся тем, что в него введены параллельно последовательный регистр ключевой группы, четыре последовательно параллельных регистра, регистр показателя степени, блок перемешивания бит последовательности, второй сумматор по модулю два, блок управления, ключ и элементы И и ИЛИ, причем выход блока возведения в n степень по модулю P соединен с соответствующими входами регистра для хранения секретного ключа и параллельно последовательного регистра ключевой группы, с входом основания степени блока возведения в n степень по модулю P, с выходами первого последовательно параллельного регистра и регистра для хранения секретного ключа, выходы n младших разрядов блока возведения в n степень по модулю P подключены к соответствующим входам регистра показателя степени, выходы разрядов которого соединены с входами n младших разрядов показателя степени блока возведения в n степень по модулю P, входы всех разрядов показателя степени которого соединены с выходами соответствующих разрядов второго последовательно параллельного регистра, выходы m старших разрядов блока возведения в n степень по модулю P, где m < n, соединены с первыми информационными входами блока перемешивания бит последовательности, входы модуля и обратной величины модуля блока возведения в n степень по модулю P соединены соответственно с соответствующими выходами третьего и четвертого последовательно параллельных регистров, причем информационные входы второго, третьего и четвертого последовательно параллельных регистров являются соответственно входами начальной установки значений показателя степени, модуля и обратной величины, модуля устройства, а информационный вход первого последовательно параллельного регистра соединен с выходом элемента ИЛИ, первый вход которого является входом начальной установки значения основания степени устройства, второй вход элемента ИЛИ соединен с выходом первого элемента И и входом сигнала о приеме шифрованного текста блока управления, выход второго элемента И соединен с первыми входами блока управления и второго сумматора по модулю два и с входом-выходом ключа и является входом открытого текста устройства, входы начальной установки первого, второго, третьего и четвертого последовательно параллельных регистров и блока возведения в n степень по модулю P соединены между собой и с соответствующим выходом блока управления, первые входы первого и второго элементов И соединены между собой и являются входом для приема закрытого текста устройства, вторые входы первого и второго элементов И соединены с соответствующими выходами блока управления, второй вход второго сумматора по модулю два соединен с выходом блока перемешивания бит последовательности и первым входом первого сумматора по модулю два, второй вход которого соединен с выходом ключа, с входом которого соединен выход второго сумматора по модулю два, а вход управления ключа соединен с соответствующим выходом блока управления и является выходом выработки сигнала разрешения приема открытого текста устройства, выход первого сумматора по модулю два соединен с выходом третьего элемента И и является выходом закрытого текста устройства, первый вход третьего элемента И соединен с выходом регистра ключевой группы и вторым информационным входом блока перемешивания бит последовательности, вход управления которого соединен с соответствующим выходом блока управления, другие выходы которого соединены соответственно с вторым входом третьего элемента И, входами приема сигналов начала возведения в степень и синхроимпульсов сопровождения блоков возведения в n степень по модулю P и входами управления регистров показателя степени секретного ключа и ключевой группы, выход сигнала конца возведения в степень блока возведения в n степень по модулю P соединен с соответствующим входом блока управления, другие входы которого являются соответственно входами определения режимов шифрации-дешифрации, выработки ключевой последовательности, открытого ключа, подачи задающей частоты и начальной установки устройства.Описание изобретения к патенту
Изобретение относится к криптографии и может использоваться при построении устройств коммерческой закрытой связи для обеспечения безопасности информации в компьютерных коммерческих сетях связи, а также для защиты информации в ЭВМ от несанкционированного доступа. Известны способы шифрования двоичной информации, которые построены на основе блочных шифров или аддитивных поточных шифров (ТИИЭР, т. 76, N 5, май 1988. Малый тематический выпуск. Защита информации). Недостатком этих способов является то, что в них используется только линейная сложность при создании поточных шифров и, как результат, не обеспечивается полная независимость от статистических свойств открытого текста, а, следовательно, криптостойкость системы не обеспечивает совершенной секретности. Наиболее близким к предлагаемому является способ получения двоичной ключевой последовательности (Диффи У. и Хеллмен М.Э. Защищенность и имтостойкость ТИИЗР, т. 67, N 3, март 1979), для которого в случае синхронной системы последовательные символы ключевого потока вырабатываются из исходного секретного ключа K какKi=AKAimod/P=AK+imodP, (1). где i неизвестное случайное число;
A, P соответственно основание и модуль степени, известны. Причем ключевой поток можно расширить, используя выражение (1), следующим образом:
Ki+j=KAjmodP=AK+iAjmodP=AK+i+jmod P, (2)
где j еще случайное число. Таких чисел j может быть много. Из выражения (2) видно, что элементы j-ой группы ключевой последовательности получаются с помощью операции умножения по модулю P предыдущей i-ой группы, т.е. AK+imodP, на j-ю степень исходного основания A, т.е. Ajmod P. Таким образом, ключевая последовательность является результатом преобразования нелинейной сложности исходного секретного ключа. Такую последовательность можно назвать двоичной мультипликативной ключевой последовательностью. Для ее формирования можно использовать то же самое устройство, которое осуществляет выработку парного ключа на обоих концах канала связи. Криптостойкость мультипликативного поточного шифра при наличии у криптоаналитика части открытого текста, хотя бы для одной i-ой группы шифра, определяется длиной самой i-ой группы и в случае, если она равна длине K, криптостойкость такого поточного шифра будет не хуже криптостойкости самого ключа K. При расширении ключевого потока здесь имеют место сложности, связанные с необходимостью формирования на каждом конце канала связи двух и более одинаковых случайных чисел (для получения следующей группы поточного шифра) и распространением их по каналу связи. Недостатком этого способа является сложность формирования на обоих концах канала связи одинаковых групп поточного шифра. Сущность предлагаемого способа шифрования двоичной информации заключается в том, что формируют N-битный секретный ключ, с помощью которого формируют поточный шифр, который суммируют по модулю два с информационным текстом, причем поточный шифр формируют в виде K групп по N бит в каждой, где KN - длина обрабатываемого текста, первую группу поточного шифра формируют путем возведения N-битного секретного ключа в степень n по модулю P и вторую группу поточного шифра формируют путем возведения N-битного кода первой группы поточного шифра в степень n модулю P, где n значение бит младших разрядов секретного ключа и 1<n<<N<P-1, а каждую последующую i группу поточного шифра, где i 3,4,K, формируют путем возведения N-битного кода (i-1) группы поточного шифра в степень m по модулю P, где m значение бит младших разрядов (i-2) группы поточного шифра и m n, а перед суммированием по модулю два в каждой из K групп сформированного поточного шифра биты перемешивают по случайному закону и запоминают. В предлагаемом способе шифрования в случае синхронной системы последовательные символы ключевого потока вырабатываются изначально из секретного ключа K. Например, первая группа K1 шифра получается как
K1=((K3))n-2modP, (3)
где (n-2) младшие (n-2) разряды ключа K, т.е. 2-й, 3-й, (n-1);
P известное значение модуля;
K, (n-2) имеют неизвестные значения. Расширение ключевого потока для K группы будет иметь вид
где (n-2)i-2 младшие (n-2) разряда группы K1-2, т.е. (2-й, 3-й, (n-1)-й)1-2;
Ki-1, Ki-2, (n-2)i-2, (n-2)i-3 имеют неизвестные значения и так далее. Результирующую ключевую последовательность, получаемую согласно (4), назовем экспоненциальной ключевой последовательностью. Совокупность существенных отличительных признаков позволяет решить задачу получения криптостойкого поточного шифра не за счет построения специального генератора ключевого потока, а за счет использования в качестве такого генератора той же самой операции возведения в степень по модулю, которая использована и для формирования открытого ключа. Криптостойкость каждой последующей ключевой группы в потоке оказывается выше предыдущей и, тем более, выше криптостойкости взятого за основу секретного ключа. Причем, если для способов шифрования, в которых формируют аддитивный поточный шифр, эта криптостойкость определяется рассеиванием и перемешиванием знаков в исходном секретном ключе, то для мультипликативного поточного шифра (когда известно основание и неизвестен показатель степени) криптостойкость зависит от вычислительной сложности нахождения дискретных алгоритмов. Причем, здесь криптоаналитические усилия возрастают экспоненциально относительно усилий, затрачиваемых на шифрование и дешифрование, и определяются количеством операций, требуемых для отыскания дискретного алгоритма, которое для наилучших из известных алгоритмов равно . Для предлагаемого способа шифрования на основе формирования экспоненциального поточного шифра вообще ничего нельзя сказать о самой возможности вычисления дискретных алгоритмов, так как здесь оказываются неизвестными как показатель степени, так и ее основание. Таким образом, здесь криптоаналитику необходимо прежде всего раскрыть сам исходный секретный ключ, получаемый или за счет открытого экспоненциального обмена по каналу связи, или за счет пересылки по закрытому каналу связи. В первом случае раскрытие основано на вычислении дискретных логарифмов и криптостойкость зависит от выбранной длины ключа (как и для мультипликативного поточного шифра, т.е. определяется ). Если же исходный секретный ключ получен по закрытому каналу (второй случай), т.е. имеет большую криптостойкость, то сформированный согласно предлагаемому способу экспоненциальный поточный шифр обеспечит совершенную секретность (близкую к схеме Вернама). Кроме того, способ шифрования обеспечивает не просто перебор значений вычетов в одном конечном поле, а для каждой группы поточного шифра дает одно значение вычета из нового конечного поля, так как для каждой новой группы имеет место новое основание степени A, длина которого может находиться в пределах 1<A<P-1, и новый показатель степени n, длина которого располагается конкретно в пределах 3<n<16
AnmodP, (5)
где 1<A, n<P-1 и P простое число. На вход 19 последовательно-параллельного регистра 104 поступает сигнал начальной установки устройства. Вход 20 устройства служит для подачи задающей частоты работы (F), вход 21 для управления выработкой открытого ключа, вход 22 для управления выработкой ключевой последовательности, вход 23 для разрешения режима шифрования (Ш) дешифрования (ДШ), причем режим Ш задается положительным, а режим ДШ отрицательным уровнем входного сигнала, вход 24 является входом/выходом открытого текста (ОТ), который может поступать в обоих направлениях (в зависимости от выбранного режима работы устройства Ш или ДШ), вход 25 служит для подачи сигнала "Дослать открытый текст". Имеют место три режима работы устройства: "Начальная загрузка", "Выработка открытого ключа" и "Выработка ключевой последовательности". В первом режиме осуществляется поочередное занесение исходных данных по соответствующим входам в блок 1 возведения в степень по модулю под управлением серии сигналов, поступающих с выхода блока 9 управления, через вход НУ УВСМ2 в его соответствующие регистры. Занесение происходит при поочередном подключении входов 16-18 устройства к источнику соответствующих входных сигналов. Для создания второго режима в блок 9 управления должна поступить информация на входы 20(F) и 21, под действием которых оно выработает сигнал на выходах 3 ("Старт" УВСМ 2) и 4 ("Sin" синхросерия). На каждом конце канала 13 связи блок 1 возведения начнет вычислять функции: AN1modP (на одном конце) и AN2modP (на другом), где N1 и N2 случайные числа, выработанные ГСЧ на каждом конце КС 13. После окончания вычисления по сигналу "Конец возведения в степень" происходит занесение результата форматом в n разрядов из выходного регистра блока 1 возведения в регистр КГ 4. Дальнейшее рассмотрение принципа работы криптосистемы будем проводить для конкретного значения N. Если считать, что N1 и N2 это разрядности соответствующих чисел и N1=N2=N, то количество занесений в регистр КГ 4 будет равно N/n. С выхода регистра КГ 4 через элемент И 12 (открываемый сигналом из блока 9 управления) на обоих концах канала 13 cвязи начинается осуществление последовательной посылки по одному разряду через передатчик 15 в канал 13 связи и затем прием из канала связи 13 через приемник 14 соответствующих значений вычисленных функций AN1modP и AN2modP. Одновременно в блоке 9 управления на первом выходе вырабатывается сигнал, который в устройстве на каждом конце канала 13 связи обеспечит запись этих функций через элемент И 12, элемент ИЛИ 11 и регистр 101 в блок 1 возведения. После завершения этой записи в блоке 9 управления на выходе снова вырабатывается сигнал "Старт", в результате блок 1 возведения на каждом конце канала 13 связи будет вырабатывать функцию, представляющую собой общий секретный ключ K (ключ парной связи). K=(AN1)N2modP=(AN2)N1modP. Далее этот ключ 3 заносится в регистр СК 3 и в блок возведения 1. Младшие n разрядов ключа K запишутся в регистр ПС 2, а любые, выбираемые проектировщиком криптосистемы, старшие K+10 разрядов запишутся в блок 5 перемешивания. Для создания третьего режима необходимо снять сигнал на входе 21 устройства и включить сигнал на входе 22, а также обеспечить поступление на вход 24 открытого текста (ОТ) по сигналу на выходе 26. По сигналу блок 9 управления вновь выработает сигналы на третьем и четвертом выходах и в результате блок 1 возведения начнет выполнять вычисление функции
K1=KK"modP,
где K" n младших разрядов ключа K. Вычисление K1 займет значительно меньше времени, чем вычисление K, а именно в N/n раз. По его завершению блок 9 управления с помощью сигнала КВС из блока 1 возведения будет управлять записью результата возведения в степень по модулю с регистра блока 1 возведения в регистр КГ 4. Кроме того, младшие n разрядов K (т.е. K") запишутся в регистр ПС 2. Вычисленная ключевая группа K2 представляет собой первую группу ключевой последовательности, биты в которой будут в дальнейшем перемешаны в блоке 5 перемешивания по случайному закону. Этот процесс происходит в конвейере, т. е. одновременно с вычислением в блоке 1 возведения второй ключевой группы K2, представляющим собой возведение основания K1 в показатель K"
K2 = KK1modP. Младшие n разрядов группы K2 (т.е. K"2) запишутся в первые схемы регистра ПС 2. Затем будут происходить процессы вычисления последующих ключевых групп
c одновременной записью K"3, K"4 K"5, попеременно в первые и вторые схемы регистра ПС 2. Переключение этих схем для записи происходит под действием управляющих сигналов из блока 9 управления. Вычислительные процессы (6) также будут идти в конвейере с перемешиванием бит этих групп в блоке 5 перемешивания. Получаемые с выхода блока 5 перемешивания ключевые последовательности поступают на первые входы сумматоров 6 и 7 по модулю два, на вторых входах которых присутствует открытый или шифрованный текст. Открытый текст, соответствующий режиму шифрования, проходит с входа сигнала открытого ключа через ключ 8. Шифрованный текст, соответствующий режиму дешифрования, поступает с выхода приемника 14 через элемент И 12, открываемый сигналом с блока 9 управления. Блок 9 управления получает на свои входы сигналы от блока 1 возведения в n степень по модулю P и с входов устройства, под действием которых этот блок вырабатывает команды и сигналы на своих выходах.
Класс H04L9/00 Устройство для секретной или скрытой связи
Класс G06F12/16 защита от потерь данных в памяти