Аннотация: В статье рассмотрены вопросы, связанные с проблемой построения однонаправленной функции с "секретом" на базе Конечно-Автоматной Модели,Сохраняющей Информацию (КАМСИ). Приводится анализ устойчивости к "взлому".
Однонаправленная функция с "секретом" (trap-door function) на базе КАМСИ (Конечно-Автоматная Модель, Сохраняющая Информацию)
Введение
Причина низкой производительности существующих асимметричных алгоритмов заключается в том, что применяемые на практике асимметричные алгоритмы используют, так называемую, "длинную" арифметику, то есть арифметику, предназначенную для работы с числами размером от сотни и более цифр. Вследствие этого быстродействие асимметричных алгоритмов на несколько порядков меньше симметричных алгоритмов.
Надежды на то, что с ростом быстродействия технических средств разрыв между быстродействием асимметричных и симметричных алгоритмов будет сокращаться, безосновательны. Следует понять, что с ростом быстродействия технических средств, при сохранении размера чисел, снижается степень защищенности алгоритма, а это, в свою очередь, приводит к необходимости увеличить размерность "арифметики" ( ).
Возникло целое направление в криптографии, так называемые теоретико-числовые алгоритмы (например, RSA), которое за последние двадцать лет привело к появлению большого числа оригинальных асимметричных алгоритмов и это создало иллюзию, что термины "асимметричный алгоритм" и "длинная арифметика" - синонимы.
Так ли это?
Для доказательства ошибочности этих представлений, далее будет рассмотрен асимметричный алгоритм кодирования на базе конечно-автоматной модели.
Будет показано, что, если трудность взлома RSA связана со сложностью выполнения операции разложения числа на простые сомножители (это и приводит к необходимости использования "длинной арифметики"), то для конечно-автоматной модели аналогичной операцией является декомпозиция кодера на простые компоненты.
Далее будет показано, что сложность декомпозиции конечного автомата возрастает экспоненциально, в то время, как его быстродействие не зависит от размера его таблицы переходов.
По аналогии с понятиями сложного и простого числа в теории чисел, далее будут введены понятия композиции конечных автоматов и примитивов. Особенность заключается в том, что если сложное число в теории чисел всегда может быть разложено на простые числа, для которых отсутствует понятие порядка их взаимного расположения в произведении (коммутативность перестановок сомножителей в произведении), то для конечного автомата, эквивалентного композиции примитивов, имеют значение, как их набор, так и порядок их взаимного расположения в композиции. Другими словами, композиция автоматов из примитивов не обладает свойством коммутативности.
КАМСИ (Конечно-Автоматная Модель, Сохраняющая Информацию) были достаточно полно исследованы более сорока лет назад, и, все-таки, они не нашли до сих пор применения в криптографии. Почему же это - так, несмотря на то, что существующие, так называемые, паблик-кей технологии (технологии с открытым ключом) по производительности и сложности реализации оставляют желать лучшего?
Этому может быть несколько причин.
Описанный в литературе способ применения КАМСИ представляет собой однонаправленную функцию без секрета.
Действительно, асимметричность здесь объясняется тем, что алгоритмы кодирования отличаются от алгоритмов декодирования. Однако, сложность построения инвертора (декодера) экспоненциально зависит от I (одного из параметров КАМСИ, о котором будет сказано ниже) и эта сложность одинакова для всех участников процесса обмена информацией (как для отправителя, так и для всех участников информационного процесса).
Можно высказать различные предположения о том, почему эта проблема не была разрешена до сих пор. Но, учитывая высокий уровень ученых - специалистов в области Теории Конечных Автоматов, которые разрабатывали теорию КАМСИ (см. список литературы на стр. 46), можно привести одно - Теория Конечных Автоматов изначально создавалась только для анализа и реализации алгоритмов управления технологическими процессами, которые разрабатывались другими и в других областях науки. В криптографии же возникает проблема генерации криптографических алгоритмов, которые должны обладать определенными свойствами.
Каковы же перспективы применения КАМСИ в криптографии?
Очень заманчиво, но бесполезно для применения в криптографии, попытаться усовершенствовать алгоритм инвертирования КАМСИ. Разумеется, что как любое усовершенствование, оно интересно.
Однако, любое усовершенствование "облегчает жизнь" всем участникам процесса обмена информацией, в том числе, и недобросовестным. Так, рассмотренные Цви Кохави (см. Список литературы, стр. 46) описываются последовательные линейные Машины, которые называются линейными потому, что сложность их преобразования линейно зависит от размера Машины, однако, это "облегчает жизнь" всем участникам процесса обмена информацией. То есть, оно не может привести к созданию "секрета" однонаправленной функции. Более того, трудно рассчитывать, что любые усовершенствования удастся длительно держать в секрете, тем более, что понятие "недобросовестный пользователь" среди участников информационного процесса может изменяться в зависимости от характера защищаемой информации.
Из этого следует, что сама по себе разработка теории КАМСИ не может привести к созданию однонаправленной функции с секретом.
Есть и еще одно обстоятельство, которое создавало проблему применения КАМСИ в криптографии: это - необходимость автоматизации процесса генерации кодера ( ).
Хотя для симметричного алгоритма этот процесс решен достаточно успешно, но при этом возникает проблема "защищенной" доставки нового сгенерированного ключа участнику процесса обмена информацией. В асимметричном алгоритме проблема "защищенной" доставки отсутствует, так как открытый ключ нет необходимости охранять, а секретный - некому посылать. В этом случае "секретность" держится на "трудности" получения закрытого ключа из открытого.
Например, в RSA, для "взломщиков" существует проблема разложения сложного числа (открытый ключ) большой размерности (сто цифр и больше) на простые сомножители (секретный ключ). Это держится на том, что не существует рациональный способ автоматической генерации простых чисел большого размера. К сожалению (для науки) и к счастью (для создателей алгоритма), до сих пор процесс тестирования большого числа на "простоту" требует огромных затрат времени и технических ресурсов (в этом и заключается "секрет" однонаправленной функции для RSA).
Это одна из причин, по которой существующие асимметричные алгоритмы сложны для внедрения.
Коротко сложившуюся ситуацию можно назвать проблемой отсутствия правила.( )
Для RSA - это отсутствие правила проверки "на простоту". На практике это приводит к тому, что часто используют псевдопростые числа.
Для КАМСИ в опубликованных исследованиях так же отсутствует простое правило проверки на "КАМСИ-шность".
Это главная причина, по которой КАМСИ до сих пор не получила применения в криптографии.
В предлагаемой работе проблема "правила" для КАМСИ решена неожиданным образом: предложена ситуация, в которой нет необходимости проверки на "КАМСИ-шность". Это стало возможным потому, что разработаны операции преобразования КАМСИ, сохраняющие свойство КАМСИ (в отличие от простых чисел, о которых известно, что любые преобразования простых чисел дают сложные числа, но не наоборот).
В предлагаемой работе введены понятия КАМСИ-примитива и КАМСИ-композиции, которые можно считать аналогами простого и сложного числа в теории чисел.
В предлагаемом алгоритме, "секретом" является разложение КАМСИ-композиции на примитивы.
Особенность "секрета" однонаправленной функции на базе КАМСИ, в отличие от RSA, является то, что, если для сложного числа существует, в виде секретного ключа, набор простых чисел - сомножителей, для которых безразличен порядок их использования для получения произведения (коммутативность), то для каждой КАМСИ-композиции, кроме набора примитивов, существенным является порядок расположения их в композиции.
В работе "Асимметричный криптографический алгоритм на базе Конечно-Автоматной Модели, Сохраняющей Информацию (КАМСИ)" ( ) мы рассмотрели свойства КАМСИ и возможности реализации на их основе различных криптографических протоколов.
В предлагаемой работе мы рассмотрим основные свойства КАМСИ, которые позволят применить их для реализации асимметричных криптографических алгоритмов.
Для этого мы рассмотрим следующие вопросы:
1. Основные свойства КАМСИ.
2. КАМСИ-примитивы.
3. Реализация однонаправленной функции на базе КАМСИ.
Основные свойства КАМСИ
Конечные автоматы, сохраняющие информацию
Следующие разделы, включая раздел "Минимальная инверсная машина" (см.стр. 16) написан на основе материалов, опубликованных в книге Zvi Kohavi, Switching and Finite Automata Theory, Second Edition 1978, Memory, Definiteness, and Information Lossless ness of Finite Automata chat. 14, pp. 507.
Важная характеристика конечного автомата (КА) - наличие "памяти", т.е. поведение Машины ( ) определяется ее историей.
Поведение одних машин может зависеть от большего числа предшествующих событий, а других - от меньшего.
Определение. 1 Количество информации о входах и выходах, необходимое для определения будущего поведения машины, называется диапазоном памяти машины.
Известно, что если для конкретной машины определено начальное состояние и известна входная последовательность, то это однозначно определяет выходную последовательность и конечное состояние. Однако, существует ситуация, при которой неизвестно начальное состояние или некоторое число предыдущих входных значений. В такой ситуации поведение машины не всегда может быть предсказанным. Мы попробуем ответить на вопрос: а) для данной машины определить минимум информации о входах-выходах, необходимый для определения будущего поведения машины. б) При каких условиях можно восстановить входную последовательность по выходной?
Отношение размера памяти с входной - выходной последовательностью (машины с конечной памятью - МКМ)
Определение. 2 Машина с конечной памятью М называется машиной с конечной памятью I-порядка, если I есть наименьшее целое, такое что текущее состояние М может быть определено однозначно из последних I значений входов и I выходов.
Другими словами, машина есть МКМ, если и только если каждая входная последовательность длинной I является установочной последовательностью. Соответственно, установочное дерево может служить инструментом для обнаружения и определения конечной памяти для М. В этом разделе мы определим различные тесты достаточные для определения всех аспектов памяти автомата.
Тестирующая таблица и тестирующий граф
Примем, что существует машина М1, заданная Table 1а.. Мы можем переписать эту таблицу, как показано в верхней половине таблицы Table 1b. В заголовке этой таблицы записаны все сочетания значений входов-выходов. Остальные строки верхней половины таблицы заполняются состояниями, в которые произойдет переход при соответствующем значении входа-выхода. Например, 1-суксессор (наследник) состояния С есть В и соответствующее значение выхода равно 1. Поэтому В вписан в строке С в столбец 1/1 и вписана черточка в столбце 1/0.
В первом столбце нижней части таблицы выписаны все паро-сочетания состояний, которые образованы из состояний верхней части таблицы. Если в строках Si и Sj в столбце Ik/Ol в верхней части таблицы есть Sp и Sq, соответственно, тогда в строке SiSj в нижней части таблицы в столбце Ik/Ol записываем SpSq. Если для некоторой пары состояний Si и Sj в столбце Ik/Ol в верхней части таблицы присутствует хотя бы одна черточка, то в строке SiSj в столбце Ik/Ol следует поставить черточку.
PS NS,z
x=0 x=1
A B,0 C,1
B D,0 C,0
C D,0 B,1
D C,0 A,0
a)
0/0 0/1 1/1 1/0
A B - C -
B D - - C
C D - B -
D C - - A
AB BD - - -
AC BD - BC -
AD BC - - -
BC DD - - -
BD CD - - AC
CD CD - - -
b)
Table 1
Таблица вида Table 1 называется тестирующей таблицей.
Мы будем называть пару SiSj, как неопределенную пару, и ее преемника SpSq, как предполагаемую пару. Например, пара АС порождает пару BD.
Определим теперь направленный граф G, который будем называть тестирующий граф, который построен следующим способом.
Рис. 1
1. Поставить в соответствие каждой строке нижней половины тестирующей таблицы вершину графа.
2. Соединить стрелкой вершину SiSj с вершиной SpSq, где p ≠ q, если и только если существует SpSq в строке SiSj и столбце Ik/Ol тестирующей таблицы. Стрелку обозначить Ik/Ol.
Тестирующий граф G1 машины M1 (см. Table 1b) показан на Рис. 1
Условия существования конечной памяти.
Допустим, первоначальная неопределенность относительно состояния машины М (S1 S2...Sn) ( ).
Определение. 3 М есть конечная память I-порядка если подача любой входной последовательности длиной I переводит машину в распознаваемое состояние, и если существует входная последовательность длиной I-1, которая, вместе с соответствующей выходной последовательностью не содержит информацию, необходимую для точного определения конечного состояния.
Утверждение 1. Последовательная машина М имеет конечную память, если и только если ее тестирующий граф не имеет циклов.
Доказательство. Допустим, G имеет цикл. Тогда, при повторении подачи символов, соответствующих метке перехода цикла, мы получим входную последовательность произвольной длины, которая не позволит определить конечное состояние, то есть машина не обладает конечной памятью. Чтобы доказать достаточность, примем, что G не имеет циклов. Если М не обладает конечной памятью, то существует произвольно длинный путь в G, соответствующий некоторой входной последовательностью Х и некоторая пара состояний SiSj такая, что Si и Sj не могут быть отличены при Х. Но так как число вершин в G не может превосходить (n-1)n/2 (соответствующее числу отличных пар состояний) произвольно длинный путь в G возможен только если он содержит цикл. Утверждение 1 доказано.
Пример. Из тестирующего графа M1 (Рис. 1) видно, что G1 имеет два цикла. Следовательно, M1 не обладает конечной памятью.
Следствие. Допустим, G свободный от циклов тестирующий граф для машины М. Если длина наибольшего пути равна l, то I= l+1.
Доказательство. Так как G свободен от циклов, то М обладает конечной памятью. Допустим, что I> l+1; тогда существует минимум одна неопределенная пара SiSj, которая будет переведена при подаче входной последовательности длиной l+1 в другую пару SpSq. Следовательно, существует путь вежду вершинами SiSj и SpSq длиной l+1. Но это противоречит нашему допущению и, следовательно, I не может превышать l+1.
На основании приведенного выше вытекает, что I≤(n-1)n/2.
Машина, для которой I=(n-1)n/2
Машина M2 показанная в Table 2а, соответствует предельному значению I.
PS NS,z
x=0 x=1
A B,0 D,0
B C,0 C,0
C D,0 A,0
D D,0 A,1
a)
0/0 0/1 1/1 1/0
A B - - D
B C - - C
C D - - A
D D - A -
AB BC - - CD
AC BD - - AD
AD BD - - -
BC CD - - AC
BD CD - - -
CD DD - - -
b)
Table 2
Соответствующая тестирующая таблица и граф показаны в Table 2b и Рис. 2, соответственно. Как это видно, тестирующий граф свободен от циклов и максимальный путь, начинающийся в АВ и оканчивающийся в CD, имеет длину 5. Отсюда I=6. В общем, можно показать, что существует класс машин, для которых I=(n-1)n/2.
Рис. 2
Ширина памяти относительно последовательностей вывода
Конечно-автоматная машина М имеет ширину памяти порядка I, если I есть наименьшее целое, такое, что знание последних I значений выхода позволяет определить состояние, в котором находилась М в течение последних I транзакций. В этой секции основной упор будет сделан на определение состояния М в течение времени эксперимента, вместо определения конечного состояния. Случай определения конечного состояния более узкий и может быть рассмотрен читателем самостоятельно.
Тест для внешней (выходной) памяти
Основной инструмент для определения, имеет ли данная машина конечную выходную память - это модифицированная тестирующая таблица и ее тестирующий граф. Тестирующая таблица (для выходной памяти), состоит из двух частей, имеет q столбцов O1O2...Oq, соответствующих различным значениям выходов. Строки верхней части имеют имена состояний таблицы переходов М. На пересечении Si строки и Оj столбца записывается состояние, в которое будет переход из Si при значении Оj на выходе. Будем называть эти состояния Оj-премниками Si. Клетки верхней половины таблицы заполняются соответствующими преемниками. Верхняя часть таблицы называется таблицей выходных преемников (наследников). Таким образом, машина М Table 3а имеет
PS NS,z
x=0 x=1
A B,0 D,1
B C,1 A,1
C B.0 C,0
D C,0 C,1
PS z=0 z=1
A B D
B - (AC)
C (BC) -
D C C
AB - (AD)(CD)
AC (BB)(BC) -
AD (BC) (CD)
BC - -
BD - (AC)(CC)
CD (BC)(CC) -
a) b) c)
Table 3
выходные 1-преемники состояния В состояния А и С и не имеет ни одного 0-преемника. В Table 3b это соответствует заполнению строки В верхней половины таблицы. Для каждой пары состояний в нижней части таблицы записываются соответствующие преемники. Выходной Ок-преемники SiSj - парные сочетания выходных Ок-преемники из Si и Sj. Например, если преемниками из Si и Sj есть SpSq и SrSt, соответственно, тогда их преемники имеют вид: SpSr, SpSt, SqSr и SqSt.
Тестирующий (для выходной памяти) граф такой, что:
1. поставить в соответствие каждой строке нижней половины таблицы вершину графа и присвоить им имена этих строк.
2. соединить дугами вершины, которые в таблице являются в отношении источник-преемник.
Пример тестирующего графа приведен в Table 3с. Обратите внимание, что из вершины АВ выходит две дуги с одинаковыми значениями выхода, равного 1.
Утверждение 2 Машина М имеет конечную выходную память, если и только если тестирующий граф не имеет циклов. Если граф, свободный от циклов, имеет наибольший путь длинной l, то М имеет выходную память порядка I= l+1.
В примере Table 3с граф свободен от цикла и наибольший путь AB=>AD=>CD=>BC равен 3, а порядок I=4.
Обратите внимание, что граф не содержит вершин с повторяющимися вхождениями, например, ВВ и т.д.. Наличие таких пар не влияет на неопределенность.
Определение состояния машины
Если машина имеет конечную выходную память, то, возможно, определить состояние М в некоторой точке эксперимента длиной I. Мы теперь увидим, как определить это состояние, когда известна только информация о выходной последовательности.
Допустим, например, что выходная последовательность производится машиной Table 3а.
Примем, что выходная последовательность есть 1110. Так как на выходе 1, то это означает, что переход может быть из одного из состояний А, В или D, состояние С здесь не подходит. Это значит, что первоначальная неопределенность есть (АВD). Из Table 3b находим, что выходные 1-наследники: из А - D, из В - (АС), из D - С. Следовательно, 1-наследник (АВD) есть (АСD). Результат последующего приведен в Table 4.
Возможная неопределенность A
B
D A
C
D C
D C B
C
Выходная последовательность 1 1 1 0
Table 4
Следует обратить внимание, что хотя состояние было идентифицировано в течение эксперимента, неопределенность понизилась до (ВС).
Идентификация некоторой точки в течение эксперимента не может гарантировать идентификацию преемника. Можно сказать, что внутри I передача любой выходной последовательности, может быть минимум один период, в течение которого машина может однозначно находиться в определенном состоянии, в зависимости от исходного состояния ( ).
Машины, сохраняющие информацию
Одна из центральных проблем в кодировании и передаче информации есть определение условий, при которых возможно восстановить входную последовательность машины из соответствующей выходной последовательности. Будет показано, что всякий раз, когда машина используется, как кодирующее устройство и когда начальное и конечные состояния известны, ее информационная сохраняемость гарантирует, что полученное сообщение может быть всегда декодировано.
Определение. 4 Можно определить машину М как информацию сохраняющую, если известное начальное состояние, выходная последовательность и конечное состояние достаточны для однозначного определения входной последовательности.
Условия сохраняемости (lossiness) информации
Машина, которая не сохраняет информацию называется не сохраняющей (lossy) информацию.
Простой пример не сохраняющей машины - это такая, в которой для некоторого состояния Si и двух отличных входных символов Ip и Iq, Ip- и Iq-преемники и соответствующие им выходы идентичны. Ясно, что в таком случае знание выхода, начального и конечного состояния не достаточно, чтобы определить, какой из Ip ,Iq были поданы на вход машины.
Рис. 3
Потеря информации происходит тогда, когда существуют два состояния Si и Sj, которые могут быть достигнуты от одного и того же состояния Sс, которые могут быть достигнуты при различных входных последовательностях, которые переводят машину в одно и то же состояние Sf и генерируют одинаковые выходные последовательности (см. Рис. 3).
Пример. Пусть задана машина, таблица переходов которой показана на Рис. 4а. Как видно из Рис. 4b, эта машина относится к типу несохранающих информацию. В этом случае две различные входные последовательности (01 и 10) переводят машину из состояния А в В и производят одинаковую выходную последовательность.
Приведенное выше показывает, что прежде, чем планировать тестирующий эксперимент, необходимо проверить, является ли она информацию-сохраняющей. Необходимо определить, для некоторого состояния, не возникает ли ситуация, показанная на Рис. 3. Прежде чем рассматривать построение теста на информационную сохранность, определим порядок информационной сохранности.
PS NS,z
x=0 x=1
A A,0 B,0
B B,0 A,1
a) b)
Рис. 4
Информацию-сохранение конечного порядка
Допустим, что система сохраняющих машин используется для кодирования и декодирования. "Кодер" принимает входную последовательность и производит выходную последовательность, которая передается "декодеру". Понятно, что если кодер - информацию сохраняющий, то его входная последовательность может быть восстановлена из выходной последовательности так же хорошо, как и начальное и конечное состояния. Главное отступление в таком процессе заключается в факте, что информация относительно конечного состояния может быть передана кодером только после передачи всей информации. Отсюда следует, что вся информация должна быть записана в буфер перед началом процесса декодирования. Так как передаваемая последовательность может быть произвольно большой, информацию сохраняющая машина не может применяться на практике. С учетом этих ограничений перейдем к рассмотрению машин, для которых нет необходимости буферизовать полную информацию, но где процесс декодирования может начинаться только когда известно начальное состояние и длина входной последовательности.
Определение. 5 Машина называется (информацию) сохраняющей конечного порядка, если знание исходного состояния и первых I выходных символов достаточно чтобы однозначно определить первый входной символ.
Знание начального состояния и первого входного символа достаточно, чтобы определить следующее состояние и второй входной символ может быть вычислен при использовании (I+1)-го выходного символа и т.д.. Число I, которое определяет задержку при декодировании входных символов, является порядком сохранения, если I есть наименьшее целое, удовлетворяющее приведенному выше определению так, что если для некоторого исходного состояния и последовательности из (I-1) выходных символов, существует минимум две возможных входных последовательностей, которые отличаются разными значениями исходного входного символа.
Простейший пример информацию содержащей машины конечного порядка - первого порядка, где первый входной символ может быть определен из знания исходного состояния и первого выходного символа. Очевидно, что декодирование производится без задержки для этого класса машин. В качестве примера примем машину Table 5. Поскольку для каждого состояния выход связан 0-преемник по выходу от выхода 1-преемника, знание начального состояния и первого выходного символа достаточно, чтобы определить первый входной символ. Например, если исходное состояние А, и если выход равен 1, то можно однозначно определить, что на вход был подан 0.
PS NS,z
x=0 x=1
A C,1 D,0
B D,0 A,1
C D,1 B,0
D C,0 B,1
Table 5
Тест на информацию сохраняемость
Перейдем к получению теста, позволяющего определить, является ли данная машина информацию сохраняющей и каков ее μ-порядок, если она конечна. Прежде, чем перейти к тестирующей процедуре, введем некоторые термины.
Определение. 6 Два состояния Si и Sj будем называть сочетаемыми по выходу, если существует некоторое состояние Sp такое, что оба Si и Sj являются его Ок-преемниками или если существует сочетаемая пара SrSt такая, что SiSj имеют свои Ок-преемники. В таком случае будем говорить, что из сочетаемости (SiSj) вытекает сочетаемость (SrSt).
Первый шаг тестирующей процедуры есть проверка каждой строки таблицы для выявления двух идентичных переходов имеющих одинаковые значения выходов. Если нет идентичных вхождений, следующий шаг - это построение таблицы переходов по выходам.
Тестирующая таблица (информацию сохраняющая) состоит из двух частей. Верхняя часть содержит выходные
PS NS,z
x=0 x=1
A A,1 C,1
B E,0 B,1
C D,0 A,0
D C,0 B,0
E B,1 A,0
PS z=0 z=1
A - (AC)
B E B
C (AD) -
D (BC) -
E A B
AC - -
AD - -
BC (AE)(DE) -
AE - (AB)(BC)
DE (AB)(AC) -
AB (AB)(BC)
a) b) c)
Рис. 5
преемники, а нижняя половина строится следующим образом: в каждой строке записывается сочетание из верхней таблицы (AC,AD и BC). Преемники в этой таблице строятся обычным способом, и состоят из сочетаемых пар. Если при этом появляется очередная сочетаемая пара (например, АЕ и DЕ в строке ВС), которую записывают в новую строку, и т.д..
На Рис. 5а приведен пример Машины, на котором рассмотрим описанную процедуру.
Таблица выходных переходов показана в верхней части таблицы Рис. 5b. (AC) является сочетаемой парой (А и С имеют одинаковые значения выходов), по этой причине эта пара записывается в нижнюю часть таблицы. Остальные строки заполняются аналогично.
Сформулируем необходимые и достаточные условия существования информацию сохраняющей машины.
Утверждение 3 Машина является информацию сохраняющей, если и только если тестирующая таблица не содержит сочетаемые пары с повторяющимися компонентами.
Тестирующий граф (для информационной сохраняемости) есть направленный граф, в котором:
1. каждая вершина графа соответствует совместимой паре таблицы.,
2. дуга, обозначенная Ок направляется из вершины SiSj в вершину SpSq (где p≠q), если и только если (SpSq) находится в строке SiSj.
Пример тестирующего графа приведен на Рис. 5с. Как видно из графа, машина является информацию сохраняющей.
Прежде, чем определить μ-порядок, рассмотрим утверждение:
Утверждение 4. Машина есть информацию сохраняющая порядка I=l+2, если тестирующий граф свободен от циклов и длина наибольшего пути графа равна l.
Доказательство. Допустим, что машина М - информацию сохраняющая. Примем, что граф не имеет цикла. Очевидно, что каждая совместимая пара достижима из некоторого состояния М при паре соответствующих входных последовательностей, которые выдают идентичные выходные последовательности. Поэтому мы можем найти пару различных входных последовательностей, которые переводят М в состоянии SiSj, при выработке идентичных выходных последовательностей. Если мы теперь осмотрим выходные символы, которые производит машина, до тех пор, пока не пройдем все сочетаемые пары в цикле, то мы обнаружим, что М возвратится в состояние SiSj без любой дополнительной информации, чтобы получить первый входной символ. И так как этот цикл может повторяться много раз, при желании, мы можем создать пару произвольно длинных входных последовательностей, которые начинаются в некотором состоянии М и отличаются первыми символами, но вырабатывают одинаковые выходные последовательности. Таким образом, М не является информацию сохраняющей конечного порядка
Из "Утверждение 4" следует, что если М - информацию сохраняющая машина порядка I, то I≤1+n(n-1)/2.
При I=1 отсутствуют сопоставимые пары (см. Table 5), в то время, как при I=2 обнаруживает отсутствие дуг. Если вернуться к графу на Рис. 5с то мы увидим, что он имеет цикл, поэтому машина не информацию сохраняющая конечного порядка.
Пример. Еще один пример построения теста показан на Рис. 6. Как видно из Рис. 6с, тестирующий граф не имеет цикла и, так как l=1, то I=3.