Научная статья на тему 'Идентификация автомата в классе автоматов Спротта'

Идентификация автомата в классе автоматов Спротта Текст научной статьи по специальности «Математика»

CC BY
123
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
АВТОМАТЫ СПРОТТА / ИДЕНТИФИКАЦИЯ / КРАТНЫЕ ЭКСПЕРИМЕНТЫ / ПОТОЧНЫЕ ШИФРЫ / КРИПТОАНАЛИЗ

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

Решается задача идентификации автомата в классе автоматов Спротта над конечным кольцом Z p k = (Z p k,⊕,°). Оценка сложности решения задачи необходима для характеристики стойкости поточного шифра, определяемого автоматом Спротта при использовании информационного потока в качестве управления. Показано, что в подклассе автоматов Спротта задача решается проведением кратного эксперимента с автоматом.

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

AUTOMATON IDENTIFICATION IN THE CLASS OF SPROTTS AUTOMATA

The problem of automaton identification in the class of Sprotts automata over the finite ring Z p k = (Zp k, ⊕, ) is solved. The estimation problem of the solution complexity is considered as a necessary characteristics for computational security of a stream cipher determined by the Sprotts automaton when information stream is interpreted as some control. It is shown that in a Sprotts automata subclass the problem is solved by carrying out multiple experiments with automaton

Текст научной работы на тему «Идентификация автомата в классе автоматов Спротта»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2008 Прикладная теория автоматов № 1(1)

УДК 681.3

ИДЕНТИФИКАЦИЯ АВТОМАТА В КЛАССЕ АВТОМАТОВ СПРОТТА В.А. Сухинин, В.Г. Скобелев

Донецкий национальный университет Институт прикладной математики и механики НАН Украины, г. Донецк

E-mail: [email protected], [email protected]

Решается задача идентификации автомата в классе автоматов Спротта над конечным кольцом V = (Z/ ,Ф,°). Оценка сложности решения задачи необходима для характеристики стойкости поточного шифра, определяемого автоматом Спротта при использовании информационного потока в качестве управления. Показано, что в подклассе автоматов Спротта задача решается проведением кратного эксперимента с автоматом.

Ключевые слова: автоматы Спротта, идентификация, кратные эксперименты, поточные шифры, криптоанализ.

На современном этапе развития информационных технологий актуальной проблемой является построение высокоскоростных поточных шифров. Значительные усилия исследователей направлены на разработку математического аппарата, предназначенного для решения задач преобразования информации, основанного на моделях и методах современной алгебры. Одним из таких направлений (см., напр., [1, 2]) является разработка средств и методов защиты информации на основе хаотических динамических систем [3]. При использовании информационного потока в качестве управления любая такая система определяет симметричный поточный шифр, причем расшифрование осуществляет обратная система. Ошибки округления, возникающие при использовании таких шифров над полем действительных чисел, устраняются за счет перехода к конечному кольцу Zpk = (Zpk, ®, о). Такой переход приводит к конечным автоматам над конечным кольцом, что

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

Структура работы следующая: в п. 1 представлена основная модель - аналоги над конечным кольцом систем Спротта с управлением; в п. 2 решена задача идентификации автомата в подклассе автоматов Спрот-та. Заключение содержит ряд выводов.

1. Основная модель

В дальнейшем все величины - элементы кольца Zpk = (Z/, ®, о), где p - простое число, k є N, а операции ® и о определяются равенствами

a ® b = a + b (mod pk), a о b = a ■ b (modpk),

где a, b є Z/, 0 - операция, обратная к операции ®, причем будем считать, что pk > 2.

В работе исследуется класс автоматов Спротта - класс аналогов модельных динамических систем Спрот-та с нетривиальной структурой множества аттракторов [3]. Каждая из классических систем Спротта представляет собой систему трех дифференциальных уравнений. Поэтому информационная переменная может быть добавлена как во все уравнения системы (тогда выходом автомата является состояние автомата), так и в некоторые уравнения системы (соответственно выходом автомата является частичная информация о его состоянии). Положим Y = {A, B, ..., S}. Автомат, соответствующий системе Спротта xєY в случае, когда информационная переменная добавляется во все уравнения системы, обозначим через Mx. В табл. 1 представлены автоматы Mx (xєY) в скалярном виде, т.е. в виде систем уравнений над кольцом Z/, где Mi = hoapxt+i (i = 1, 2, 3), tєZ0, а h и а, (г = 1, 2, 3) - обратимые элементы кольца Z/. При переходе к

