Научная статья на тему 'Эволюционные методы кодирования данных, пример работы алгоритмов кодирования и декодирования'

Эволюционные методы кодирования данных, пример работы алгоритмов кодирования и декодирования Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
314
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СКРЕЩИВАНИЕ / ГЕН / ПОКОЛЕНИЕ / МУТАЦИЯ / РОДИТЕЛЬ / КОДИРОВАНИЕ / ДЕКОДИРОВАНИЕ / СЛОВО / КЛЮЧ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Корсунов Н. И., Титов А. И., Логачев К. И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Эволюционные методы кодирования данных, пример работы алгоритмов кодирования и декодирования»

УДК 004.056.55

ЭВОЛЮЦИОННЫЕ МЕТОДЫ КОДИРОВАНИЯ ДАННЫХ, ПРИМЕР РАБОТЫ АЛГОРИТМОВ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ

Н.И. КОРСУНОВ1,А.И. ТИТОВ1 К.И.ЛОГАЧЕВ2

1> Белгородский государственный национальный исследовательский университет

Белгородский государственный технологический университет им. В.Г. Шухова

e-mail: titov@programist.ru e-mail: korsunov@intbel.ru

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

Ключевые слова: скрещивание, ген, поколение, мутация, родитель, кодирование, декодирование, слово, ключ.

г» ° *-»

В данной статье для повышения криптостойкости кода предлагается использовать эволюционный подход, при котором шифр-код формируется в результате эволюционного отбора на заданном шаге селекции.

Алгоритм кодирования и декодирования рассмотрим на частном случае где четко заданно поколение на котором производится селекция, и не введена мутация генов. Реализация этого алгоритма подобна реализации алгоритма ГОСТ 28147-89 [1]. Что говорит о возможности описания всех существующих алгоритмов скрытного кодирования, как частные случаи эволюционного метода кодирования данных.

Здесь в качестве функции Хх=^Хо,у) может быть выбрана функция сложения по заданному модулю, как и в любой из известных систем скрытного кодирования данных[2].

Кодирование данных:

1) Смотрим в закрытый ключ первый и второй биты. В зависимости от значений закрепляем блоки данных «о» - закрепляем первый блок сова, «1»- закрепляем второй блок слова. Здесь первый бит информации отвечает за первое слово, второй бит за второе слово.

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

2) Делаем скрещивание С1XOR С2 записываем результат в Dl.

3) Смотрим в закрытый ключ третий бит, если:

«о» - берём С1 последний, С2 первый(записываемв D2);

«1» - берём С1 первый, С2 последний;

4) Если количество поколений не удовлетворяет критерию то повторить шаг 1-3, при этом ключ шифрования двигается дальше.

Наглядный пример работы алгоритма кодирования:

Ключ шифрования: 011100

Входные слова: первое слово(10001101)

второе слово(10110110)

Количество поколений для достижения стойкости: 2

С

Сі

Б,

Б,

1000 1101

1011 0110

А11 В21

1101 1000 С21 0101 1011

А12 22 2 А в/ в2\

1000 0011 Б21 1000 0101

0

1

1

Рис 1. Работа алгоритма кодирования данных эволюционными методами

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

Декодирование:

1) Смотрим на ключ с конца.

Если бит имеет значение «0» то Ві0 во второй блок слова Сі^), а В20 в первый блок слова С2(Хі);

Если бит имеет значение «і» то Ві0 в первый блок слова Сі(Уі), а В20 во второй блок слова С2(Х2);

2) В зависимости от значения считанного бита ключа на предыдущем шаге проводим восстановление предка по генотипу потомков.

Если «0» то Yl=(Аl0 XORXl); Х2КЛ20 XOR Y2)

Если «і» то Y2=(А20 XORX2); Хі=(Аі0 XORYl)

3) Смотрим следующие с хвоста два бита ключа, в зависимости от их значений меняем блоки местами:

Таблица 1

Скрещивание блоков слова___________________________

Значение бит ключа Запись блоков информации

00 Лі=^ Л2=Хі В^2 В2=Х2

0і Лі=^ Л2=Хі Ві=Х2 B2=Y2

і0 Лі=Хі Л2=^ В^2 В2=Х2

іі Лі=Хі Л2=^ Ві=Х2 B2=Y2

4) Если количество поколений не удовлетворяет критерию то повторить шаг 1-3, при этом ключ шифрования двигается дальше.

Наглядный пример работы алгоритма декодирования данных:

Ключ шифрования: 011100

Входные скрытые слова: первое слово(10000011)

второе слово(10000101)

Количество поколений для достижения стойкости: 2

С1

С11

А10 А20 В10 В20

1000 0011 1000 0101

У1° у2° „ X,0/

1101 1000 С20 0101 1011

0101 1101 1000 1011

Х11 Х21

1000 0110

„А12 А22^

1000 1101

Рис 2. Работа алгоритма декодирования данных эволюционными методами

Для программной реализации не целесообразно использовать слова по 8 бит, так как работа с блоками по 4 бита предполагает резервирование ещё 4 бит, не используемых в программе[з]. Программный код для ускорения работы алгоритма необходимо реализовывать под работу со словами 16 бит, и блоками 8 бит, суть алгоритма кодирования не меняется так как не зависит от величины входного слова.

Так как при шифровании и дешифровании данных выполняются линейные операции, то сохраняется быстродействие, присущее методу шифрования перестановкой. Защищенность системы от взлома определяется скрытыми параметрами: количеством поколений N перед селекцией, закрытым ключом, сформированным случайным образом. В этом случае значение N позволяет осуществлять скрытное кодирование для отдельных абонентов.

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

0

Теоретически важным является также, то обстоятельство, что математические свойства сложных, на первый взгляд, новых систем эволюционного кодирования дан-ных[4], связанных с целой системой битовых преобразований, достаточно просто и эф- фективно определяются аналитически.

Работа выполнена при поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 годы, гос. контракт № 14.740.11.0390.

Список

литературы

1. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования. — М.: Госстандарт СССР, 1989.

2. Зубов А.Ю. Совершенные шифры. - М.: Гелиос АРВ 2003 160 с., ил.

3. Молдовян, А. А. Криптография: скоростные шифры / А. А. Молдовян, H. A. Молдовян, H. Д. Гуц, Б. В. Изотов. - СПб.: БХВ-Петербург, 2002. - 496 с.

4. Корсунов Н.И., Муромцев В.В., Титов А.И. Метод расширения ключа для шифрования информации // Научные ведомости БелГУ. Серия: История, Политология, Экономика, Информа- тика. - 2010. - №19.

EVOLUTIONARY METHODS OF CODING DATA, AN EXAMPLE OF ENCODINGAND DECODINGALGORITHMS

N.I. KORSUNOV1, A.I. TITOV1 K.I. LOGACHEV2

1> Belgorod National Research University

2) BelgorodShukhov

State Technological University

e-mail: korsunov@intbel.ru titov@programist.ru

The article examines the work of evolutionary algorithms encoding data by using the key. The evolutionary process of obtaining a concealed code data to prevent identification of correspondences between the open and hidden code, the methods of frequency analysis.

Key words: crossing, the gene, generation, mutation, arent, encoding, decoding, word key.

i Надоели баннеры? Вы всегда можете отключить рекламу.