Код документа: RU2701128C1
Изобретение относится к области криптографии. Предлагается способ шифрования, обеспечивающий высокую криптозащиту двоичной информации.
Под высокой криптозащитой здесь понимается такое шифрование, при котором:
- единственным способом вскрытия двоичной информации является перебор всех возможных ключей шифрования;
- время полного перебора ключей шифрования превышает срок конфиденциальности зашифрованной информации.
Предлагаемый способ шифрования пригоден для текстовой, графической, речевой и других типов информации, представленных двоичными последовательностями.
Из уровня техники известны различные способы и устройства для шифрования информации, отраженные в патентных документах: RU 2642351 (С1), дата публикации 24.01.2018; KR 20160067992 (А), дата публикации 14.06.2016; GB 1518997 (А), дата публикации 26.07.1978; ЕР 0492325 (А2), дата публикации 01.07.1992; RU 2013802 (А), дата публикации 30.05.1994; SU 1265973 (А1), дата публикации 23.10.1986; US 2018011691 (А1), дата публикации 11.01.2018; ES 2644485 (Т3), дата публикации 29.11.2017; CN 107683502 (А), дата публикации 09.02.2018. Однако указанные технические решения не обеспечивают достаточной криптоустойчивости.
Аналогами предлагаемого способа шифрования являются решения, описанные в патентах RU 2091983, дата публикации 27.09.1997; RU 2032990, дата публикации 10.04.1995; RU 2119260, дата публикации 20.09.1998.
В устройстве по патенту №2091983 сделана попытка для каждой порции текста на основе единственного секретного ключа построить «индивидуальный» поточный шифр с учетом значения самой порции текста. Недостатком этого устройства является использование в его структуре весьма сложного устройства возведения
Известен способ шифрования Вернама [1], в котором двоичная последовательность, представляющая информационные элементы сообщения
где
Для расшифровки необходимо осуществить операцию:
Такой способ шифрования обеспечивает совершенную секретность шифра только в том случае, если ключ
- должен быть очень длинным (на все сообщение);
- применяться только один раз;
- состоять из списка случайных равномерно распределенных значений битов.
Удовлетворить этим требованиям на практике достаточно трудно.
Более близким к заявленному способу является техническое решение, приведенное в патенте №2119260, в котором предлагается модифицировать блочный шифр. Информацию блока из 48 бит предлагается разбить на участки, которые преобразуются под управлением случайного двоичного вектора. Затем к преобразованным участкам двоичного кода информации присоединяется псевдослучайный двоичный вектор. После этого выполняется преобразование блока данных под управлением ключа шифрования
Недостатками этого способа являются следующие положения.
1. Генерирование двоичных векторов предлагается выполнять по «случайному (или псевдослучайному) закону путем измерения вероятностного физического процесса или измерения сигнала датчика шума, в качестве которого во многих приложениях используются специально сконструированные электронные устройства». Такие устройства достаточно сложны и не всегда доступны.
2. Для предварительного преобразования кода текста формируется вспомогательный ключ
Достаточно близким аналогом является решение по патенту №2032990, в котором текст разбивается на группы, представляющие собой порции двоичной информации. «При зашифровывании очередной порции двоичной информации применяется новое
При расшифровке информации надо также предварительно набрать задающую функциональное преобразование таблицу. Для этого нужно знать использованные при зашифровывании для набора таблицы ключ и начальное состояние.
Недостатком этого способа также является то, что для формирования таблицы необходимо формировать псевдослучайную двоичную последовательность достаточной длины. Причем при шифровании и расшифровке текста необходимо знать способ формирования таблицы.
Решения, описанные в патентах №2119260 и №2032990, имеют еще тот недостаток, что знание хотя бы одного текста дает возможность хакеру вычислить ключ шифрования и, тем самым, вскрыть все последующие и предыдущие тексты (недостаточная криптозащита).
Техническим результатом заявленного способа является повышение криптозащиты информации.
Для достижения указанного результата предлагается способ шифрования, при котором двоичное представление текста разбивается на сообщения, каждое сообщение представляется двумя криптограммами, одна из которых получена с помощью зашифрованной одним из двух ключей произвольно выбранной из полного кода последовательности, являющейся таблицей замены символов для этого сообщения, а другая криптограмма представляет собой зашифрованную вторым ключом таблицу замены символов для этого сообщения.
В предлагаемом способе шифрования текст разбивается на сообщения C1, С2, …Ck одинаковой длины. Это позволяет шифровать сообщения ключами одной длины.
Набор символов каждого сообщения С (каждой двоичной последовательности ДПС) искажается (шифруется) с помощью произвольного набора символов (с помощью произвольной двоичной последовательности ДПТ), сформированного для этого сообщения. Последовательность ДПТ шифруется ключом шифрования ДПК. Шифр сообщения С представляется двумя криптограммами: искаженной последовательностью ДПС (искаженным сообщением С) и зашифрованной последовательностью ДПТ. При этом используется одно и то же преобразование последовательностей ДПС и ДПТ.
Это реализуется с помощью модифицированного шифра простой замены и модифицированного шифрования, предложенного в патенте RU 2598784, дата публикации 27.09.2016.
В шифре простой замены используется таблица замены символов алфавита. Это приводит к тому, что символы зашифрованного текста имеют ту же статистику, что и исходный текст, но для других символов, т.е. если в исходном сообщении частота встречи какого-либо символа равна f, то в шифрограмме с такой же частотой будет встречаться соответствующий ей символ.
Модификация шифра простой замены заключается в том, что, вместо таблицы замены символов алфавита, предлагается использовать таблицу замены символов сообщения, т.е. для каждого сообщения Cj используется своя таблица замены символов сообщения.
Если таблицу замены символов сообщения выбирать произвольно, то набор символов сообщения Cj будет заменен на произвольный набор символов алфавита (в зашифрованном тексте могут появиться символы, которых не было в сообщении Cj). Вскрыть таким образом зашифрованное сообщение можно будет только методом перебора всех таблиц замены символов сообщения.
Реализация модифицированного шифра простой замены основывается на способе шифрования, предложенном в патенте №2598784, в котором для шифрования информации, представленной двоичными последовательностями, используется преобразование:
где ФУj - функции Уолша, используемые как сообщения, ДПk - ключ шифрования, ДПjk - криптограмма сообщения ФУj.
Показано, что если функции Уолша рассматривать как алфавит равновероятных символов, из которых формируются независимые сообщения, то в соответствии с [2] криптограммы ДПjk будут строго идеальными (совершенно секретными) шифрами.
Модификация этого способа шифрования состоит в том, что вместо преобразования (1) предлагается использовать обобщенное преобразование:
где ДПС - сообщения из
Если последовательности полного кода рассматривать как алфавит равновероятных символов, из которых формируются независимые сообщения, то преобразование (2), как и преобразование (1), формирует совершенно секретные криптограммы ДПКр.
В (2) последовательность ДПk можно рассматривать как таблицу замены символов сообщения ДПС. Сформируем для каждого сообщения Cj свою таблицу замены символов сообщения ДПCj. В этом случае (2) можно записать как:
В качестве последовательностей
Для расшифровки сообщения ДПCj необходимо знать последовательность
Поясним работу предлагаемого способа шифрования на примере русского алфавита, состоящего из 32 символов (из 31 буквы алфавита и символа «пробел»). Каждый символ представляется двоичным кодом из 5 битов.
Пусть в сеансе j надо передать текст, состоящий из 116 символов. Заменяя символы их кодами, получим последовательность из 580 битов. Эта двоичная последовательность разбивается на сообщения C1, С2, С3, С4, С5 по 120 битов каждая. Сообщение С5 дополняется до 120 бит случайно выбранными значениями «0» или «1». Полученные последовательности обозначим как
Количество бит в сообщении определяет длину ключей шифрования. Чем больше длина сообщений, тем больше множество возможных ключей, тем больше время перебора.
Шифрование передаваемой двоичной информации осуществляется двумя 120-и битными ключами
Шифрование текста в j-ом сеансе
Из полного кода случайным образом выбирается количество последовательностей на две единицы больше, чем количество сообщений шифруемого текста (способ и техническая реализация такого выбора последовательностей будет показана в разделе «Криптоанализ предлагаемого способа шифрования»). В нашем примере это будут семь последовательностей
Шифрование последовательности
1. Шифруется таблица замены
Необходимость шифрования таблицы замены символов сообщения С1 будет обоснована в разделе «Криптоанализ предлагаемого способа шифрования».
2. Ключом шифрования
Символы сообщения С1 шифруются с помощью последовательности
Последовательность
Таким образом, для конфиденциальной передачи сообщения С1, необходимо передать две криптограммы:
Шифрование последовательности
1. Шифруется таблица замены
2. Ключом шифрования
3. Символы сообщения С2 шифруются с помощью зашифрованной таблицы замены
Таким образом, для конфиденциальной передачи сообщения С2, необходимо передать две криптограммы:
Аналогично шифруются сообщения С3, С4 и С5. В результате получаются: для сообщения С3 - криптограммы
Формирование новых ключей шифрования для сеанса (j+1).
1. Последовательности
Таким образом, криптограммы последовательностей
Расшифровка текста в i-ом сеансе
Расшифровка сообщения С1.
1. С помощью криптограммы
2. С помощью ключа
3. С помощью криптограммы
Расшифровка сообщения С2.
1. С помощью криптограммы
2. С помощью ключа
3. С помощью криптограммы
Аналогичным образом расшифровываются сообщения С3, С4, С5.
Вычисляются последовательности
Объединением последовательностей С1, С2, С3, С4, С5 формируется двоичная последовательность из 600 символов, которая при разбиении на группы по 5 бит даст исходный текст.
Последовательности
Криптоанализ предлагаемого способа шифрования
1. Последовательности полного кода рассматриваются как равновероятные символы алфавита. Из полного кода случайно и независимо выбираются последовательности (символы)
В соответствии с [2] криптограммы
Это можно обосновать еще и следующим образом.
Выполним преобразование:
для всех последовательностей полного кода:
где m=2n.
Преобразуем (3) в вид:
Из (4) видно, что произвольная последовательность ДПК может быть сформирована
В нашем примере каждая из криптограмм
2. Криптограммы
Последовательности (сообщения)
3. Необходимость двух ключей шифрования и шифрования таблиц замены символов.
Последовательности
Это тоже способ шифрования. Однако в этом случае существенно снижается безопасность шифра. Действительно, если хакер каким-то способом узнал (или ему удалось вскрыть) одно из сообщений, например, сообщение С1, то из второго уравнения он сможет вычислить последовательность
Введение второго ключа шифрования, с помощью которого шифруется таблица замены
Действительно, зашифрованное сообщение С1 представлено двумя криптограммами, полученными из уравнений:
Зная последовательности
В этом уравнении хакеру неизвестны ни последовательность
Таким образом, знание последовательности
Техническая реализация предлагаемого способа шифрования
В основе технической реализации предлагаемого способа шифрования лежат: способ реализации преобразования (2) и способ выбора случайным образом последовательности из полного кода.
1. Техническая реализация преобразования (2) представляет собой побитное умножение двух последовательностей в соответствии с некоторым правилом. Такая операция выполняется на компьютере просто и быстро. Она просто реализуется и в виде устройства.
2. Выбор случайным образом последовательности из полного кода можно реализовать, используя известные устройства и программы, описанные в [3], [4], [5] и в других источниках.
Один из способов, реализованных автором, состоит в следующем.
Берется
где а, с и
Коэффициенты а, с и
Рассмотрим конкретный пример формирования 120-битной маски.
Пусть а=13, с=7,
Выделим из полученной последовательности 120 первых псевдослучайных чисел. В таблице 2 эти числа представлены двоичными кодами.
Произвольным образом выбираются, например, пятые биты кодов всех псевдослучайных чисел. Получим последовательность:
Можно менять коэффициенты а, с и
Можно из одной и той же последовательности псевдослучайных чисел, выбирая разные номера бит или пары бит, получать большое разнообразие 120-и битных масок.
Все полученные последовательности будут принадлежать полному коду последовательностей длиной 120 бит.
Такой способ формирования последовательностей
Предлагаемый способ шифрования не требует псевдослучайности каких-либо последовательностей.
Литература
1. Основы современной криптографии и стенографии, Б.Я. Рябко, А.Н. Фионов, 2-е изд. - М.: Горячая линия-Телеком, 2013 г., стр. 124.
2. Теория связи в секретных системах, К. Шеннон, 1945 г., Раздел 18.
3. Формирование двоичных последовательностей Гордона-Миллса-Велча, Журнал: «Наукоемкие технологии в космических исследованиях земли», Москва, ISSN: 2409-5419eISSN: 2412-1363.
4. Патент RU 2281603 на изобретение «Генератор случайной двоичной последовательности», 10.08.2006 г.
5. Формирование и свойства М-последовательностей, ГОУ ВПО «Уральский государственный технический университет», Екатеринбург, 2007 г.
Изобретение относится к области криптографии. Техническим результатом является повышение криптозащиты информации. В способе шифрования двоичное представление текста разбивается на сообщения, каждое сообщение представляется двумя криптограммами, одна из которых получена с помощью зашифрованной одним из двух ключей произвольно выбранной из полного кода последовательности, являющейся таблицей замены символов для этого сообщения, а другая криптограмма представляет собой зашифрованную вторым ключом таблицу замены символов для этого сообщения. 2 табл.