ПРОГРЕСИВШ ШФОРМАЦШШ
ТЕХНОЛОГИ
ПРОГРЕССИВНЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
PROGRESSIVE INFORMATION TECHNOLOGIES
УДК 681. 3. + 681. 5. 007
Н. В. Алипов, Н. М. Кораблев, М. И. Хиль, М. В. Гусятин
СТРУКТУРА ЦИФРОВОГО АВТОМАТА С ПСЕВДОСЛУЧАЙНЫМИ ПЕРЕХОДАМИ ИЗ НАЧАЛЬНОГО СОСТОЯНИЯ В ОДНО И ТО ЖЕ
КОНЕЧНОЕ СОСТОЯНИЕ
В статье впервые описана структура цифрового автомата с псевдослучайными переходами для систем зашиты информации при ее передаче.
ВВЕДЕНИЕ
Известны цифровые автоматы Мура и Миля, основной особенностью которых является то, что каждое состояние автомата связано тем или иным образом с выходным сигналам. Однако из всего многообразия подобных автоматов можно выделить такие автоматы (автоматы Мура), у которых выходной сигнал зависит только от конечного состояния автомата.
Рассмотрим такие автоматы. Первый из них автомат поиска данных по ключу (предполагается, что записи упорядочены по возрастанию либо по его убыванию ключа).
В подобной ситуации поиск осуществляется по такому алгоритму: диапазон ключей, расположенных по возрастанию их значений, разбивают на две равные части, затем сравнивают значения искомого ключа, со
© Алипов Н. В., Кораблев Н. М., Хиль М. И., Гусятин М. В., 2006
значением ключа, расположенного на середине диапазона. При этом могут возникнуть такие исходы:
a) K < Кп, б) КИ > Кп,
где КИ - значение искомого ключа; Kn - значение ключа, расположенного на середине диапазона [Kmin, Kmax]; Km;„ - минимальное значение ключа; Кт„„. - макси-
min ' max
мальное значение ключа.
Для исходов а) и б) соответственно будут сформированы такие новые интервалы неопределенности.
Ts I т/ Ts I т Kmax Kmin r i Kè e \Kmin,Kmin + ]-=5-[ У<
тг I jr . -,Kmax Kminr ts-Kè e \ Kmin + ]-Ö-[> Km
В дальнейшем каждый из диапазонов уменьшаем снова в два раза и процесс продолжается тех пор, пока будет истинным такой предикат
Р{ки = Кп} .
Если предположить, что в процессе сравнения Ки и Кп действуют случайные возмушения, то результат поиска будет недостоверным, (автомат приходит в конечное состояние не соответствующее искомой записи). В таких ситуациях у автомата наблюдается псевдослучайные блуждания по внутреним его состояниям.
Другим примером подобных автоматов является устройство управления аналого-цифрового преобразователя (АЦП).
В таких автоматах основной операцией является сравнения:
* + 4( ^ )<
где х - значение аналогового сигнала; t) — случайное возмущение, накладываемое на х либо х]э; х/э -эталонное значение, вырабатываем устройством управления на /-м такте его работы. Не трудно заметить, что если t/) = 0, то случайное блуждание отсутствует. Если же t/0, то возникает неправильный переход автомата на /-м такте его работы, которое никакими известными методами никаким образом невозможно скорректировать.
Следующим примером подобных автоматов является устройство защиты информации, реализующее случайные подстановки. Случайные блуждания автомата поиска по ключу и устройства управления аналого-цифрового преобразования устраняется помехоустойчивыми специальными алгоритмами их функционирования [4].
Генерация псевдослучайных перестановок для символов открытого текста в настоящее время невозможна: не разработаны структуры ЦАПП и принципы формирования виртуальных последовательностей.
Целью исследований является разработка структуры ЦАПП и принципов формирования виртуальных последовательностей.
СТРУКТУРА ЦАПП
Генерация псевдослучайных подстановок для символов входного алфавита (х^ *2...хп) осуществляется следующем образом: первоначальный алфавит кодируют десятичными числами, принадлежащими множеству {1, 2, 3...Ы}; затем заменяют символы открытого текста их числовыми эквивалентами; потом организуют преобразование кода каждого символа открытого 1
текста х/ устройством, реализующим помехоустойчивое аналого-цифровое преобразование. Для организации блуждания этого устройства по внутренним состояниям в структуру устройства вводят блок, формирующий нерегулярную либо регулярную виртуальную последовательность, амплитуда которой на /-м такте рав-2
Затем на вход устройства, реализующего помехоустойчивый алгоритм аналого-цифрового преобразования подают аддитивную смесь
ыг = (х) + х]).
(1)
2
Поскольку х/ является псевдослучайной величиной, то Ыг изменяется от такта к такту работы устройства преобразования открытого текста в шифротекст и этим самым обеспечивается псевдослучайное блуждание устройства преобразования по его внутренним состояниям.
Алгоритм функционирования описанного устройства формирования для символов входного алфавита псевдослучайных подстановок синтезируется таким образом, чтобы из одного начального его состояния в одно и тоже конечное (каждое конечное состояние соответствует одному символу входного алфавита) существовало бы множество маршрутов; все маршруты были бы различной длинны; маршруты выбирались псевдослучайно.
Структура цифрового автомата с псевдослучайными переходами (ЦАПП) для системы защиты информации приведена на рисунке 1.
На рис. 1 использованы такие функциональные узлы: Е — двоичный сумматор; ЦК - цифровой компаратор; ЦА - цифровой автомат; ДВП - датчик виртуальной последовательности (организует псевдослучайное блуждание по внутренним состояниям ЦА); А, Ь, Н - параметры виртуальной последовательности (А — максимальная амплитуда случайного выброса; Ь - максимальная длительность выброса виртуальной последовательности; Н - минимальный интервал времени между двумя соседними выбросами виртуальной последовательности); х2 - двоичный код амплитуды выброса виртуальной последовательности на /-м такте работы
I
Р.
ЦК У! ЦА 1 к Пуск
Хэ1
ДВП
ТГ
на х/ .
Рисунок 1 — Структурная схема организации псевдослучайных переходов цифрового автомата
2
Х
1
структуры; X/ - двоичным код кодируемого символа; У/ - выходной двоичный сигнал ЦК и выходной двоичный сигнал ЦАПП; а) х■ - эталонный сигнал, вырабатывает ЦА на /-м шаге его работы.
Выразим параметры виртуальной последовательности через безмерные величины [1]:
а = Атах/5 ; I = ¿шах/А£ ; к = Яшш/А£,
где 5 - дискретность преобразования по уровню; № — длительность работы ЦАПП.
В работе [1] рассматриваются двуполярные, однопо-лярные импульсные последовательности вида А2 (а, I, к), А1 (а, I, к). Эти последовательности генерируются программно и схематически. В дальнейшем будем рассматривать только их программную реализацию.
В таблице 1 приведены возможные виды таких последовательностей.
Таблица 1
В таблице знак «+» означает, что соответствующий параметр является случайной величиной; знак «-» означает, что соответствующий параметр не является случайной величиной.
АЛГОРИТМ ФОРМИРОВАНИЯ
Как следует из структуры цифрового автомата с псевдослучайными переходами необходимо, чтобы проектируемое программное средство (ПС) реализовывало бы следующие функции:
— функцию ЕиШ формирования виртуальной последовательности ;
— функцию ЕиШ суммирования двоичного кода сим-
1 , -
волов входного текста X/ (г = 1, N"1; N1 — размерность массива входного текста (данных) ) и дво-
ичного кода амплитуды выброса виртуальной последо-2
вательности х/ ;
— функцию ЕиШ организации псевдослучайных переходов ЦА.
Наиболее сложными с точки зрения реализации являются функции ЕиШ и ЕиШ. Каждая из этих функций реализуется отдельным ПС. В дальнейшем условно будем их обозначать следующем образом:
— ПС1 - ПС, реализующее функцию ЕиШ;
— ПС2 - ПС, реализующее функции ЕиШ и ЕиШ.
Взаимодействие этих ПС можно организовать двумя
способами:
а) ЦАПП переходит в новое состояние по мере формирования новых значений амплитуды выброса виртуальной последовательности:
— вновь сформированное функцией ЕиШ значение амплитуды виртуальной последовательности передается функции ЕиШ;
— сформированное новое значение суммы (х^1 + х2) передается функции ЕиШ, которая формирует новое эта- ( 1 ^ 2)
лонное значение хэ/ и сравнивает его с суммой (X/ + X/).
б) первоначально ПС1 формируются значения амплитуд выбросов виртуальной последовательности (реализуется ЕиШ), которые записываются в массив
, затем передается управление ПС2, реализующего функции ЕиШ и ЕиШ.
Если при выполнении функции ЕиШ использованы все элементы массива ||МЖ.Р||№ то переходят к повторному выполнению функции ЕиШ, программным средством ПС1. В этом случае выполнение функций ЕиШ и ЕиШ задерживается до момента завершения процесса формирования массива \\MWPn. Затем передается управление ПС2, которое реализует функции ЕиШ и ЕиШ. Этот процесс продолжается до тех пор, пока не будет получен шифротекст для последнего символа открытого текста, записанного в массиве ^МШОN
Недостатком первого способа является то, что структура ПС1 должна включать и структуру ПС2. Эта особенность первого способа усложняет процесс взаимодействия ПС1 и ПС2. Этого недостатка лишен второй способ взаимодействия ПС1 и ПС2.
На рисунке 2 приведена структура программного комплекса реализующего взаимодействие ПС1 и ПС2 согласно способу б). Для описания схемы организации взаимодействия программных средств ПС1 и ПС2 использованы следующие массивы и переменные:
— - массив входного текста;
— - массив формируемых значений амплитуд выбросов виртуальной последовательности;
— \\МШК\\т - массив шифротекста, получаемого в результате замены символов входного текста их подстановками;
№ п/п Параметры Условное обозначение последовательности
а 1 к
1 + + + А1,1; А2,1
2 + + - А1, 2; А2, 2
3 + - + А1, 3; А2, 3
4 + - - А1, 4; А2, 4
5 - + + А1, 5; А2, 5
6 - + - А1, 6; А2, 6
7 - - + А1, 7; А2, 7
8 - - - А1, 8; А2, 8
С
3
||МЖО||ш, Ьь L2.H1.PP, Н2,АЬА2,К N1.N2.PR
11=1,12=1,14=1
Формирование 11-го значения амплитуды выброса виртуальной последовательности заполнение(массива ||М^РУ
Визуализация
HMWPHn1.P1
Выход
Формирование очередного значения суммы Х1[4+Х2п
1
Организация перехода ЦА в следующее состояние формирование автоматом эталонного значения Х3^2
<5
Т
МWK(I2)=0 2
12=12+1
1
Печать ||МWK||N2
Г
^ Конец ^
Рисунок 2 — Структурная схема взаимодействия ПС1 и ПС2
- 11 - индекс массива ;
- 12 - индекс массива; ЦМЖКЦ^;
- 13 - индекс массива; \\MWDni;
- (Ь1, Ь2) - минимальное и максимальное значения длительности вопроса виртуальной последовательности;
- (Н1, Н2) - минимальное и максимальное значения паузы - (интервал времени между двумя соседними выбросами);
- (А1, А2) - минимальное и максимальное и значения амплитуду выбросов (импульсов) виртуальной последовательности;
- Х3/2 - эталонные значение, сформированное ЦА на /2-м шаге его работы.
Введен флаг, для которого
Одним из важных элементов структуры ЦАПП является датчик виртуальных последовательностей. В дальнейшем мы остановимся на его организации.
При формировании виртуальной последовательности необходимо каким-то образом выбирать ее начало: пауза или выброс; первый или г-й временной квант времени паузы (выброса), г = 1, N.
Для достаточно продолжительной регулярной последовательности (Н1 = Н2; ¿1 = ¿2; А1 = А2) вероятность появления паузы определяется соотношением:
Р =
Н
Н
Н1 + ¿1 ТО'
РЕ =
[0, ПС реализует только ЕиШ;
[1, ПС реализует функции ЕШ1, ЕШ2, ЕШ3.
где ТО - период следования выбросов в последовательности (ТО = Н1 + ¿1).
В том случае, когда Н1 * Н2, ¿1 * ¿2 вероятности появления паузы (выброса) будем определять, используя следующие соотношения:
To = H +
H2 - H1
+(Ll + )■
P1 = V 1 To ■
где Hcp = Hi + ]
H2 - H1
[ -
ср 1 2
Если предположить, что распределение пауз в последовательности распределено по равномерному закону, то выбор начала последовательности будем осуществлять такой процедурой:
- выбор начала последовательности:
К = ИШ;
если К < Р1, то последовательность начинается с паузы, в противном случае - с выброса;
- выбор кванта времени паузы (выброса), с которого начинается последовательность, осуществляется таким образом:
R = RND; Х2 = H1+]R(H2
где ][ - целая часть числа;
Hi)[;
К = ИШ;
= ¿1+]К(^2 - ¿1)[;
И = ИШ;
N02 = 1+] К (Х2 - 1)[;
К = ИШ;
N^=1+^^ - 1)[.
Для организации процесса формирования виртуальной последовательности введем дополнительно следующие переменные:
Р1 - вероятность появления паузы в виртуальной последовательности;
РР - вероятность появления в последовательности выброса положительной полярности;
21 - переменная знака амплитуды выброса виртуальной последовательности;
У1 - переменная значения амплитуды формируемого выброса последовательности;
х1, х2 - вспомогательные переменные соответственно для длительности выброса и паузы виртуальной последовательности;
N01 - счетчик временных квантов длительности текущего выброса последовательности, которые необходимо еще сформировать;
N02 - счетчик временных квантов длительности текущей паузы виртуальной последовательности, которые необходимо еще сформировать;
К1 - флаг, указывающий на то, что формируемая виртуальная последовательность начинается с паузы ( К1 = 1) либо с выброса (К1 = 0).
Значения индексов /1, /2, /3, /4, изменяются в таких пределах:
/ =
h =
/1 + 1, если /1 + 1 < N; 1 в противном случае;
/3 + 1, если /3 + 1 < К3; 0 в противном случае;
I2 = 1, N
/4 = 1 N1;
С
J)
//MWD//N1, L1,L2,HbH2> a1,a2,k1,k2n,
N 1,N2,PR,PP
RANDOMIZE
I1=1, I2=1, I3=1, I4=1
R=RND
K3=K1]R*(K2-K1)[
r=rnd x1=l1+]r*(l2-l1)[
r=rnd x2=h1+]r*(h2-h1)[ to=](h1+h2+l1+l2)/2[
r=rnd Y1=A1 + Jr(a2-a1)[
Z1=1
I~£
R=RND
Рисунок 3 - Схема алгоритма формирования нерегулярных симметричных виртуальных последовательностей
Переход к итой паре формирования паузы и выброса
формирование паузы
нет
R=RND
N01
R=RND
N02 =Н1+^*(щ-Н2)[
R=RND
А1+^*(А1-А2)[
R=RND
©
Формирование
знака
выброса
Переход
от
ПС2
Связь с программным средстов ПС2
Переход к формированию следующего выброса
Продолжение рисунка 3
Исходные значения индексов:
/ = 1, /2 = 1, /з = 1, /4 = 1.
Основные соотношения, используются при формировании виртуальной последовательности:
Е = ИШ, х = Г + /Е(Г2 - Г1[; Е = ИШ, х2 = Нх + /Е(Н2 - Н1[; ТО = ](НХ + Н2 + Г + Г2)[/2; Е = ИШ, У\ = А1 + /Е(А2 - А1)[;
Е = ИШ, NC1 = 1 + ]Е(х - 1)[;
Е = ИШ, КС2 = 1 + ]Е(х2 - 1)[.
Формирование знака амплитуды выброса последовательности осуществляется на основании такой проце-
дуры: Е = ИКБ; если Е < РР, то выброс положительной полярности (2\ = 1), в противном случае выброс отрицательный 2 = - 1).
Принятые соглашения, правила формирования переменных и индексов позволили определить схему алгоритма формирования виртуальной нерегулярной симметрической последовательности (см. рисунок 3).
ЗАКЛЮЧЕНИЕ
Итак, разработанные нами принципы организации случайного блуждания цифрового автомата по внутренним его состояниям, структура цифрового автомата с псевдослучайными переходами, правила и схема алгоритма формирования виртуальных нерегулярных последовательностей, структура программного комплекса для формирования псевдослучайных шифров замены позволяют решить задачу генерации псевдослучайных шифров замены в системах защиты информации.