Научная статья на тему 'Методика криптографии на основе случайно подобных процессов, генерируемых "отображением Пекаря"'

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

CC BY
76
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОГРАФИЯ / ДЕТЕРМИНИРОВАННО-ХАОТИЧЕСКИЙ ПРОЦЕСС / ПОСЛЕДОВАТЕЛЬНОСТЬ / ТАСОВКА / ИДЕНТИФИКАТОР СИМВОЛА МЕСТОПОЛОЖЕНИЯ / УПОРЯДОЧЕНИЕ / ДИСКРЕТНОЕ "ОТОБРАЖЕНИЕ ПЕКАРЯ". КОНСТРУКТИВ / ЗНАКОМЕСТО

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гордиенко В. В., Довгаль В. М.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гордиенко В. В., Довгаль В. М.

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

Текст научной работы на тему «Методика криптографии на основе случайно подобных процессов, генерируемых "отображением Пекаря"»

УДК 004.43 (031), 004.056.5

МЕТОДИКА КРИПТОГРАФИИ НА ОСНОВЕ СЛУЧАЙНО ПОДОБНЫХ ПРОЦЕССОВ, ГЕНЕРИРУЕМЫХ «ОТОБРАЖЕНИЕМ ПЕКАРЯ»

© 2019 В. В. Гордиенко1, В. М. Довгаль2

1 канд. техн. наук, доцент кафедры информационной безопасности

e-mail: vika.gordienko.1973@ mail.ru ,

2 доктор. техн. наук, профессор, профессор кафедры программного

обеспечения и администрирования информационных систем e-mail: [email protected]

Курский государственный университет

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

Ключевые слова: криптография, детерминированно-хаотический процесс, последовательность, тасовка, идентификатор символа местоположения, упорядочение, Дискретное «отображение Пекаря». конструктив, знакоместо.

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

Имеет место утверждение, согласно которому всякий случайно подобный процесс наследует хаотическую динамику [1]. На значениях, которые кодируют местоположения выбранного конструктива: бит, пара битов или тетрады (по 4 бита), это именуется в зарубежной литературе как хаотический детерминированный ряд чисел. Основу методики составляет предварительное упорядочение, например от большего к меньшему значению, имеющее все признаки хаотической динамики. Другими словами, всякое упорядочение наследует хаотическую динамику как странный аттрактор, причем всякий случайно подобный процесс, упорядоченный по местоположению конструктивов, сохраняет хаотическую динамику странного аттрактора, но уже на другом упорядочении. Указанный процесс вместе с тем кодирует местоположение конструктивов в исходном тексте и легко восстанавливается при возврате кодов значений хаотического ряда к исходному местоположению во всяком случайно подобном процессе.

В качестве базового отображения выберем «отбрани Перя » (из-за его сходства с замешиванием теста), то есть нелинейное отображение единичного квадрата на себя, которое демонстрирует хаотическое поведение.

Цель данной статьи заключается в создании методики криптографии на основе «отображения Пекаря».

Пусть заданы «отображения Пекаря» со своим стартовыми значениями и числом холостых шагов работы данного алгоритма, при котором не выполняется процедура упорядочения для увеличения показателя криптостойкости. x' = 2x mod 1 y' = 1/2(y + [2x]),

где [x] означает целую, а ( mod 1) - дробную часть х. Точки, полученные итерацией отображения, называются орбитой точки (xo, yo). Точки орбиты можно отождествлять с точками единичного квадрата.

Как уже отмечалось, данное отображение сохраняет хаотический порядок при упорядочении местоположения конструктивов вместо упорядочения хаотических значений отображения [2]. Покажем это на примере, взяв двадцать произвольных значений упорядоченных пар из хаотической последовательности «отображений Пекаря», поскольку оно является двухмерным и никакая пара в данной последовательности не повторяется. По методике криптографии поставим во взаимно однозначное соответствие каждой паре значение конструктива его местоположения в последовательности, так, например, выполним:

