Научная статья на тему 'Асимметричный алгоритм шифрования с помощью генераторов псевдослучайных чисел'

Асимметричный алгоритм шифрования с помощью генераторов псевдослучайных чисел Текст научной статьи по специальности «Математика»

CC BY
391
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОТКРЫТЫЙ КЛЮЧ / АСИММЕТРИЧНОЕ КЛЮЧ ШИФРОВАНИЕ / ГЕНЕРАТОРЫ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ / ШИФРОВАНИЕ / ДЕШИФРОВАНИЕ

Аннотация научной статьи по математике, автор научной работы — Алхуссайн Амани Хасн

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

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

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

АСИММЕТРИЧНЫЙ АЛГОРИТМ ШИФРОВАНИЯ С ПОМОЩЬЮ ГЕНЕРАТОРОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ

© Алхуссайн Амани Xасн*

Российский университет дружбы народов, г. Москва

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

Предложенный алгоритм шифрования решает проблему обмена и распространения секретных ключей над сетями;

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

Ключевые слова: открытый ключ, асимметричное ключ шифрование, генераторы Псевдослучайных чисел, шифрование, дешифрование.

Введение

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

Асимметричные криптосистемы, называемые также криптосистемами с открытым ключом, являются эффективным средством криптографической защиты данных. В них для зашифрования данных используется один ключ, а для расшифрования - другой (отсюда и название - асимметричные). Первый ключ является открытым и может быть опубликован для использования всеми пользователями системы, которые зашифровывают данные. Расшифрование данных с помощью открытого ключа невозможно. Для расшифрования данных получатель зашифрованной информации использует второй ключ, который является закрытым (секретным). Разумеется, ключ расшифрования не может быть определен из ключа зашифрования [2, 3].

Аспирант кафедры Информационных технологий.

Технические науки

117

Обобщенная схема асимметричной криптосистемы с открытым ключом показана на рис. 1. В этой криптосистеме применяют два различных ключа: Кв - открытый ключ получателя В, используемый отправителем А; кв - секретный ключ получателя В [3].

Рис. 1. Обобщенная схема асимметричной криптосистемы с открытым ключом

Данной работе предлагается алгоритм асимметричного шифрования. Во-первых, это создает значений трех генераторов псевдослучайных чисел, которые являются генераторами Линейном Конгруэнтном, Фибоначчи и Блюм-Блюм-Шуб, и три новых внутренних последовательностей, которые будут получены из предыдущих последовательностей путем применения математических и логических операндов. Каждая из этих последовательностей играет различную роль в предложенном алгоритме шифрование.

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

Остальные части статьи организованы следующим образом: В разделе 1, рассматривается используемые генераторы псевдослучайных чисел; в разделе 2, рассматривается предлагаемый алгоритм шифрования; в разделе 3, экспериментальные результаты; в разделе 4 заключение.

1. Используемые генераторы псевдослучайных чисел

Алгоритм ГПСЧ призван создавать последовательность чисел, элементы которой практически независимы друг от друга и подчиняются заданному распределению (обычно равномерному).

Нами будут использованы следующие генераторы, известные из литературы.

1. Линейный конгруэнтной метод Генератор определяется рекуррентным соотношением: Xn+1 = (a Xn + c) mod m, где X- последовательность слу-

118

ФУНДАМЕНТАЛЬНЫЕ И ПРИКЛАДНЫЕ ИССЛЕДОВАНИЯ

чайных чисел, m - модуль, a - множитель, c - приращение, Х0 - начальное значение.

2. Метод Фибоначчи с запаздываниями.

Фибоначчи последовательности могут быть описаны на следующей итеративной формуле: Xn+1= (Xn+Xn_Д mod m где m модуль, Х0 начальное значение.

3. Метод Блюм-Блюм-Шуб.

Алгоритм BBS определяется формулой: Xn+1 = Xn2 mod m, где m значение модуля, X0 начальное значение.

Алгоритм требует только значений входных параметров линейного конгруэнтного метода, чтобы генерировать свою последовательность чисел. Однако эти значения будут также использоваться внутренне для создания обоих генераторов Фибоначчи и Блюма-Блюма-Шуб. (Потому что все эти генераторы содержат такая же модуль и такой же начальное значение).

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

I. ASCII последовательности: который является результатом добавления обеих линейный, и Фибоначчи Генераторы. это будет использоваться для генерации динамического представления для каждого символа и определяется по формуле:

[(a Xn + c) mod m + (Xn + Xn-1) mod m] mod m.

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

а) Преобразовать значения обоих генераторов линейного и Блюма-Блюма-Шуба в двоичные (16-бит) значений.

б) выполнять бит за битом логических операторов (и, или, xor) последовательно между двумя предыдущими значениями;

в) Возьмите мод m от предыдущего результата, и превратить его в десятичном представлении.

