Тригонометрическая криптография

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

С. В. Ковалевская

Сапилкина Светлана Геннадьевна,

Учитель математики и геометрии

Методическая система «Тригонометрической криптографии» и шифр был разработан В. П. Сизовым. На данный момент существует два способа улучшения данного шифра, однако работ в этом направлении нет.

Уравнения волны у = cos(x + N·∆х) – пример одной из многих функций, имеющих постоянную амплитуду и непрерывных на всем промежутке x ∈ (—∞, +∞). Важным моментом является то, что если для у = cos(x + ∆х) параметр ∆х не равен – 2 π/N, где N – любое целое число, то период гаммирования данной конкретной функции бесконечен. Данную функцию можно рассмотреть с помощью нескольких алгоритмов, применение тригонометрической криптографии: алгоритм шифрования; алгоритм дешифровки.

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

По координатной оси Х расставляются компьютерные символы в любом порядке. Каждому символу соответствует свой порядковый номер от 1 до 256. Всего в компьютере используется 256 символов. По оси Y расставляем те же самые символы в любом (таком же или другом) порядке. Им также переводящая исходный текст в шифротекст:

Y = X + 256·(cos (Z + N·∆х)) mod 256,

где Х – порядковый номер того символа, который нужно зашифровать; Z, ∆х – любые числа, являющиеся секретными параметрами нашего ключа. Остальные параметры не являются секретными. Z, ∆х ∈ (—∞, +∞); N – номер по счету шифруемого символа в исходном тексте; 256 – мощность исходного алфавита. Мощность исходного алфавита может быть любой. (В нашем случае мощность равна 256, как количество символов в расширенной таблице ASCII.)

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

Тригонометрический шифр является примером симметричного алгоритма шифрования, следовательно:

X = Y – 256·(cos (Z + N·∆х)) mod 256.

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

В нашем примере мы выбрали косинус, имеющий период 2π. Тогда рассмотрим следующие выражения:

cos ((Z + 2 π) + N·∆х) = cos (Z + N·∆х); cos (Z + N·(∆х+ 2 π)) = cos (Z + N·∆х).

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

Этот факт снижает пространство поиска с R2 до прямоугольника:

0 < Z < 2 π, 0 <·∆х < 2 π.

Теоретически радиус такой окрестности должен находиться в пределах 1/(2N) для параметра Z и в пределах 1/(2Nm) для параметра ∆х. Для алфавита из N = 256 символов и текстов длиной m = 500 символов эти величины имеют порядок 10–4 и 10–6 соответственно.

Можно заметить, что чем больше длина текста, тем меньший требуется радиус окрестности для корректной его дешифровки.

Если мы посмотрим экспериментально, то увидим, что начальный фрагмент текста уже является читабельным в окрестности 10–4 истинного решения. В окрестности 10–5 в тексте уже легко прослеживается смысл (200-символьные тексты расшифровываются полностью), а в окрестности 10–6 полностью расшифровываются даже 400- символьные тексты.

Построим равномерную сетку с шагом h = 10 –5. Решениями будут служить точки в узлах сетки. Для их представления потребуется хранить 5 разрядов после запятой по каждой координате. Нетрудно посчитать, что количество элементов в пространстве решений составит (2π·10 5)2 ≈ 4·1011.

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

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

1) использование функции с большим периодом, так как период влияет на количество переборов вариантов ключа с нужной точностью (если период функции kπ, то количество вариантов ключа пропорционально k2. Например: функция с периодом 8π будет иметь в 16 раз больше вариантов ключа, чем обычная функция у = cos (x + ∆х). Однако недостаточно просто получить функцию с большим периодом – важное значение имеют «биения» функции. Математическая задача состоит в том, чтобы функции имели как можно более широкий разброс в спектре частот, содержащихся в функции;

2) введение третьего параметра ключа. Данное улучшение позволит перейти от плоскости, на осях которой расположены параметры ключа, к объему. Теперь для того, чтобы найти тройку параметров с точностью 10–5, потребуется уже не 1010, а 1015 переборов. Учитывая, что и период функции будет возводиться в третью, а не во вторую степень, можем предполагать, что данное улучшение позволит тригонометрическому алгоритму быть неуязвимым.

Загрузка...