1. (0,756948729856; 0,583517106315 - К1

2. (0,513897459712; 1,291758553158 - К2

3. (0,027794919424; 1,145879276579 - К3

4. (0,055589838848; 0,57293963829) - К4

5. (0,111179677696; 0,286469819145 - К5

6. (0,222359355392; 0,143234909572 - К6

7. (0,444718710784; 0,071617454786 - К7

8. (0,889437421568; 0,535808727393 - К8

9. (0,778874843136; 1,267904363696 - К9

10. (0,557749686272; 1,633952181848 - К10

11. (0,115499372544; 1,316976090924 - К11

12. (0,230998745088; 0,658488045462 - К12

13. (0,461997490176; 0,329244022731 - К13

14. (0,923994980352; 0,664622011366 - К 14

15. (0,847989960704; 1,332311005683 - К15

16. (0,695979921408; 1,666155502842 - К16

17. (0,391959842816; 1,333077751421 - К17

18. (0,783919685632; 1,16653887571) - К18

19. (0,567839371264; 1,583269437855 - К19

20. (0,135678742528; 1,291634718928 - К20

Здесь К; ( 1 = 1, 2, ... 20) - код местоположения конструктива (в данном случае тетрада).

1. (0,923994980352; 0,664622011366) - К 14

2. (0,889437421568; 0,535808727393) - К8

3. (0,847989960704; 1,332311005683) - К15

4. (0,783919685632; 1,16653887571) - К18

5. (0,778874843136; 1,267904363696) - К9

6. (0,756948729856; 0,583517106315) - К1

7. (0,695979921408; 1,666155502842) - К16

8. (0,567839371264; 1,583269437855) - К19

9. (0,557749686272; 1,633952181848) - К10

10. (0,513897459712; 1,291758553158) - К2

11. (0,461997490176; 0,329244022731) - К13

12. (0,444718710784; 0,071617454786) - К7

Методика криптографии

Гордиенко В. В., Довгаль В. М. на основе случайно подобных процессов, генерируемых «отображением Пекаря»

13. (0,391959842816; 1,333077751421) - К17

14. (0,230998745088; 0,658488045462) - К12

15. (0,222359355392; 0,143234909572) - К6

16. (0,135678742528; 1,291634718928) - К20

17. (0,115499372544; 1,316976090924) - К11

18. (0,111179677696; 0,286469819145) - К5

19. (0,055589838848; 0,57293963829) - К4

20. (0,027794919424; 1,145879276579) - К3

Таким образом, завершен процесс шифрования с использованием «отображения Пекаря».

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

Методика криптографии состоит из метода выбора приемлемого странного аттрактора и включает в себя метод шифрования на основе «отображения Пекаря», а также метод расшифрования с применением того же отображения.

Рассмотрим пример расшифрования с использованием «отображения Пекаря». На основе исходных данных (х0, у0) х0 = 0,756948729856 у0= 0,583517106315,

которые взаимно однозначно соответствуют конструктиву К1; затем выполняем конкатенацию всей случайно подобной последовательности. В результате получим:

1. (0,923994980352; 0,664622011366) - К 14

2. (0,889437421568; 0,535808727393) - К8

3. (0,847989960704; 1,332311005683) - К15

4. (0,783919685632; 1,16653887571) - К18

5. (0,778874843136; 1,267904363696) - К9

6. (0,756948729856; 0,583517106315) - К1

7. (0,695979921408; 1,666155502842) - К16

8. (0,567839371264; 1,583269437855) - К19

9. (0,557749686272; 1,633952181848) - К10

10. (0,513897459712; 1,291758553158) - К2

11. (0,461997490176; 0,329244022731) - К13

12. (0,444718710784; 0,071617454786) - К7

13. (0,391959842816; 1,333077751421) - К17

14. (0,230998745088; 0,658488045462) - К12

15. (0,222359355392; 0,143234909572) - К6

16. (0,135678742528; 1,291634718928) - К20

17. (0,115499372544; 1,316976090924) - К11

18. (0,111179677696; 0,286469819145) - К5

19. (0,055589838848; 0,57293963829) - К4

20. (0,027794919424; 1,145879276579) - К3

В результате переноса позиции кодов местоположения тетрад К1, К2,...К20 получим исходную последовательность, то есть расшифрованный текст

1. (0,756948729856; 0,583517106315 - К1

2. (0,513897459712; 1,291758553158 - К2

3. (0,027794919424; 1,145879276579 - К3

4. (0,055589838848; 0,57293963829) - К4

5. (0,111179677696; 0,286469819145 - К5

6. (0,222359355392; 0,143234909572 - К6

7. (0,444718710784; 0,071617454786 - К7

8. (0,889437421568; 0,535808727393 - К8

9. (0,778874843136; 1,267904363696 - К9

10. (0,557749686272; 1,633952181848 - К10

11. (0,115499372544; 1,316976090924 - К11

12. (0,230998745088; 0,658488045462 - К12

13. (0,461997490176; 0,329244022731 - К13

14. (0,923994980352; 0,664622011366 - К 14

15. (0,847989960704; 1,332311005683 - К15

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

16. (0,695979921408; 1,666155502842 - К16

17. (0,391959842816; 1,333077751421 - К17

18. (0,783919685632; 1,16653887571) - К18

19. (0,567839371264; 1,583269437855 - К19

20. (0,135678742528; 1,291634718928 - К20

В итоге методика криптографии приведена в полном объеме и может быть повторена любым пользователем при сохранении криптостойкости.

Программа шифрования, построенная на основе «отображения Пекаря», будет иметь следующий вид:

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace BakerFunction {

class Program {

static void Main(string[] args) {

// Список вычисленных Х.

List<double> calcX = new List<double>(); // Список вычисленных У.

List<double> calcY = new List<double>(); Console.WriteLine("Введите количество значений: ");

var iterationNum = 0;

var numsCount = Convert.ToInt32(Console.ReadLine());

bool bad = true;

var rand = new Random();

Методика криптографии

Гордиенко В. В., Довгаль В. М. на основе случайно подобных процессов, генерируемых «отображением Пекаря»

var zeroX = 0.0; var zeroY = 0.0;

while (bad) {

rand.Next(0, 3), 12); rand.Next(0, 3), 12);

var xn = Math.Round(rand.NextDouble() +

var yn = Math.Round(rand.NextDouble() +

zeroX = xn; zeroY = yn; bad = false;

for (int i = 0; i < numsCount; i++) {

var tempX = Math.Round(2 * xn % 1, 12); var tempY = Math.Round(0.5 * (yn +

Math.Round(2 * xn, 0)), 12);

0 || != 0)

if (calcX.Where(x => x == tempX).Count() != calcY.Where(y => y == tempY).Count()

{

ConsoleColor.DarkRed;

Номер вычисленного числа: {i}" +

Console.ForegroundColor =

Console.WriteLine($"Обнаружен повтор.

$", итерация {iterationNum}");

Console.ResetColor();

iterationNum++; bad = true; break;

}

calcX.Add(tempX); calcY.Add(tempY); xn = tempX; yn = tempY;

}

Console.WriteLine($"Анализ функции Пекаря завершен. Не повторяется {numsCount} значений. \r\n" +

$"Начальные значения: х0 = {zeroX}; y0 =

{zeroY}");

using (var writer = new StreamWriter($"Функция Пекаря

для {numsCount} элементов_{DateTime.Now.ToString("yyyy-MM-dd")}.txt")) {

writer.Write($"Анализ функции Пекаря завершен {DateTime.Now}. Неповторяемых значений {numsCount}. " +

$"\r\nНачальные значения: x0 = {zeroX}; y0

= {zeroY}" +

}

$"\r\nЗначения в диапазоне с 30 по 70:");

for(int index = 30; index < 70; index++) {

writer.Write($"\r\n({calcX[index]};

{calcY[index]})");

}

}

Console.ReadLine();

Библиографический список

1. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. М.: СИНТЕГ, 2011. 176 с.

2. Бейсенби М.А., Тайлак В.Г. Исследование порождения детерминированного хаоса и криптографическая система защиты информации в компьютерных сетях // Труды университета. КарГТУ, 2009. №3. С. 72-75.

3. Герман О.Н., Нестеренко Ю.В. Теоретико-числовые методы в криптографии. М.: Академия, 2012. 272 с.

4. Гордиенко В.В., Довгаль В.М., Рыжкова Ю.Н. Методы криптографии и стеганографии на основе иррациональных последовательностей чисел // Auditorium. Электронный научный журнал Курского государственного университета. 2018. № 1 (17). URL: http://auditorium.kursksu.ru/pdf/017-013.pdf (дата обращения: 13.01.2019).

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