III. Последовательности шифрования: используется в процессе шифрования и создается с помощью следующих шагов:

а) Преобразовать значения обоих генераторов Фибоначчи и Блюма-Блюма-Шуба в двоичные (16-бит) значений.

б) выполнять бит за битом логических операторов (и, или, xor) последовательно между двумя предыдущими значениями;

в) Возьмите мод m от предыдущего результата, и превратить его в десятичном представлении.

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

Технические науки

119

Пример применения алгоритма с параметрами (начальное значение = 8, модуль = 500, множитель = 7, приращение = 6, размер = 100) показано на рис. 3.

Рис. 2. Схема ролей последовательностей чисел в предложенном алгоритме

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

120

ФУНДАМЕНТАЛЬНЫЕ И ПРИКЛАДНЫЕ ИССЛЕДОВАНИЯ

2. Предлагаемый алгоритм шифрования

2.1. Секретный ключ.

Секретный ключ состоит из пяти параметров, которые обеспечивают прочность в алгоритм и делает его трудным для криптоанализа злоумышленнику (это дает еще один уровень безопасности). Пять параметров секретного ключа являются:

Секретный Ключ= {Начальное значение, приращение, множитель, модуль, размер}

Начальное значение, модуль, множитель, и приращение: это параметры генератора линейного конгруэнтного, которые известны только отправителю и получателю; однако (Начальное значение, модуль) это будет также использоваться внутренне в криптосистеме для производства генератор Фибоначчи и Блюм-Блюм-Шуб.

Размер это буфер, в котором сохраняются случайные числа.

2.2. Открытый ключ.

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

Шаги сгенерировать открытый ключ, можно суммировать следующим образом:

1. Генерирует три случайных числа (Rn)10 в диапазоне 0-15, и превратить его в шестнадцатеричное значение (HEX (Rn)) 16.

2. Преобразовать каждый компонент закрытого ключа в шестнадцатеричное значение (HEX (PKn)) 16.

3. XOR между шестнадцатеричными представлениями обоих случайных чисел и частных ключевых компонентов: HEX (XORn)) 16 = = (HEX (Rn)) 16 0 (HEX (PKn)) 16.

4. Преобразование значений, полученные в шаге 3 в двоичное (12 бит) представление (HEX (XORn))2 и добавить бинарное(12 бит) представление случайного числа (HEX (Rn))2 в конце номера.

5. Кроссовер двух последовательных байта, полученных на шаге 4 в соответствии с серединой их размера т.е. 6 бита (здесь тип кроссовера является одной точкой пересечения);

6. Преобразование произведенных байтов в шаге 5 в шестнадцатеричные значения (HEX (CrossoverBytes))16.

7. открытый ключ = последовательность производимых шестнадцатеричных чисел в шаге 6.

Пример применения алгоритма открытого ключа:

Шаг 1: генерирует три случайных числа (Rn)10 в диапазоне 0-15:

Ri = (11)10= (B) 16; R2 = (4)10 = (4)16; R3= (14)10 = (E) 16;

Шаг 2: Преобразовать каждый компонент закрытого ключа в шестнадцатеричное значение:

Технические науки

121

начальное значение = (12)10 =(C) 16, модуль = (450)10 = (1C2)16, множитель = (4)10 = (4)16, приращение = (10)10= (A) 16, размер = (500)10= (1F4)16 Шаг3: XOR между шестнадцатеричными представлениями обоих случайных чисел и частных ключевых компонентов

(C) 16Ф (B4E) 1б = (B42) 16; (1C2) 16Ф (B4E) 16 = (A8C) 16; (4) 16Ф (B4E) 16 = (B4A) №-(A) 16Ф (B4E) 16 = (B44) 16; (1F4) 16Ф (B4E) и = (ABA) и;

Шаг 4: Преобразование значений, полученные в шаге 3 в двоичное (12 бит) представление и добавить бинарное(12 бит) представление случайного числа в конце номера.

(B42) 16 = (101101000010) 2; (A8C) 16 = (101010001100) 2;

(B4A) 16= (101101001010) 2; (B44) 16 = (101101000100) 2;

(ABA) 16 = (101010111010)2; (B4E) 16 = (101101001110)2

Шаг5: Кроссовер двух последовательных байта, полученных на шаге 4 в соот-

ветствии с серединой их размера, т.е. 6.

Шаг 6: Преобразование произведенных байтов в шаге 5 в шестнадцатеричные значения

(101101001100)2= (B4C) 16; (101010000010)2= (A82) 16;

(101101000100)2= (B44) 16;(101101001010)2= (B4A) 16;

(101010001110)2= (A8E) 16; (101101111010)2= (B7A) 16

Шаг 7: открытый ключ = последовательность производимых шестнадцатеричных чисел в шаге 6. Public key=B4C A82 B44 B4A A8E B7A

