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

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

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

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

The paper addresses the problem of finite-state machine identification. To solve this problem, simple conditional experiments with automata are used. It is supposed that some automaton transitions are known. An heuristic approach is given to determine the unknown transitions.

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

Transitions identification experiments with information-lossless automata

The paper addresses the problem of finite-state machine identification. To solve this problem, simple conditional experiments with automata are used. It is supposed that some automaton transitions are known. An heuristic approach is given to determine the unknown transitions.

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

УДК 519.713

ЭКСПЕРИМЕНТЫ ПО ВОССТАНОВЛЕНИЮ ПЕРЕХОДОВ АВТОМАТА С БИЕКТИВНОЙ ФУНКЦИЕЙ ВЫХОДОВ

В. Н. Тренькаев

Конечный автомат называется автоматом с биективной функцией выходов (автоматом без потери информации по [1]), если при фиксации любого состояния такой автомат осуществляет взаимно однозначное отображение множества входных символов на множество выходных символов. Известно [2], что автоматы данного класса используются в криптографии для шифрования конфиденциальной информации. Шифрующий автомат преобразует осмысленные открытые тексты в нечитаемые шифрованные. При этом существует возможность однозначно восстановить исходный открытый текст по известному шифрованному тексту и ключу. Обычно в качестве ключа берется начальное состояние шифрующего автомата. «Засекречивание» подмножества переходов автомата может существенно повысить способность таких автоматных шифров противостоять различным атакам.

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

Конечным автоматом А называется пятерка (Б, X, У, ф, <^), где Б — конечное непустое множество состояний, X и У — конечные входной и выходной алфавиты соответственно, причем |Х| = |У|, а ф : Б х X ^ Б и ^ : Б х X ^ У — функции переходов и выходов соответственно. Четверка в — х/у ^ в', где в' = ф(в,х) и у = <^(в,х), есть переход автомата А. Состояние в' называется преемником состояния в по символу х. Автомат А есть автомат с биективной функцией выходов, если для любого в Е Б функция <Ра(х) = <^(в,х) определяет взаимно однозначное отображение X на У. Автомат А является сильносвязным, если из любого состояния в Е Б достижимо любое другое состояние в' Е Б, т. е. существует последовательность переходов в = в1 — Х1 /у1 ^ в2, в2 — Х2/У2 ^ вз ,...,вк — Хк/ук ^ вк+1 = в'. В этом случае говорят, что слово х1х2 ... Хк переводит автомат А из состояния в в состояние в'. Установочным называется входное слово, наблюдая реакцию на которое, можно определить текущее состояние автомата. Следуя [3], будем называть начальным идентификатором состояния в множество пар х/у, где х — входной символ, а у = ^(х), которое однозначно характеризует состояние в, т. е. начальные идентификаторы любых различных состояний различны.

Постановка задачи. Для эксперимента предъявлен сильносвязный автомат А с биективной функцией выходов, часть переходов которого неизвестна. Среди ^(х), в Е Б, не существует равных функций, а также для любого в Е Б существует не более одного

неизвестного перехода s — x/y ^ p. Требуется путем проведения простого условного эксперимента с автоматом A определить неизвестные (секретные) переходы.

Восстановление функции выходов. Пусть для a Е X значение функции <^s(a) неизвестно. Поскольку функция <£>s есть биекция, то образ символа а относительно ^s вычисляется как разность множеств Y и {y : y = <^s(x),x Е X\{а}}.

Восстановление функции переходов. Отметим, что начальный идентификатор для любого состояния s автомата, предъявленного для эксперимента (после восстановления функции выходов), может быть построен как id(s) = {x/y : x Е X,y = <^s(x)}.

Ш!аг 1. L := S, т. е. автомат A может находиться в любом из своих состояний.

Ш!аг 2 (построение установочного слова). Найти входной символ x, такой, что существуют два состояния s и s' из L, для которых <^(s, x) = <^(s', x). Подать на автомат A входной символ x и пронаблюдать выходной символ y. Найти состояния из L, стартуя из которых автомат A может выдавать y, т. е. построить множество N = {s : s Е L,y = <^s(x)}. Построить множество Q преемников состояний из N по символу x. Если существует s Е N, соответствующее начальному состоянию секретного перехода s — x/y ^ p, то перейти на Шаг 1. Если |Q| = 1, то L := Q и перейти на Шаг 2.

Шаг 3 (построение переводящего слова). Найти и подать на A входное слово, переводящее автомат из состояния q Е Q, причем |Q| = 1, в неизвестное состояние k, соответствующее финальному состоянию секретного перехода s — x/y ^ p.

Шаг 4 (восстановление неизвестного состояния). На автомат A подать входной символ а и пронаблюдать выходной символ b. IDk := IDk U a/b. Если |IDk| = |X|, то состояние k := p, где p такое, что id(p) = IDk, т. е. переход s — x/y ^ p восстановлен. Если существуют невосстановленные переходы, то перейти на Шаг 1.

ЛИТЕРАТУРА

1. Кудрявцев В. Б., Алешин С. В., Подколзин А. С. Введение в теорию автоматов. М.: Наука,

1985. 320 с.

2. Бабаш А. В., Шанкин Г. Н. Криптография. М.: СОЛОН-Р, 2002. 512 с.

3. Грунский И. С., Козловский В. А. Синтез и идентификация автоматов. Киев: Наукова

думка, 2004. 245 с.

УДК 519.725; 519.816; 519.712.6

ПРОТОКОЛ АРГУМЕНТА ЗНАНИЯ СЛОВА КОДА ГОППЫ И ОШИБКИ ОГРАНИЧЕННОГО ВЕСА

В. Е. Федюкович

Рассматривается задача проверки утверждения об ошибке в искаженном кодовом слове кода Гоппы. Дополнительным условием является предоставление проверяющей стороне минимально необходимой информации о структуре кода, кодовом слове и весе ошибки. Рассматриваются интерактивные протоколы (interactive proof system) и протоколы доказательства знания (proof of knowledge) значений, из которых получены экземпляры привязки (commitment). Произвольный Доказывающий, который не знает компонентов кодового слова и коэффициентов полинома Гоппы, удовлетворяющих проверяемым условиям, имеет только ничтожную вероятность успешно завершить протокол с честным Проверяющим.

Рассматриваются протоколы аргумента, в которых как Проверяющий, так и Доказывающий располагают только полиномиальными ресурсами. Рассматривается схема

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