Сообщений 16    Оценка 0 [+0/-1]         Оценить  
Система Orphus

Матричный алгоритм шифрования

Автор: Саломатин Кирилл Сергеевич
Опубликовано: 24.04.2012
Исправлено: 10.12.2016
Версия текста: 1.1
Введение
Постановка задачи
Современные алгоритмы
Новый класс алгоритмов
Шифрование
Дешифрование
Особенности алгоритма
Вывод
Список литературы

Введение

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

Редакция.

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

Постановка задачи

Необходимо разработать алгоритм шифрования данных для системы определения движущихся объектов.

Современные алгоритмы

На данный момент самыми распространенными классами алгоритмов являются симметричные алгоритмы и асимметричные, т.е. системы с открытым ключом.

На рис.1-4 представлена схема работы симметричного алгоритма шифрования AES, который является государственным стандартом шифрования США с 2001года:


Рис.1 «Шаг 1»


Рис.2 «Шаг 2»


Рис.3 «Шаг 3»


Рис.4 «Шаг 4»

Еще одним из распространенных алгоритмов является асимметричный алгоритм, или система с открытым ключом.

Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x), что по известному x довольно просто найти значение f(x), тогда как определить x из f(x) невозможно. Поэтому криптография с открытым ключом использует односторонние функции с лазейкой. Лазейка — это некий секрет, который помогает расшифровать текст. То есть существует такой y, что зная f(x) и y, можно вычислить x. К примеру, если разобрать часы на множество составных частей, то очень сложно собрать вновь работающие часы. Но если есть инструкция по сборке (лазейка), то можно легко решить эту проблему.

Новый класс алгоритмов

В данной работе представлен новый класс алгоритмов. В отличие от описанных алгоритмов, в данном применяется новый подход к кодированию информации.

Шифрование

  1. Удалить повторяющиеся символы и сохранить количество повторений и номера позиций этих символов в тексте (эти данные составляют ключи.)
  2. Вычислить номер символа в таблице ASCII.
  3. ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов.
  4. Построить 3 матрицы, где одна матрица – номера символов текста, вторая состоит из количества повторений этих символов, а третья состоит из номеров позиций символов в тексте, где каждая срока соответствует одному символу.
  5. Перемножить первые 2 матрицы. После этого действия должна получиться квадратная матрица, т.к. при дешифровании необходимо будет найти обратную матрицу, которую необходимо будет умножить на матрицу повторений.
  6. Перемешать текст по правилу: первая позиция – номер позиции элемента, вторая позиция – символ из п.4, а на 3-м – количество повторений.
  7. Произвести гаммирование полученного текста.

Гаммирование – преобразование исходного (открытого) текста, при котором символы исходного текста складываются (по модулю, равному мощности алфавита) с символами псевдослучайной последовательности, вырабатываемой по определенному правилу. Гамма в криптографии – псевдослучайная числовая последовательность, вырабатываемая по определенному алгоритму и используемая для зашифровывания открытых данных и расшифровывания зашифрованных данных. Наложение гаммы происходит по формуле αi=βi+γi(mod n), где βi – исходный текст, γi – гамма, n – основание используемого алфавита, αi – результат.

Дешифрование

  1. Произвести гаммирование. Особенность гаммирования в том, что если произвести над шифротекстом повторное гаммирование, то получится исходный текст.
  2. Полученный текст необходимо разбить на 3 части по правилу, используемому при шифровании. Получится 3 матрицы – шифротекст, количество повторений и номера позиций.
  3. Необходимо найти обратную матрицу шифротекста и перемножить её с матрицей повторений.
  4. Теперь необходимо полученную матрицу перевести в символы и сопоставить с матрицей повторений и матрицей позиций. И в итоге получится исходный текст.

Особенности алгоритма

  1. Динамическое формирование ключей. Ключи формируются только для конкретного момента и данных и для других данных они не подходит.
  2. Изменение одного символа в исходном тексте приводит к полному изменению зашифрованного текста.
  3. Данный алгоритм имеет составной ключ, состоящий из двух частей и для дешифрации необходимо наличие всех частей.
  4. Изменение одного символа в исходном тексте приводит к полному изменению зашифрованного текста.
  5. Исходный и финальный тексты не совместимы ни по чтению, ни по длине. Данное свойство не позволяет напрямую, простыми методами подобрать исходный текст.
  6. Отсутствие циклов в работе алгоритма.
  7. Использование данного алгоритма не позволяет подобрать ключи, отличные от реальных, такие, что позволяют получить исходный текст.

Вывод

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

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

Список литературы

  1. Вильям Столлингс «Криптография и защита сетей: принципы и практика. 2-е издание», изд. Вильямс, 2001г., 672 стр.
  2. Венбо Мао «Современная криптография: теория и практика», изд. Вильямс, 2005 г, 768 стр.
  3. А.В. Аграновский, Р.А.Хади "ПРАКТИЧЕСКАЯ КРИПТОГРАФИЯ: алгоритмы и их программирование", изд. СОЛОН-Р, 2002.


Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
    Сообщений 16    Оценка 0 [+0/-1]         Оценить