(Заметим: открытый ключ для того же секретного ключа не статичен, но это зависит от генерируемого случайного числа; это дает еще один уровень безопасности).

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

2.3. Шифрование Процесса.

Перед началом шифрования, существует шаг представления и подготовки и отправки открытого ключа к получателю (этот шаг делается только один раз), после этого набор символов с соответствующими значениями должен быть сгенерирован на основе добавления значения ASCII Код в ASCII последовательности чисел. Этот набор называется «таблица символов».

Учитывая, что каждый символ в таблице «таблица символов» должен быть уникально (несколько условий и ограничений должно быть реализованы внутри криптосистемы). Преимущество здесь в том, что значения ASCII

122

ФУНДАМЕНТАЛЬНЫЕ И ПРИКЛАДНЫЕ ИССЛЕДОВАНИЯ

не будут статичными, а будут варьироваться в зависимости от секретного ключа (это увеличат безопасности еще на один уровень).

Процесс шифрования состоит из следующих шагов:

1. Получить значение первого символа исходного текста от ASCII таблицы символов.

2. Конвертировать предыдущее значение в двоичное кодирование (8 бит).

3. Применить операцию XOR между полученным значением в шаге 1, и двоичным представлением (8 бит) шифрования последовательности чисел.

4. Вычислить мод 7 перекрестного последовательности чисел, чтобы получить десятичные значения от 0 до 6, которые образуют точки пересечения, Точки пересечения = мод (7, перекрестная последовательность).

5. Разделить каждое значение, полученное на шаге 3, на две части согласно Cross Point, и преобразование каждой части в шестнадцатеричное значение.

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

2.4. Дешифрование процесса:

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

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

3. Экспериментальные результаты

A. Обмен ключами.

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

- на стороне отправителя:

1. Введите секретный ключ, который будет использоваться в шифровании (как показано на рис. 4).

2. Нажмите кнопку «Exchange Public key».

Открытый ключ будет вычисляться на стороне отправителя (как показано на рис. 5), и посылать прямо на сторону приемника (показано на рис. 6);

- сторона Получатель:

После получения открытого ключа (показано на рис. 6), Получатель может вычислить секретный ключ из полученного открытого ключа при нажатии кнопки «retrieve private key», (как показано на рис. 7).

Технические науки

123

Рис. 4. Секретный ключ на стороне отправителя

Рис. 5. Расчет открытого ключа на стороне отправителя

Рис. 6. Получение открытого ключа на стороне получателя

124

ФУНДАМЕНТАЛЬНЫЕ И ПРИКЛАДНЫЕ ИССЛЕДОВАНИЯ

Рис. 7. Расчет секретного ключа из полученного открытого ключа на стороне получатели

B. Шифрование.

исходный текст: “amanie”

Если параметры секретного ключа являются:

initial value = 8, modulus = 500, multiplier = 7, increment = 6, size = 100 (как показано на рис. 8), динамическая «таблица символов», генерируемая, основана на секретном ключи показана на рис. 9. Зашифрованный текст = “0803 2800 1705 0700 0119 0F01” показан на рис. 10;

В процессе дешифрования мы получим исходный текст = “amanie” как показано на рис. 11;

Рис. 8. Мсходный текст и секретный ключ

Технические науки

125

Рис. 9. Генерируемая символов таблица

Рис. 10. Шифрованный текст

Рис. 11. Полученный открытый текст на стороне получатели

126

ФУНДАМЕНТАЛЬНЫЕ И ПРИКЛАДНЫЕ ИССЛЕДОВАНИЯ

4. Выводы

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

Работа была выполнена с использованием C #; и MATLAB 7.8.0 используется как моделирования платформы. Эго было проверено во всех букв английского, русского и арабского языка и успешно работает. При тестировании предлагаемого метода, прояснилось, что это удовлетворяет нашей цели.

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

1. Cryptography And Network Security Principles And Practice Fifth Edition William Stallings ISBN 13: 978-0-13-609704-4.

2. Cryptography and Data Security Edited by: Dorothy Elizabeth Rob, ling Denning PURDUE UNIVERSITY ISBN 0-201-10150-5.

3. Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах. - М., 2002.

МЕТОД КОНТРОЛЯ РАБОТОСПОСОБНОСТИ ФОТОЧУВСТВИТЕЛЬНОЙ ПЗС-МАТРИЦЫ ОПТИКО-ЭЛЕКТРОННОГО ПРЕОБРАЗОВАТЕЛЯ

© Ахполова Е.А.*

ОАО «РКЦ «ПРОГРЕСС», г. Самара

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

Ключевые слова приборы с зарядовой связью, оптико-электронный преобразователь, диагностика, контроль работоспособности.

Дистанционное зондирование Земли (ДЗЗ) представляет собой процесс, в результате которого собирается информация о территории, объекте или

Контрольный мастер.

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