кольцу Zpk ряд систем Спротта обобщен. Это обобщение состоит в том, что конкретные числовые коэффициенты классических систем Спротта заменены на произвольный фиксированный элемент в (возможно, с ин-

дексами) кольца 1рк. Кроме того, в табл. 1 не указаны выходные переменные автоматов, так как для автоматов Мх (хеУ) выход автомата совпадает с его состоянием.

Таблица 1

(мА 0 ):

я® = 9((1) ® к ° ?((2) ® Ш1

Я2 = я(2) 0 к ° я(1) Ф к ° я(2) ° я(3) Ф Ш2

ЯЗ = я(3) Ф к 0 к ° (%(2) )2 Ф ш3

(мв о ):

Л1),

> ^Т' о ф щ = Я(2) Ф к о я(1) 0 к о я(2) ф

: Я((3) Ф к 0 к о я((1) о я((2) ф т3

(Ме о ):

Я((+1

ЯГ' о Я((3) ф Щ1 Я((+2) = я(2) Ф к о я(1) 0 к о я(2) ф т2 Я((+) = я(3) Ф к 0 к о (я((1) )2 ф т3

(мл ,Я о ):

4((+1

421

4((+)

= 4(1) 0 А о ^(2) ф т1 = 4(2) Ф А о ^(1) ф А о ^(3) ф т2 = ^(3) Ф А о ?® о ^(3) ф Фв о А о (^(2) )2 ф т3

(мг ,Яо ):

я(+1

я(2Ь

ЯГ ° Я((3) Ф Ш1 я(+) = Я((2) Ф к ° (я® )2 0 к ° Я((2) Ф ш2 = я(3) Ф к 0 к ° в ° Я((1) Ф ш3

(м^ ,Яо ):

4+1 = 4+1 = 4+1 =

■■дЦ) Ф к о ^(2) ф к о %(3) ф

: ^(2) 0 к о ^(1) ф к о р о ^(2) ф т2 : %(3) Ф к о (%® )2 0 к о ?(3) ф т3

(мо >4 о ):

Я((Ц = я« Ф к ° в ° я(1) Ф к ° я(3) Ф ш1

Я((+)

Я(1) ° я(3) 0 к ° я1~' Ф ш2 4+1 = Я((3) 0 к ° Я((1) Ф к ° я(2) Ф Ш3

(мн ,Яо ):

4+1

4+1

4+1

= ^® 0 А о ^(2) ф А о (^3>)2 ф т

= ^(2) ф а о ^® ф а о р о ^(2) ф т

= ^(3) ф А о 0 А о ^(3) ф т3

(М ,Яо ):

4+1 = 41) © А ° в ° 42) ® т

4+1 = д(2) ® А ° д(1) ® А о д(3) ® т2

д(+1 = д(3) ® А о д® ® А о (д(2) )2 0

0 А о д(3) ® т3

(М/ >4 о ):

4+1 : 4+2 : 4+)=

= д(1) ® А о р о д(3) ® т1

= 4((2) 0 А о р о 4(2) ® А о 4(3) ® т2 = 43) 0 А о ® А о ^(2) ®

® А о (^(2))2 ® т3

= 4® Ф А о ^(2) ф к о Р1 о ^(3) ф т1 = 4(2) Ф А о р2 о (^Ч)2 0 А о ^(2) ф = ^г(3) Ф А 0 А о ^(1) ф т3

{МК ,Яо ):

= ^(1) Ф А о ^(1) о ^(2) 0 А о ^(3) ф т1 = ^(2) Ф А о ^(1) 0 А о ^((2) ф Ш2 = ?(3) Ф А о ф А о р о ?(3> ф т3

(М1 .Яо ):

4+1

4+1

4((+)

(мм >4 о ) :

= 4® 0 А о ® т1 4^1 = 4((2) 0 А о (4(1))2 0 А о 4(2) ® т2 4+) = 4(3) ® А о р ® А о р о 4® ®

® А о (4((2))2 ® т3

яУ+л = яУ1 © Ь о в о Ф т1

Я$+1 = Я(2) Ф Ь о я(1) Ф Ь о (я(3))2 Ф т2 Яг(+3^{ = я(3) Ф Ь Ф А о яг(2) 0 А о р о я(1) Ф т3

я(2)«

(мо >Чо

Ф А о ^(2) ф т1

= ^(2) Ф А о ^(1) 0 А о ^(3) ф т2

= ^,(3) Ф А о ф А о о ?(3) €

Ф А о р о 4(2) ф т3

= 2® Ф А о р о %(2) ф А о %(3> ф ОТ1 ?(+> = ?(2> 0 А о ?((1) ф А о (^2> )2 ф т2 = 2(3) Ф А о ф А о ^(2) ф т3

(Мв ,Яо ):

я?+1 = я?1 © А ° %(3) ® т1

?г(+1 = Я(2) ® Ь- ° Я® © Ь- ° Я(2) ® т2

я<+} = я(3) ® Ь ° в1 ® А о (Я((2))2 ®

® А о р2 о яг(3) ® т3

{Мк о ):

= ^(1) Ф А о р1 0 А о ^(2) ф т1 = ?(2) Ф А о в2 Ф А о ^(3) ф т2 = ^(3) Ф А о ^® о ^(2) 0 А о ^г(3) ф т3

(М5 ,Яо ):

?(+1 = Я<Р 0 А о д^1"1 0 А о р о ф т1 = Я(2) ф А о я® ф А о (я(3) )2 ф т2 Я$ = Я(3) ф А ф А о я® ф т3

Я(2),

2. Идентификация автомата в классе автоматов Мх (хеУ)

При атаках на шифрсистему, основанную на использовании автоматов Мх (хеУ), важной информацией для криптоаналитика является знание х, то есть знание автомата, с которым работает шифрсистема. Предположим, что криптоаналитик может осуществлять требуемую инициализацию (до(1), ?о(2), ?о(3)) е (^р*)3 автомата Мх (хеУ), а также имеет возможность управлять входом автомата Мх (хеУ) и наблюдать его реакцию на поданную входную последовательность. Истинна следующая теорема.

Теорема 1. Автомат Мх (хеУ) можно идентифицировать 4-кратным экспериментом высоты 1.

Доказательство. Каждый автомат Мх (хеУ) установим в одно из состояний д0 = (1, 0, 0), д0 = (0, 1, 0), д0 = (0, 0, 1) либо д0 = (0, 0, 0). В каждом из этих состояний подадим на автомат входной символ 0. Полученные выходы автоматов занесем в табл. 2.

Таблица 2

Автомат qo= (1,0,0) qo= (0,1,0) qo= (0,0,1) qo= (0,0,0)

(Ма,Яо) (1,0й,й) (й,1,0) (0,0,1Фй) (0,0,й)

(Мв,Ч о) (1Ай) (0,10й,й) (0,0,1Фй) (0,0,й)

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

(МсД о) (1,й,0) (0,10й,й) (0,0,1Фй) (0,0,й)

(МпА о) (1,й,0) (0й,1,АоР) (0,й,1) (0,0,0)

(Ме>Ч о) (1,А,А0йоР) (0,10й,й) (0,0,1Фй) (0,0,й)

(Мр,q о) (1,0й,й) (А,1ФАоР,0) (й,0,10й) (0,0,0)

(Мс,Яо) (1ФАоР,0,0А) (0,10й,й) (й,0,1) (0,0,0)

(1,й,й) (0А,1ФАоР,0) (й,0,10й) (0,0,0)

(M/,q о) (1,й,й) (0йоР,1,й) (0,й,10й) (0,0,0)

(MJ,q о) (1,0,0й) (0,10АоР,2оА) (йоР,й,1) (0,0,0)

(Mк,q о ) (1,й,й) (0,10й,0) (0А,0,1ФАоР) (0,0,0)

(М^ о) (1,Аор2,0) (й,10й,й) (АоР1,0,1ФА) (0,0,й)

(Мм%, ) (1,0А,2оАоР) (0,10А,АоРФА) (0А,0,1ФАоР) (0,0,АоР)

(Мл^ о) (1,А,А0АоР) (0АоР,1,2оА) (0,й,1Фй) (0,0,й)

(М0^ о) (1,й,й) (а,1,йоР) (0,0й,1) (0,0,0)

(Mp,q о) (1,0й,й) (АоР,1ФА,й) (й,0,1) (0,0,0)

(1,А,Аор1) (0,10А,АоР1ФА) (0й,0,1ФАоР1фйоР2) (0,0,Аор1)

(Мд^о) (1ФАоР1,йоР2,0) (АоР10й,1ФАоР2,0) (АоР1,АоР2фй,10А) (АоР1,йоР2,0)

(М^о) (10й,А,2оА) (0йоР,1,й) (0,й,1Фй) (0,0,й)

Рассмотрим инициальный автомат (Мх, д0) (д0 = (0, 0, 1)). Возможны следующие случаи.

Случай 1. д1 = (0, 0, д/3)). Пользуясь табл. 2, находим, что в этом случае хе {А, В, С, Е, Ь, Я]. Установим автомат Мх в состояние д2 = (0, 0, 0). Тогда, согласно табл. 2, возможны 2 случая.

Случай 1.1. д3 = (0, 0, д3(3)), д3(3) Ф 0. Тогда хе{А, В, С, Е, Ь]. Установим автомат Мх в состояние д4 = (©1, 1, 0). Подадим на автомат Мх входной символ 0. Тогда, согласно табл. 1, если х = А, то д5 = (©1®И, 1®И, 0); если х = В, то д5 = (©1, 1©2°И, 2°И); если х = С, то д5 = (©1, 1©2°И, 0); если х = Е, то 45 = (©1, 1, й°(Р®1)); если х = Ь, то д5 = (©1®Н, й°(р2©1), 2°И). Возможны 5 случаев.

Случай 1.1.1. д5(1) Ф ©1, д5(3) = 0. Тогда х = А.

Случай 1.1.2. д5(1) Ф ©1, д5(3) Ф 0. Тогда х = Ь.

Случай 1.1.3. д5(1) = ©1, д5(2) = 1. Тогда х = Е.

Случай 1.1.4. д5(1) = ©1, д5(2) Ф 1, д5(3) Ф 0. Тогда х = В.

Случай 1.1.5. д5(1) = ©1, д5(2) Ф 1, д5(3) = 0. Тогда х = С.

Случай 1.2. д3 = (д3(1), q3(2), 0). Тогда х = Я.

Случай 2. д1 = (0, q1(2), q1(3)), q1(2) Ф 0. Пользуясь табл. 2, находим, что в этом случае хе {О, I, J, Ы, О, Я, £}.

Случай 2.1. q1(3) = 1. Тогда хе {О, J, О]. Установим автомат Мх в состояние д2 = (1, 0, 0). Тогда, согласно табл. 2, возможны 3 случая.

Случай 2.1.1. д3 = (1, q3(2), 0), q3(2) Ф 0. Тогда х = О.

Случай 2.1.2. д3 = (1, 0, q3(3)), q3(3) Ф 0. Тогда х = 3.

Случай 2.1.3. д3 = (1, q3(2), q3(3)), q3(2) Ф 0, q3(3) Ф 0. Тогда х = О.

Случай 2.2. q1(3) Ф 1. Тогда хе{1, Ы, Я, 5]. Установим автомат Мх в состояние д2 = (0, 1, 0). Тогда, согласно

табл. 2, возможны 2 случая.

Случай 2.2.1. д3 = ^3(1), q3(2), q3(3)), q3(3) Ф 0. Тогда хе{1, Ы, 5]. Установим автомат Мх в состояние

д4 = (1, 0, ©1). Подадим на автомат Мх входной символ 0. Тогда, согласно табл. 1, если х = I, то

д5 = (1, 0, ©1®2°И); если х = Ы, то д5 = (1, 2°И, ©1®И°(1©Р)); если х = 5, то д5 = (1©И, 2°И, ©1®2°И). Возможны 3 случая.

Случай 2.2.1.1. q5(1) Ф 1. Тогда х = Б.

Случай 2.2.1.2. q5(1) = 1, q5(2) = 0. Тогда х = I.

Случай 2.2.1.3. q5(1) = 1, q5(2) Ф 0. Тогда х = N.

Случай 2.2.2. д3 = ^3(1), q3(2), 0). Тогда х = Я.

Случай 3. д1 = ^(1), 0, q1(3)), q1(1) Ф 0. Пользуясь табл. 2, находим, что в этом случае хе {Г, G, Н, К, Ь, М, Р,

2, Я].

Случай 3.1. q1(3) Ф 1. Тогда хе {Г, Н, К, Ь, М, 2, Я].

Случай 3.1.1. q1(1) ® q1(3) = 1. Тогда хе{Г, Н, К, Ь, М, 2, Я]. Установим автомат Мх в состояние

д2 = (1, 0, 0). Тогда, согласно табл. 2, возможны 3 случая.

Случай 3.1.1.1. q3(1) Ф 1. Тогда х = Я.

Случай 3.1.1.2. q3(1) = 1, q3(3) Ф 0. Тогда хе {Г, Н, К, М, 2]. Установим автомат Мх в состояние д4 = (0, 1, 0). Тогда, согласно табл. 2, возможны 3 случая.

Случай 3.1.1.2.1. q5(1) Ф 0, q3(2) Ф q3(3). Тогда х = Г.

Случай 3.1.1.2.2. q5(1) Ф 0, q3(2) = q3(3). Тогда х = Н.

Случай 3.1.1.2.3. q5(1) = 0. Тогда хе {К, М, 2]. Установим автомат Мх в состояние = (1, 1, 0). Подадим на автомат Мх входной символ 0. Тогда, согласно табл. 1, если х = К, то д7 = (1®И, 1, И); если х = М, то д7 = (1, 1©2°И, 3°И); если х = 2, то д7 = (1, 1, И°(р1®1)). Возможны 3 случая.

Случай 3.1.1.23.1. q7(1) Ф 1. Тогда х = К.

Случай 3.1.1.2.3.2. q7(1) = 1, q7(2) Ф 1. Тогда х = М.

Случай 3.1.1.2.33. q7(1) = 1, q7(2) = 1. Тогда х = 2.

Случай 3.1.13. q3(1) = 1, q3(3) = 0. Тогда хе {Ь, 2]. Установим автомат Мх в состояние д4 = (1, 1, 0). Подадим на автомат Мх входной символ 0. Тогда, согласно табл. 1, если х = Ь, то д5 = (1®И, 1®И°(р2©1), 0); если х = 2, то д5 = (1, 1, И°(р1®1)). Возможны 2 случая.

Случай 3.1.1.3.1. q5(1) Ф 1. Тогда х = Ь.

Случай 3.1.1.3.2. q5(1) = 1. Тогда х = 2.

Случай 3.1.2. q1(1) ® q1(3) Ф 1. Тогда хе{К, Ь, М, 2, Я]. Установим автомат Мх в состояние д2 = (0, 1, 0).

Тогда, согласно табл. 2, возможны 3 случая.

Случай 3.1.2.1. q3(1) = 0. Тогда хе{К, М, 2]. Этот случай аналогичен случаю 3.1.1.23.

Случай 3.1.2.2. q3(1) Ф 0, q3(3) Ф 0. Тогда х = Ь.

Случай 3.1.2.3. q3(1) Ф 0, q3(3) = 0. Тогда х = Я.

Случай 3.2. q1(3) = 1. Тогда хе {О, К, М, Р, 2]. Установим автомат Мх в состояние д2 = (0, ©1, 0). Подадим

на автомат Мх входной символ 0. Тогда И = q3(2) ® 1 для всех Мх (хе {О, К, М, Р, 2]). Установим автомат Мх

в состояние д4 = (1, 0, 1). Подадим на автомат Мх входной символ 0. Тогда, согласно табл. 1, если х = G, то

д5 = (1®И°(Р®1), И, 1©И); если х = К, то д5 = (1©И, И, 1®И); если х = М, то д5 = (1©И, ©И, 1); если х = Р, то

Ц5 = (1©И, И, 1). Возможны 5 случаев.

Случай 3.2.1. q5(3) = 1©И. Тогда х = G.

Случай 3.2.2. q5(3) = 1, q5(2) = ©И. Тогда х = М

Случай 3.2.3. q5(3) = 1, q5(2) = И. Тогда х = 2.

Случай 3.2.4. q5(3) = 1 ® И, q5(2) = И. Тогда х = К.

Случай 3.2.5. q5(3) = 1 ® И, q5(2) = ©И. Тогда х = Р.

Случай 4. д1 = ^1(1), q1(2), q1(3)), q1(1) Ф 0, q1(2) Ф 0. Пользуясь табл. 2, находим, что в этом случае хе {/, Я].

Случай 4.1. q1(3) = 1. Тогда х = 3.

Случай 4.2. q1(3) Ф 1. Тогда х = Я.

Таким образом, каждый автомат Мх (хеУ) можно идентифицировать п-кратным экспериментом высо-

ты 1, где п < 4.

В случае, когда информационная переменная добавляется только в некоторые уравнения системы для автомата Спротта, задача значительно усложняется за счет того, что криптоаналитику становится недоступной для непосредственного наблюдения по крайней мере одна из фазовых переменных q/г) (г = 1, 2, 3).

Заключение

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

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

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

ЛИТЕРАТУРА

1. Сухинин В.А., Скобелев В.Г. Эквивалентность состояний систем Спротта // Труды ИПММ НАН Украины. 2007. Т. 14. С. 174 - 186.

2. Сухинин В.А., Скобелев В.Г. Алгоритмы и сложность идентификации автоматов Спротта над кольцом 1рк // Труды VII Междунар. конф. «Идентификация систем и задачи управления» 81СРК0'08. Москва, 28 - 31 января 2008 г. ИПУ РАН. С. 1107 - 1153.

3. Кузнецов С.П. Динамический хаос. М.: Физматлит, 2001. 296 с.

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