способ шифрования текстов
Классы МПК: | H04L9/14 с использованием нескольких ключей или алгоритмов |
Автор(ы): | Новоселов Олег Николаевич (RU), Давыдов Вячеслав Федорович (RU), Карташов Александр Викторович (RU) |
Патентообладатель(и): | Московский государственный университет леса (RU) |
Приоритеты: |
подача заявки:
2005-10-24 публикация патента:
10.07.2007 |
Изобретение относится к электросвязи, в частности при передаче сообщений по электронной почте и сотовой телефонии. Сущность изобретения состоит в использовании аналитической функции с равновероятными значениями на некотором интервале, генерации хаотической цифровой последовательности символов аналитической функции и создание на ее основе шифровального поля, каждый символ которого представляется цифровой группой из нескольких цифр, при этом число цифр в группе определяют объемом передаваемого сообщения. Технический результат - повышение криптоустойчивости передаваемых сообщений. 6 ил.
Формула изобретения
Способ шифрования текстов путем замены символов алфавита сообщений цифровыми символами кода при многозначном закреплении символов кода за каждым символом алфавита сообщений при их неоднократном появлении в передаваемом тексте, отличающийся тем, что выбирают аналитическую функцию, значения которой равновероятны на некотором интервале, генерируют хаотическую цифровую последовательность знаков в виде дискретного ряда цифровых групп значений аналитической функции в этом интервале, формируют шифровальное поле из генерированного массива цифровых групп, закрепляя за каждым символом алфавита сообщений несколько цифровых групп, принадлежащих произвольному участку в интервале значений аналитической функции, а число цифр в группе генерируют исходя из объема алфавита сообщений.
Описание изобретения к патенту
Изобретение относится к электросвязи и может найти применение при передаче сообщений по электронной почте и сотовой телефонии.
Исторически засекречивание сообщений используют со времен Римской Империи. Наиболее известным из средних веков и поныне употребляемым является шифр аббата Трисемиуса [см., например, В.Жельников Криптография от папируса до компьютера. М.: изд. ABF, 1996, стр.62 - аналог].
В способе-аналоге буквы алфавита сообщений нумеруются по порядку числами 0...31, выбирается ключевое слово, которое подписывается под сообщением с повторениями, каждая буква сообщения сдвигается вдоль алфавита, под которой стоит буква ключевого слова и заменяется на букву с номером L=m+k, так что номер кодирующей буквы вычисляется по формуле L=(m+k)mod 31, а затем полученный цифровой текст заменяют буквами из алфавита сообщений.
Недостатками аналога являются:
- большая трудоемкость и неоперативность при шифровании - дешифровании;
- длина ключевого слова и его повторяемость накладывают статистическую закономерность на текст криптограммы, что используют как признак при несанкционированном дешифровании;
- недостаточная криптоустойчивость шифра - аналога при существующих методах электронного дешифрирования.
Существенным скачком в оперативности и снижении трудоемкости процесса шифрования стало применение шифровальных машин типа "Энигма" времен второй мировой войны. Основой использования шифровальных машин была разработка алгоритмов создания шифровального поля при многозначном закреплении за каждой буквой текста сообщений символов шифровального поля.
Ближайшим аналогом к заявленному способу является "Способ кодирования - декодирования". Патент RU №2.249.857, G09C 1/06, 2005 г.
Способ ближайшего аналога выполняется с помощью микроконтроллеров с двумя видами памяти: данных и программной. Для передачи каждого символа используют индивидуальные основной и резервный код исходя из числа повторений символа в передаваемом сообщении. При этом первая передача символа выполняется основным кодом, вторая передача этого же символа - резервным кодом, а затем задействуют синхронный сдвиг кодов на шаг по кругу по отношению к символам до завершения круга. После передачи смещенного резервного кода, замыкающего круг, выполняют синхронную смену вариантов кодов, а затем повторяют порядок смены кодов при повторении любого символа в передаваемом сообщении. Число требуемых вариантов кодов задано планируемым объемом информации, передаваемой по линии связи.
К недостаткам способа ближайшего аналога можно отнести:
- корреляционную зависимость символов закодированного сообщения при пошаговом сдвиге кодов;
- статистическая зависимость символов ключа (основного и резервного кодов) поскольку она связана со статистической зависимостью символов сообщения;
- маскируется лишь алгоритм использования основного и резервного кодов, в то время как отсутствуют меры по обеспечению криптоустойчивости самих ключей используемых кодов.
Задача, решаемая заявляемым способом, состоит в повышении криптоустойчивости передаваемых сообщений путем выбора в качестве ключа шифра аналитической функции с равновероятными значениями на некотором интервале и генерации хаотической цифровой последовательности знаков от этой функции для создания шифровального поля кодирующих символов.
Технический результат достигается тем, что в способе шифрования текстов путем замены символов алфавита сообщений цифровыми символами кода, при многозначном закреплении символов кода за каждым символом алфавита сообщений, при их неоднократном появлении в передаваемом тексте дополнительно выбирают аналитическую функцию с равновероятными значениями в некотором интервале, генерируют хаотическую цифровую последовательность в виде дискретного ряда цифровых групп значений аналитической функции в этом интервале, формируют шифровальное поле из генерированного массива цифровых групп, закрепляя за каждым символом алфавита сообщений несколько цифровых групп, принадлежащих произвольному участку в интервале значений аналитической функции, а число цифр в группе генерируют исходя из объема алфавита сообщений.
Изобретение поясняется чертежами, где
Фиг.1 - относительная частота букв русского языка в тексте;
Фиг.2 - плотность распределения вероятностей цифровых значений логистической функции;
Фиг.3а и б - фрагмент шифровального поля для символов сообщения;
Фиг.4 - относительная частота появления цифр в шифровальном поле:
а) при 3-х цифрах в группе; б) при 5-и цифрах в группе;
Фиг.5 - функциональная схема устройства, реализующая способ.
Техническая сущность способа состоит в следующем. Неодинаковая частота повторения букв русского языка в тексте (фиг.1), длина ключевого слова и его повторяемость в способе - аналоге, синхронный сдвиг основного и резервного кодов в ближайшем аналоге накладывают статистическую закономерность на появление символов шифровального поля. В результате, между символами зашифрованного текста существует корреляционная зависимость, что является основным демаскирующим признаком, снижающим криптостойкость. Для абсолютного исключения данного дешифровочного признака из передаваемой засекреченной информации необходимо, чтобы появление цифровых символов в шифровальном поле было равновероятным. Последнее достигается путем использования при формировании шифровального поля хаотических цифровых последовательностей, для которых характерно отсутствие корреляции между появляющимися символами.
Генерирование хаотической цифровой последовательности осуществляют из специально выбранной аналитической функции, значения которой равномерно распределены на ограниченном отрезке при задаваемых начальных условиях. Таким свойством обладает, например, решение логистического уравнения:
где k=0, 1, 2, ...;
а - начальное условие для функции [см., например, Кроновер P.M. «Фракталы и хаос в динамических системах. Основы теории», перев. с англ. под редакцией Т.Э.Кренкеля, М.: Постмаркет, 2000 г., 350 с., стр.159].
Плотность распределения вероятностей Улама-Неймана W(x) для последовательности, генерируемой от логистического уравнения при а=4, определяется выражением:
и иллюстрируется графиком фиг.2. Источник, см. например, Ulam S.M., von Neumann I. On combinations of stochastic and deterministuc processes. - Bull. Amer. Math. Soc, 1947. V.53, №11. Р.1120.
Программным вычислением значений выбранной функции создают шифровальное электронное поле (текст программы представлен в примере реализации). Если в генерированном шифровальном поле встречаются одинаковые блоки цифр, то либо изменением начальных условий, либо увеличением знаков мантиссы эти совпадения исключают. Каждому передаваемому символу ставится в соответствие цифровая группа из нескольких знаков. Первому появлению символа, соответствует первая цифровая группа из шифровального поля, второму появлению символа - вторая группа и т.д. Длину группы шифровального поля генерируют исходя из объема передаваемого сообщения, увеличением числа знаков мантиссы. В результате получают последовательность неповторяющихся и некоррелируемых цифровых значений шифровального поля. За каждым смысловым символом передаваемого сообщения закрепляют определенный интервал значений функции и соответствующий этому интервалу участок хаотической цифровой последовательности. Фрагмент шифровального поля из генерируемой хаотической последовательности логистической функции при числе знаков в шифровальной группе, равным 3, иллюстрируется Фиг.3.
Относительная частота появления kой цифры в представленном фрагменте иллюстрируется Фиг.4. При увеличении объема кодируемого текста и количества знаков в группе (мантиссе) распределение цифровых знаков стремится к равновероятному. На Фиг.4, то же распределение б) при числе знаков в группе больше >5.
Пример реализации способа.
Заявляемый способ может быть реализован по схеме Фиг.5. Функциональная схема устройства содержит блок памяти 1 для записи в него текста сообщения, генератор хаотической цифровой последовательности 2 в составе блока памяти 3, для размещения специализированной математической программы вычисления значений ключевой функции, ячейки 4 для записи ключевой функции и ее начальных условий, блок буферной памяти 5, для размещения генерированной хаотической цифровой последовательности, и последовательно подключенных формирователя шифровального поля 6, кодирующего устройства 7, линии передачи данных 8. Блок 3 (с размещенной в нем специализированной программой) связан с блоком 1 (текста сообщений), который подключен ко второму входу кодирующего устройства 7.
Все элементы функциональной схемы могут быть выполнены на микроконтроллерах, совместимых по выходным параметрам с микроконтроллерами IBM. При наличии достаточной памяти на винчестере современных ПЭВМ, функциональная схема может быть реализована на средствах персонального компьютера путем создания перечисленных выше файлов информации.
В примере реализации использован компьютер типа Intel Pentium 3 (с тактовой частотой 1700 МГц).
В качестве языка программирования выбран Delphi из-за удобного интерфейса среды программирования и мощного средства разработки - IDE (Integrated Development Environment - интегрированная среда разработки).
Использовано штатное программное обеспечение ПЭВМ - MATH CAD, Microsoft Excel, Microsoft Word.
В качестве ключевой функции примера реализации выбрана логистическая функция. Разработанная специализированная математическая программа перебирает все символы шифруемого текста и определяет количество повторов каждого символа. Затем создает шифровальное поле (таблицу кодов) с учетом числа повторений символа. Заменяет буквы на соответствующие цифровые значения и следит, чтобы не было повторов цифровых значений.
Текст специализированной программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
Фрагмент шифровального поля при 3 х и 5ти знаках в группе иллюстрируется фиг.3, 3б.
В соответствии с теорией [см., например, Брюс Шнайер, «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке СИ», перев. с англ. из-во Триумф, М.: 2003 г., 816 с., стр.30-31, 270-271] существует блокнот шифровального поля, при его одноразовом применении, который не может быть дешифрирован в принципе. Заявленный способ позволяет получать множество подобных блокнотов.
При неоднократном применении шифровального блокнота эффективность заявляемого способа шифрования можно оценить степенью коррелированности символов шифровального поля, вычислением значений корреляционной функции. По определению [см., например, Заездный А.М. "Основы расчетов по статистической радиотехнике", Связь изд., М., 1969 г., стр.91-96] значение автокорреляционной функции в нуле равно мощности процесса: сумме мощностей постоянной и переменной составляющей.
По физическому смыслу мощность переменной составляющей есть дисперсия процесса, которая в данном случае представляет собой демаскирующий признак, свидетельствующий о коррелированности символов шифровального поля. В частности, дисперсия процессов для графиков фиг.4, составляет a) D=0,00112, б) D=0,00043. Если дисперсия стремится к нулю, то криптостойкость неограничено возрастает. Криптостойкость заявляемого способа превосходит криптостойкость аналогов примерно на порядок.
Класс H04L9/14 с использованием нескольких ключей или алгоритмов