Научная статья на тему '50 лет криптографии в Томском государственном университете'

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

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

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

Реферативный обзор результатов криптографических исследований научной школы прикладной дискретной математики Томского государственного университета за последние 50 лет.

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

It is the overview of the main cryptograpic research results obtained by the Applied Discrete Mathematics School in Tomsk State University for the last 50 years.

Текст научной работы на тему «50 лет криптографии в Томском государственном университете»

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

2009 Математические основы криптографии №2(4)

МАТЕМАТИЧЕСКИЕ ОСНОВЫ КРИПТОГРАФИИ

УДК 519.7

50 ЛЕТ КРИПТОГРАФИИ В ТОМСКОМ ГОСУДАРСТВЕННОМ УНИВЕРСИТЕТЕ

Г. П. Агибалов

Томский государственный университет, г. Томск, Россия

E-mail: agibalov@isc.tsu.ru

Реферативный обзор результатов криптографических исследований научной школы прикладной дискретной математики Томского государственного университета за последние 50 лет.

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

Введение

В 50-летней истории криптографии в Томском государственном университете (ТГУ) можно выделить три периода, назвав их условно военным, переходным и гражданским.

В первый период (1960-е годы) исследования по криптографии в ТГУ проводились по заказу оборонного предприятия и носили закрытый характер. Они велись, что называется, «с чистого листа», в отсутствие какой-либо литературы по этому предмету, опираясь в основном на собственные представления задач криптографии и волю заказчика. В значительной степени это были наивные исследования, но в их процессе было уяснено главное: создание стойких криптосистем, говоря современным языком, невозможно без их тщательного криптоанализа. Именно алгоритмы криптоанализа некоторых поточных шифров и полученные с их помощью оценки стойкости последних и стали основными достижениями наших исследований этого периода. Именно таким путём мы доказали тогда непригодность линейных автономных автоматов в качестве генераторов ключевого потока. Некоторые результаты тех исследований, в частности относящиеся к генераторам нормальных рекуррентных последовательностей и к автоматным генераторам ключевого потока с функцией выхода в качестве ключа, до сих пор не превзойдены и по-прежнему актуальны.

На исходе этого периода нами был проявлен интерес и к теории кодирования как к средству для создания кодовых систем шифрования. Впервые в мировой науке мы разработали пакет программ (на алгоритмическом языке ЛЯПАС) для решения алгоритмических задач теории кодирования [1, 5], но так случилось, что наши исследования кодовых шифрсистем были отложены на целых 30 лет.

Второй период развития криптографии в ТГУ (1970 - 1980-е годы) был периодом осмысления полученных результатов, их легализации и обобщения в рамках теории

экспериментов с автоматами [16] и приобщения к ним студентов. С позиций чистой криптографии это был «вялотекущий» период, протекавший в отсутствие заказчика и стимулов с его стороны, но в этот период нами была разработана применяемая и ныне технология решения комбинаторно-логических задач [15], каковыми собственно и являются задачи анализа и синтеза криптоалгоритмов, а также была развита теория декомпозиции конечных автоматов [17] — одного из инструментов создания современных конечно-автоматных криптосистем с открытым ключом. Монография [17] остаётся до сих пор единственной отечественной книгой по декомпозиции автоматов.

Третий период развития криптографии в ТГУ (с 1990-х годов) связан с известными переменами в стране и с появлением возможности проведения открытых теоретических и экспериментальных исследований в этой области. Нельзя сказать, что в теоретическом плане наши исследования этого периода значительно более глубокие, чем прежние, но они охватывают практически всю проблематику современной «гражданской криптографии».

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

1. Наша «военная» криптография

1.1. Ш ифрующие автоматы А. Д. Закревского В научной школе прикладной дискретной математики ТГУ криптографические исследования занимают важное место на протяжении всех 50-ти лет её существования. Впервые автор этой статьи прочитал научную работу по криптографии ещё в 1960 году, будучи студентом 4 курса университета. Это была рукопись статьи основателя школы, моего научного руководителя Аркадия Дмитриевича Закревского, посвящённая применению конечных автоматов для шифрования с закрытым ключом. В ней для этой цели был предложен класс автоматов, называемых ныне шифрующими, в которых функция выходов биективна в каждом состоянии. К сожалению, А. Д. За-кревский не принадлежит к числу тех, кому в ту пору было позволено заниматься криптографией, и его рукопись никогда не была опубликована под тем предлогом, высказанным «чёрным» рецензентом, что её результаты «совершенно секретны». Для восстановления исторической справедливости мы впервые публикуем её в этом номере без каких-либо купюр и редакторской правки (см. [57]).

1.2. Криптоанализ линейного автономного автомата Тремя годами позже мне, уже аспиранту, было предложено участвовать в выполнении закрытого хоздоговора для предприятия,известного ныне как ЦКБ «Алмаз», по которому, с подачи А. Д. Закревского, мне предстояло исследовать класс шифров, в открытой отечественной литературе известных теперь как шифры гаммирования и входящих в класс современных поточных шифров. Как потом выяснилось, аналогичный договор заказчик уже имел с МВТУ им. Н. Э. Баумана, в котором в качестве генератора гаммы (ключевого потока) предлагалось использовать двоичный регистр сдвига с линейной обратной связью максимального периода (ЬЕВИ,). В первом же нашем отчёте заказчику было показано, что такой генератор не обладает никакой стойкостью к криптоанализу. Более того, мы показали, что столь же слабым генератором гаммы является всякий инициальный линейный автономный автомат над любым конечным

полем, а именно: любой такой автомат с размерностью состояния п эквивалентен ЬЕВИ, длины п и восстанавливается (с точностью до эквивалентности) по отрезку его выходной последовательности длиной не более 2п.

Конечный инициальный линейный автономный автомат над полем ^ (д) за-

дается пятеркой объектов Ь = ($, ^, А,£,йо), где Б = ^п и Z = ^т для некоторых натуральных п и т суть множества соответственно состояний и выходных символов автомата, А и В — его матрицы переходов и выходов размеров п х п и п х т соответственно с элементами в ^ и в0 Е Б — начальное состояние автомата. Число п называется размерностью автомата Ь. Он порождает последовательность выходных символов г = г0Х\... , где для любого целого £ ^ 0 символ г* вычисляется по правилам: г* = в*В и = в*А. В его применении в роли генератора гаммы ключ шифра составляют матрицы А, В и начальное состояние в0, а гамму — последовательность г. В его криптоанализе предполагается известной верхняя граница N для размерности п. Целью криптоанализа является раскрытие алгоритма генерации гаммы, а именно: с известным N и неизвестными А, В и в0 требуется построить (если возможно) некий алгоритм, который точно воспроизводит весь ключевой поток г по заданному конечному его отрезку г0г1... г^-1. Ниже показывается, как такой алгоритм можно построить, если I ^ 2N.

В самом деле, в последовательности состояний 5051... , где з4+1 = з4А для £ ^ 0, вектор вм является линейной комбинацией векторов в0, 51, . . . , вм-1, т. е. вм = ^2^о1 Су в у для некоторых с0,...,см-1 в ^. После умножения последнего равенства на Аг для каждого % ^ 0 получим вм+г = ^2М-1 Судля всех % ^ 0. После умножения, в свою

т-> ^\М— 1

очередь, этих равенств на В получим рекуррентные соотношения гм+г = 2^у=о Суг^+у для % ^ 0. Решая систему первых N из них, т. е. для % = 0,1,... , N — 1, относительно неизвестных со, ... , См-1, получаем алгоритм вычисления из начального отрезка г0г1... гм-1 последовательности г остальных ее членов гм+г, % ^ 0, по рекуррентной

формуле гм+г ^3у=0 СУ г*+У.

Это был 1964 год. Начались поиски стойких генераторов ключевого потока в классе нелинейных автономных автоматов. Так мы вышли на автоматные генераторы с функцией выхода в качестве ключа и на генераторы нормальных рекуррентных последовательностей (НРП) — регистры сдвига с нелинейной обратной связью максимального периода. Для них мы разработали оптимальные алгоритмы криптоанализа и получили экспериментальные оценки их теоретической стойкости, или расстояния единственности — наименьшей длины отрезка последовательности на выходе генератора, достаточной для восстановления его ключа. Оптимальность алгортма как раз и означает тот факт, что он находит ключ генератора по отрезку ключевого потока длиной, равной расстоянию единственности.

1.3. Криптоанализ автоматного генератора с ключевой функцией выхода

Генератор ключевого потока, который мы здесь рассматриваем, представляет собой произвольный инициальный конечный автономный автомат С = (^, Z, /, д, д(0)) с множеством состояний Q = {0,1}п, множеством выходных символов Z = {0,1}, с начальным состоянием д(0), функцией переходов /: Q ^ Q и функцией выходов д: Q ^ Z, зависящей существенно от к переменных для некоторого к ^ п. Последнее означает, что существуют функция к: {0,1}к ^ Z и натуральные %1 < %2 < ■ ■ ■ < %к в {1, 2,... , п}, такие, что д(д1, д2,... , 2п) = к(д*1, дг2, ...,&*) для всех наборов (<21 <22 ...2п) Е Q; в этом случае %1, %2, ..., %к суть номера существенных переменных функции д. Предполагает-

ся, что ключом генератора G служит его функция g. Это значит, что криптоаналитику известны все атрибуты в G, кроме g. Ключевой поток z = z0z1... на выходе G вычисляется по следующим рекуррентным уравнениям: z* = g(q(i)), q(i + 1) = f (q(i)), i ^ 0. Он является периодической последовательностью с периодом не больше 2”. Задача криптоанализа генератора G заключается в определении его ключа по отрезку z0z1 ...zi-1 его ключевого потока. Наименьшее l, при котором это возможно, называется теоретической стойкостью генератора G. Предполагается, что длина l отрезка ключевого потока в задаче криптоанализа не превышает периода всего потока, так как иначе надобности в решении этой задачи не возникает.

Предложены два алгоритма решения задачи его криптоанализа: один, называемый далее A, — в предположении, что криптоаналитику, кроме прочего, известно еще и число k существенных аргументов искомой ключевой функции g, и другой, называемый далее B, — в предположении, что криптоаналитик знает не k, но верхнюю границу k0 для него.

Оба алгоритма построены по следующей общей схеме.

На вход алгоритма символ за символом поступает ключевой поток с генератора G. После поступления символа z0 алгоритм располагает начальным состоянием q(0) и значением z0 = g(q(0)) искомой ключевой функции g на нем. В момент поступления очередного символа z* для i ^ 1 алгоритм уже имеет состояния q(j) генератора и значения zj = g(q(j)) функции g на них для j = 0,1,... , i — 1, вычисляет очередное состояние q(i) генератора, получает значение z* = g(q(i)) функции g на нем, строит множество M покомпонентных разностей q(r) ф q(s) для всех таких векторов q(r), q(s) в {q(0),q(1),... ,q(i)}, для которых zr = zs, и отбирает в M подмножество inf M всех минимальных по порядку ^ векторов. Далее действия алгоритмов A и B расходятся.

В алгоритме A выясняется, единственно ли покрытие из k столбцов матрицы || inf M||, строками в которой являются все векторы в inf M, и если — нет, то наблюдается очередной символ ключевого потока. Это продолжается до тех пор, пока не будет получена матрица || inf M|| с единственным покрытием (строк столбцами) мощности k. Номера столбцов последнего являются номерами существенных аргументов функции g.

В алгоритме B, в отличие от A, ключевой поток наблюдается до той поры, пока не выполнится условие единственности: все покрытия (строк) не более k0 столбцами матрицы || inf M|| образуют звезду, т. е. имеют общее пересечение — ядро; в этом случае номера столбцов в последнем являются номерами существенных аргументов функции g.

С нахождением существенных аргументов ключевой функции g оба алгоритма делают одно и то же следующим образом. Пусть к этому моменту в алгоритм поступил отрезок ключевого потока длиной m. Тогда находится наименьшее l ^ m, такое, что в наборах q(0), q(1), ... , q(l — 1) содержатся все наборы значений существенных переменных функции g, после чего равная ей функция h на произвольном наборе значений ее существенных переменных определяется как h(qil, qi2,... , qifc) = zj, где j находится из условий 0 ^ j ^ l — 1 и q(j) = q1q2 ... qn.

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

1.4. Криптоанализ генератора н о р м а л ь н о й р е к у р р е н т н о й п о с л е д о в а т е л ь н о с т и

В рамках договора с ЦКБ «Алмаз» были разработаны также оптимальный алгоритм криптоанализа генератора НРП и алгоритм вычисления его теоретической стойкости. Эти исследования базировались на классической работе Н. М. Коробова по нормальным периодическим системам (Изв. АН СССР, сер. матем. 1951. Т. 15. №1. С. 17-46).

Для натуральных к ^ 2 и п ^ 1 нормальная рекуррентная последовательность значности к и порядка п, или сокращённо НРП(к,п), — это такая последовательность в = в0в1..., в которой вг Е Е = {0,1,...,к — 1} для каждого % ^ 0 и {вгвг+1... вг+п-1: % = 0,1,... , кп — 1} = Еп. Она периодическая с периодом кп и обозначается как < в0в1... 5к«-1 >. Функция /: Еп ^ Е, определяемая равенствами /(вгвг+1 . ..вг+п-1) = вг+п для % = 0,1,...,кп — 1, называется её генератором. При заданном начальном состоянии в0в1... вп-1 генератор / порождает НРП(к,п) в как решение системы рекуррентных уравнений вг+п = /(вгвг+1 . ..вг+п-1), % ^ 0. В случае к = 2 генератор / любой НРП(к,п) представляется в виде /(х0, х1,... , хп-1) = = х0 ф д(х1,... ,хп-1), где функция д(х1,... , хп-1) = /(0,х1,... , хп-1) называется порождающей функцией этой последовательности.

Для начального отрезка в* = в0в1... в^-1 некоторой НРП(к,п) в, имеющего длину I в границах п < I < кп, определяется область запрета как подмножество всех слов а1а2 ... ап в Еп, в которых ап есть символ в в*, примыкающий справа к слову а1а2 ... ап-1, когда оно в в* встречается £-й раз, считая слева направо, и 1 ^ £ < к.

Подмножество из д = кп-1 — 1 слов в Еп

^г1^г2 . . . ^гп (% — 1, 2, . . . , д) (1)

называется особой системой, если все слова ^12^13 . . . ^1n, &1^г2 . . . ^гп-1 (% = 1, 2, . . . , д)

различны, и возможно такое упорядочение слов в ней, при котором для любого ] ^ 2 слово ^у2^у3 ... ^уп совпадает с одним из слов $12$13 ... $1п, $г1$г2 ... ^гп-1 (% = 1, 2,... , ] — 1). Особая система (1) называется соответствующей отрезку в*, если $и$12 ... £1п = = ^11в0в1... вп-2 и её пересечение с областью запрета для в* пустое.

Доказана теорема, согласно которой с отрезка в* начинается единственная НРП(к,п), если и только если единственна особая система, соответствующая этому отрезку, и любое слово из Еп-1 по крайней мере (к — 2) раз содержится среди слов

вг+1вг+2 . . . вг+п-1 для % = 0, 1, . . . , I — п.

Доказано также, что все НРП(к, п), начинающиеся с отрезка в*, и только их, можно построить следующим методом.

Метод А3. Выбираем произвольную особую систему (1), соответствующую отрезку в*. Первые I знаков последовательности выписываем совпадающими соответственно со знаками данного отрезка. Выписывание остальных знаков, начиная с (/ + 1)-го, производим по следующему индуктивному правилу: пусть уже выписаны I + ] знаков

вов1... вг+у-1, (2)

] ^ 0; выбираем такой знак вг+у Е Е, что слово вг+у-п+1вг+у-п+2 ... вг+у не встречается в последовательности (2) и совпадает с одним из слов выбранной особой системы лишь в случае, если все остальные слова вида вг+у-п+1 вг+у-п+2 ... вг+у-1г, где г = вг+у, в (2) уже встречаются, и приписываем его справа к (2). Построение заканчивается с

получением последовательности длиной кп. Это будет периодическая часть некоторой НРП(к, п).

Необходимые для метода А3 особые системы, соответствующие отрезку в*, строятся следующим методом.

Метод В1. В первой строке выписываем любое слово $и$12 ... $1п = ^11в0в1... вп-2, не все знаки которого одинаковы и которое не принадлежит области запрета для в*. Все остальные строки, начиная со второй, строим по следующему индуктивному правилу. Пусть уже выписаны ] — 1 строк $г1$г2 ... $гп (% = 1, 2,... , ] — 1) для ] ^ 2. Тогда в ]-й строке выписываем любое такое слово ^у1^у2 ... ^уп Е Еп, не принадлежащее области запрета для в*, для которого слово ^у1^у2 ... ^уп-1 отлично от каждого из слов $12$13 . . . ^1п, $г1$г2 . . . ^т-1 (% = 1, 2, . . . , ] — 1) и слово ^у2^у3 . . . ^уп содержится среди них. Построение методом В1 заканчивается с построением д строк.

Доказано, что методом В1 можно построить все особые системы, соответствующие заданному отрезку в*, и только их.

Оптимальный алгоритм криптоанализа генератора НРП(к, п) выглядит следующим образом: последовательность на выходе генератора наблюдается до тех пор, пока не будет получен её отрезок, удовлетворяющий условиям единственности его продолжения, после чего вся НРП, порождаемая генератором, восстанавливается методом А3. Длина этого отрезка фиксируется как расстояние единственности (теоретическая стойкость) данной НРП.

Зкспериментальные исследования алгоритма на компьютере показали, что расстояние единственности для НРП(2, п) лежит в пределах от 2п-1 — 1 до 2п — 1, что свидетельствует о высокой стойкости их генератора.

Это был 1965 год — последний год нашего сотрудничества с ЦКБ «Алмаз» в этой области. К сожалению, по моему человеческому простодушию, в отношения нас с заказчиком вмешался генерал Козлов, и заказчику было запрещено прибегать к нашим криптографическим услугам. Через 40 лет история повторится, но это будет уже в другой стране, с другим заказчиком и при другом генерале.

2. Переходный период

2.1. Под вывеской экспериментов с автоматами

Наши дальнейшие криптографические исследования проводились без ориентации на какого-либо заказчика, носили чисто научный характер и вплоть до признания за криптографией права защищать информацию в интересах не только государства, но и его граждан, касались, главным образом, теории экспериментов с автоматами, имеющей очевидный криптографический «окрас» и в то же время не ограниченной теми запретами, которые сопровождают практическую криптографию. Именно как результаты этой теории, хотя и с большой задержкой, были опубликованы приведённые выше алгоритмы криптоанализа и оценки теоретической стойкости линейного автономного автомата [4, 6], автоматного генератора с ключевой функцией выхода [2, 4, 7] и генератора НРП [3, 4, 8, 10].

В [12] показано, что любой инициальный линейный автомат над конечным полем с размерностью входного символа к и состояния п можно восстановить простым экспериментом длиной не больше 2п + к(п +1).

Решена задача синтеза конечного автомата с минимальным числом состояний, которому присущ заданный кратный эксперимент [14, 16].

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

автомата в классе всех инициальных автоматов с тем же или меньшим числом состояний [18].

Дальнейшие теоретические исследования генератора НРП привели к построению аналитического выражения для точной верхней оценки его расстояния единственности [13]. Для к-значной последовательности порядка п она равна 2п — 2, если к = 2 и п =2, 3, 4, и равна кп — 1 в остальных случаях. К сожалению, точная нижняя оценка для этой характеристики генератора НРП до сих пор не установлена. В эксперименте на компьютере исследована сложность булевых функций, порождающих двоичные НРП [9], и показано, что среди таких функций с любым числом переменных п до 20 с небольшим существуют функции, представимые в бесповторной ДНФ [17, 46]. Гипотеза автора о том, что это верно для любого натурального п, к сожалению, пока не доказана.

2.2. Д е к о м п о з и ц и я к о н е ч н ы х а в т о м а т о в

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

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

Известно (Н. Р. Zeiger), что любой конечный автомат можно разложить в каскадную сеть из перестановочно-возвратных (ПВ-) автоматов. Нами доказано, что в такой

сети, построенной для автомата с п ^ 3 состояниями методом Зейгера, гарантирующим делимость полугруппы автомата группами компонент сети, число последних может достигать 2п-1 — 1. Показано также, что без требования групповой делимости всякий автомат с п состояниями разлагается в каскадную сеть из ПВ-компонент, число которых не первышает п — 1. С применением аппарата СНУП доказано, что эта оценка точная.

Автомат с п ^ 2 состояниями каскадно приводим по представлению, если и только если он не является константным автоматом 2-го порядка.

Автомат каскадно т-приводим по состояниям, если и только если каждый простой делитель его полугруппы изоморфен группе подстановок степени < т.

Перестановочный автомат каскадно т-приводим по состояниям, если и только если каждый композиционный фактор его группы изоморфен группе подстановок степени < т.

Автомат параллельно т-приводим по состояниям, если и только если его полугруппа делит прямое произведение полугрупп преобразований множества { 1 , . . . , т — 1 } , взятых в степенях, показатели которых не превосходят их порядков в степени пп.

Перестановочный автомат с полупростой группой О параллельно т-приводим по состояниям, если и только если в О существуют нормальные делители с единичным пересечением, фактор-группы по которым являются гомоморфными образами групп подстановок степени < т.

Перестановочный автомат с полупростой группой параллельно приводим по полугруппе, если и только если в его группе существует система неединичных нормальных делителей с пересечением, равным 1.

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

Установлены также параллельная неприводимость по представлению любого сильно связного автономного автомата, порядок которого есть степень простого числа, и параллельная приводимость по представлению любого перестановочного автомата, порядок которого не есть степень простого числа.

Генераторы НРП интересны не только как источники ключевого потока, но и, подобно ЬЕВИ,, как компоненты других более сложных криптоалгоритмов. В этой связи представляет интерес наше утверждение, доказанное конструктивно в [17], о том, что для любых натуральных т и п ^ т любой конечный автомат с т состояниями можно разложить в каскадную сеть из триггеров и генераторов НРП порядка п.

Исследуя автономные автоматы как генераторы ключевого потока, мы выяснили в [17], при каких необходимых и достаточных условиях для заданных натуральных т и к произвольный автономный автомат с т состояниями можно представить каскадной или параллельной сетью автоматов с числом состояний меньше т и числом входных символов меньше к в каждом. В случае каскадной сети и к > 2, т > 2 это возможно, если и только если т > р, где р — наибольший простой делитель периода полугруппы автомата, а в случае параллельной сети и к> 1, т> 2 — если и только если т > шах(г,р“), где г — индекс полугруппы автомата и р“ — наибольший сомножитель в каноническом разложении её периода.

2.3. Р а з в и т и е а л г о р и т м и ч е с к о й б а з ы д л я к о м п ь ю т е р н о й к р и п т о г р а ф и и

Эти исследования являются частью общего направления нашей научной школы в ТГУ — автоматизации решения комбинаторных задач прикладной дискретной математики. Это значит, что конечными результатами исследований в этом направлении должны быть алгоритмы решения комбинаторных дискретно-математических задач, аттестованные в эксперименте на электронной вычислительной машине (ЭВМ, или по-современному — компьютере). Фактически уже тогда речь шла о создании нового направления в математике — компьютерной дискретной математики. Первые «кирпичи» в фундамент этой науки заложил А. Д. Закревский [11], предложивший системы подмножеств конечных множеств представлять в ЭВМ при помощи булевых и троичных матриц и разработавший иерархическую систему математических операций над такими матрицами и эффективные алгоритмы их выполнения. Система охватывает широкий спектр операций — от простейших (нахождение минимального столбца и максимальной строки) до предельно сложных (кратчайшее покрытие булевой матрицы или минимальное разбиение множества ее столбцов на совместимые подмножества, например). Фундаментальное и прикладное значение этой системы состоит в том, что через операции в ней легко выражаются алгоритмы решения многих задач как в самой дискретной математике, так и в ее приложениях — и не только к синтезу дискретных автоматов, но и к математической логике и криптографии.

Компьютерная криптография — это раздел прикладной криптографии, имеющий дело с разработкой, реализацией и экспериментальным исследованием на ЭВМ эффективных алгоритмов решения комбинаторых задач, возникающих в анализе и синтезе различных криптосистем — шифрования, электронной подписи, аутентификации, идентификации и др. Среди этих задач наиболее частыми являются задачи: перечислительные — когда в конечном множестве комбинаторных объектов требуется перечислить все объекты с заданным свойством; поисковые — когда в конечном множестве требуется найти хотя бы один комбинаторный объект (если он есть) с заданным свойством; оптимизационные — когда дополнительно требуется, чтобы найденный объект доставлял минимум (или максимум) заданной целевой функции. Кроме уже упомянутых выше кратчайшего покрытия и минимального разбиения на классы совместимости, к ним относятся, например, такие задачи, как генерация простых чисел с дополнительными свойствами, генерация сочетаний, перестановок и разбиений, решение систем нелинейных уравнений над конечным полем, задача о рюкзаке, алгоритмические задачи на числах, графах, кодах, булевых функциях и многие другие. Отличительными особенностями всех этих задач являются:

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

2) дискретность данных, исключающая возможность приближённых вычислений и применения традиционных методов вычислительной математики;

3) высокая вычислительная сложность, часто исключающая существование эффективного решения задачи в общем случае;

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

Один из способов организации систематического порождения возможных кандидатов в решение комбинаторной задачи даёт так называемое дерево поиска, в котором все

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

Формально эта технология решения комбинаторных задач изложена в книге [15], где можно найти и алгоритмы решения многих конкретных задач, разработанные с её применением. На момент разработки они были лучшими среди известных алгоритмов решения тех же задач.

В дальнейшем обход дерева поиска с возвращением был распараллелен для выполнения на многопроцессорной вычислительной системе кластерного типа, о чём см. в отдельной статье [56] этого номера.

3. Наша «гражданская» криптография

С развитием в стране «гражданской» криптографии наши криптографические исследования испытали второе рождение. Оно случилось на стыке двух тысячелетий в непосредственной связи с открытием в ТГУ специальности «Компьютерная безопасность» со специализацией криптографической направленности. Научная школа прикладной дискретной математики ТГУ стала базой для подготовки кадров по новой специальности. Криптографию в ТГУ мы начали преподавать ещё раньше и задолго до того, как в стране появилась первая книжка по этому предмету. Именно результаты наших собственных научных исследований в области криптографии прошлых лет стали основой для постановки в ТГУ и криптографических дисциплин, и криптографической специализации в целом. Ныне в этом деле, наряду с фундаментальными теоремами криптографии [30], значимое место занимает и научная продукция наших современных криптографических исследований, проводимых с активным участием молодёжи, в том числе студентов и аспирантов.

Предмет этих исследований составляют кодовые шифрсистемы [20], системы полиномиальных уравнений над конечным полем и их применение в криптоанализе симметричных шифров [21, 23, 26, 27, 36, 37, 39, 45, 47, 52], криптографические протоколы [19, 22], булевы функции с криптографическими свойствами и их применение в синтезе поточных шифров [24, 34, 35, 40], вероятностные схемы поточного шифрования [31, 43, 49], инволютивные шифры [32, 42], теоретико-числовые алгоритмы, применяемые в анализе и синтезе криптосистем с открытым ключом, [19, 33, 38, 48], генераторы ключевого потока [25, 41, 46, 54], шифрующие автоматы [51], итеративные блочные шифры с аддитивным раундовым ключом [52], схемы разделения секрета [50, 53], параллельная генерация сочетаний, перестановок и разбиений для криптографических применений [28, 44] и др.

3.1. Криптоанализ кодовых шифрсистем [20]

Рассматриваются кодовые шифрсистемы над полем ОЕ(2). Они строятся на основе двоичных кодов, исправляющих ошибки, и, как все шифрсистемы, делятся на два класса — симметричные, или с закрытым ключом, и несимметричные, или с откры-

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

Шифрование в симметричной кодовой шифрсистеме описывается уравнением

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

у = хО ф е, (3)

где х — булев вектор с к компонентами, являющийся сообщением; у — булев вектор с п компонентами, являющийся криптограммой; О — булева матрица размера к х п, которая является закрытым ключом и представляет собой порождающую матрицу некоторого двоичного линейного (п, к)-кода, исправляющего ошибки кратности до £ ^ 1; е — случайный булев вектор ошибки с п компонентами, который содержит не более £ единиц. Задача криптоанализа, решаемая в этом случае, — так выбрать значения вектора х, чтобы по ним и соответствующим значениям вектора у = хО ф е при случайных и неизвестных значениях вектора е можно было найти матрицу О.

Выберем в качестве значений х единичные векторы длиной к, беря каждый из них некоторое число в ^ 3 раз. Тогда рассматриваемая задача криптоанализа сводится к решению к раз следующей частной задачи: пусть булевы векторы д, у1,... ,у5, е1,... , е5 длины п удовлетворяют системе уравнений у^ = д ф е^, г = 1,... , в, где в ]-й раз для ] = 1,..., к вектор д есть ]-я строка искомой матрицы О и векторы е1,..., е5 случайные веса ^ £; требуется, зная у1, ..., у5, найти вектор д = д1...дп.

Эта частная задача решается следующим образом: пусть у^ = у^у^ ... Ут для г = 1,... , в; тогда для каждого ] = 1,... , п подсчитываем вес вектора у^у2у ... у.^ и полагаем д' = 1, если > в/2, и д' =0 в противном случае; вектор д' = д'... дп принимаем за решение. Если £ < п/2, в = 2г + 1, г ^ 1 и р — вероятность принятия компонентой векторов е^ значения 1, то вероятность совпадения д' с искомым д равна Р = ^Г=0 С^рг(1 — р)5-г. Например, при п =19, в = 29 и £ ^ 4 имеем Р = 0, 999.

В эксперименте на компьютере построены зависимости от п и £ максимального и среднего арифметического значений числа в, при котором д' = д. Из них следует, что с ростом п отношение в/п убывает. Например, при £ = п/4 и п = 32,64,128, 256, 512 среднее значение такого в равно 4, 5, 5, 6, 8 соответственно.

В случае несимметричной кодовой шифрсистемы в уравнении шифрования (3) матрица О является открытым ключом, и решаемая задача криптоанализа в этом случае состоит в решении уравнения (3) с известными О и у относительно неизвестного х = х1х2 ... х^ при неизвестном булевом векторе е веса, не превосходящего заданного числа £. Это есть задача декодирования для кода, порождённого матрицей О, и в общем случае (для произвольной матрицы О) не решаема за полиномиальное время.

Булев вектор а = а1а2 ... а», где г ^ к, называется её частичным решением, если не превышает величины £ вес вектора е(а) = у ф а1д1 ф • • • ф а^, где д^ для ] = 1,... , к есть ]-я строка матрицы О; в этом случае вектор х = а0к-г есть (полное) решение задачи.

Поиск частичного решения осуществляется обходом дерева поиска с возвращением, в котором последовательно порождаются в качестве кандидатов на место префикса в нём булевы векторы длиной не больше к. Это делается при помощи алгоритма ветвления, выбирающего вслед за вектором а1а2 ... а^-1 поочерёдно всевозможные векторы а1а2 ... а^, и условия возвращения, при котором выбранный вектор а = а1а2 ... а для г < к не может быть префиксом частичного решения. Последнее выполняется, если

истинен оценочный предикат £0 + £' > £, где £0 есть число номеров одновременно единичных компонент вектора е(а) и нулевых столбцов матрицы Н, равной матрице О без первых г строк, и £' вычисляется следующим образом. Пусть т есть число классов равных ненулевых столбцов в Н, и в-й из них, в = 1,... , т, состоит из столбцов с номерами г1, . . . , гр. Обозначим ^0 и £51 количество нулей и единиц соответственно среди компонент вектора е(а), имеющих номера г1, ..., гр. Пусть ^ = ш1п(£в0,£51). Тогда Ц = ^т=1 *в.

Эффективость этого алгоритма в значительной степени зависит от порядка компонент в векторе х. Его оптимизация в каждом конкретном случае является отдельной задачей.

3.2. С и с т е м ы у р а в н е н и й н а д к о н е ч н ы м п о л е м Возможность применения решений систем алгебраических уравнений в криптоанализе шифров обусловлена возможностью описания ими (системами) зависимостей в шифрах между символами известных открытого и шифртекстов и неизвестного закрытого ключа. В криптоанализе генераторов ключевого потока в поточных шифрах система уравнений связывает известные символы потока с неизвестными символами ключа. Основными средствами в решении систем уравнений над конечным полем в наших исследованиях служат дерево поиска с возвращением и метод его сокращённого обхода, составляющие основу созданной нами ранее технологии решения комбинаторно-логических задач [15]. Таким путём построены, в частности, алгоритмы криптоанализа сжимающего и самосжимающего генераторов ключевого потока [23], а для сжимающего генератора, кроме того, получены экспериментальные оценки его теоретической стойкости [26]. Эффективность этой технологии применительно к другим (не криптографическим) комбинаторным задачам демонстрируется в обзорной статье [55] этого номера.

Обход дерева поиска допускает эффективные процедуры распараллеливания на многопроцессорных вычислительных системах кластерного типа [29]. Как это делается в общем виде, а также для конкретных комбинаторных задач, имеющих криптографические применения, в том числе и для решения систем уравнений над конечным полем, демонстрируется в ещё одной обзорной статье [56] данного номера.

Для решения систем уравнений над конечным полем предложен метод линеари-зационного множества [21, 39]. Последнее — это подмножество переменных системы со свойством: при фиксации любых их значений система уравнений превращается в линейную. Метод состоит в поочерёдной подстановке в систему всевозможных наборов значений переменных линеаризационного множества и в решении получающейся в каждом случае линейной системы методом Гаусса. Его сложность оценивается экспонентой от числа переменных в линеаризационном множестве. Предложен алгоритм построения линеаризационного множества наименьшей мощности обходом дерева поиска с возвращением; разработаны, реализованы и исследованы параллельные алгоритмы решения этой задачи и задачи решения системы линейных уравнений [27, 36, 37, 47, 56].

3.3. Линеаризационная атака Определение неизвестного ключа криптоалгоритма как решение его системы уравнений методом линеаризационного множества назвается линеаризационной атакой [21]. В двоичном случае её вычислительная сложность оценивается числом 2й , где к — мощность используемого линеаризационного множества. Так, для генератора ключевого потока Оейе линеаризационное множество образуют компоненты ключа, составляющие начальное состояние одного из его регистров, и к совпадает с длиной

этого регистра. Это значит, что фактическим ключом генератора Оейе является состояние только одного его регистра. Эти утверждения верны и для ряда других генераторов ключевого потока, в том числе для генераторов с альтернативным управлением, скалярного умножения и мультиплексорного. Известно, что корреляционная атака на генератор Оейе с длинами регистров п1, п2, п3 имеет сложность 2п1 + 2п2 + 2пз, в то время как сложность линеаризационной атаки на него равна одному из слагаемых последней суммы. Показано также, что сложность линеаризационной атаки на пороговый генератор ключевого потока не превосходит 2т, где т — его расстояние единственности.

3.4. В е р о я т н о с т н ы е с х е м ы с и м м е т р и ч н о г о п о т о ч н о г о ш и ф р о в а н и я

Предложены два класса вероятностных схем симметричного поточного шифрования над конечным полем [31]. Генератор ключевого потока в них функционирует как фильтрующий генератор на основе ЬЕВИ, максимального периода. В схемах первого класса в качестве функции фильтрации выступает комбинация линейной и нелинейной функций так, что первые п символов ключевого потока, где п — длина регистра,

являются значениями линейной функции, а остальные символы — значениями нели-

нейной функции (на соответствующих состояниях регистра). Линейная функция служит ключом шифра (или определяется по нему), а начальное состояние в0 регистра

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

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

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

самосинхронизации достигается за счет использования в генераторе ключевого потока (ГКП) регистра сдвига, через который пропускается шифртекст, и нет определения самосинхронизирующегося поточного шифра в общем виде, что, понятно, служит тормозом в развитии теории таких шифров. В работе [49], для преодоления этого недостатка, формализовано понятие самосинхронизирующегося с задержкой т поточного (коротко: с/п-т) шифра, в котором на каждом ключе в роли ГКП служит конечный автомат Мура, и доказано, что в случае сильной связности последнего всякий такой шифр функционально неотличим от некоторого регистрового шифра — (с/п-т)-шифра на регистре сдвига длиной т. Регистровый шифр определён так, что может использоваться как вероятностный (с/п-т)-шифр. В этом случае шифртекст вычисляется в нём как функция ключа и случайного состояния регистра и передаётся вместе с этим состоянием получателю, который получает открытый текст после отбрасывания первых т символов из результата расшифрования принятого сообщения по ключу и любому состоянию регистра дешифратора.

3.5. Булевы функции с криптографическими свойствами

Показано, каким образом можно построить все булевы функции, сохраняющие линейную сложность произвольной линейной рекуррентной последовательности (ЛРП) над полем из двух элементов, и оценивается их число, которое для т-последователь-ности порядка п равно 2(2П — 1)^(2га — 1)/п [24]. Доказано, что булевы функции, тождественные своим переменным или отличающиеся от них только на нулевом наборе значений их всех, сохраняют линейную сложность любой двоичной ЛРП, а линейные булевы функции, не тождественные нулю и своим переменным, и функции, отличающиеся от них только на нулевом наборе, сохраняют линейную сложность всякой т-последовательности над полем из двух элементов [34].

Установлено, что булевы функции, линейные по первой или последней из своих существенных переменных, не имеют запрета, и найдено выражение для их числа; предложен графический тест на отсутствие у булевой функции запрета заданной длины /, и на его основе сформулированы алгоритмы порождения всех запретов длины I данной функции и всех функций без запрета данной длины I [35].

Доказана теорема о связи порядка устойчивости булевой функции с порядками устойчивости коэффициентов её разложения Шеннона, и на её основе сформулирован рекурсивный метод построения булевых функций от заданного числа переменных с заданным максимальным порядком устойчивости [40].

3.6. Теоретико-числовые алгоритмы в криптографии

Исследованы два варианта реализации алгоритма Адлемана дискретного логарифмирования в Zp для простого р [33]. В первом варианте в систему сравнений для логарифмов простых чисел из факторной базы не включаются сравнения с ненулевыми необратимыми в коэффициентами на диагонали треугольной матрицы системы,

так что система имеет единственное решение, а во втором — в систему включаются все возможные сравнения, но из её многочисленных решений отбирается только то, которое состоит из всех требуемых логарифмов. Варианты сравнивались по скорости логарифмирования на компьютере при разных размерах модуля и факторной базы. Эксперименты показали в пользу второго варианта. Доказана корректность алгоритма Адлемана для дискретного логарифмирования по простому модулю р в любой циклической подгруппе О группы Z* с факторной базой, не обязательно целиком содержащейся в О. В действительности факторная база в этом случае вместе с элементом х Є может содержать и все корни 5-й степени из х5 по модулю р, где в находится из

условий: p = вq +1 и q — простое число. Такое расширение факторной базы упрощает применяемое в алгоритме разложение чисел в Zp на множители из факторной базы и не увеличивает размерности решаемой системы сравнений.

В эксперименте на компьютере исследовались [19] следующие алгоритмы факторизации чисел RSA n = pq: Div1 — последовательным делением n на простые числа от 2 до n1/2, Div2 — последовательным делением n на простые числа от n1/2 до 2, Olv — методом Дж. Г. Олвея и Fer — методом Ферма. Установлено, что на числах длиной до 64 бит среди этих алгоритмов наиболее медленный алгоритм Olv и наиболее быстрые

— Fer и Div2, и, кроме того, время работы каждого из последних двух растёт линейно с ростом | p - q| .

В [19] представлены также результаты экспериментального исследования на персональном компьютере прошлого века длительности некоторых известных атак на шифр RSA — с общим модулем, циклической и обобщённой циклической, с малой экспонентой шифрования и адаптивной атаки с выбором шифртекста. Как показал эксперимент, последние две атаки выполняются за пренебрежимо малое машинное время, первая — на числах длиной до 15QQ бит за время в пределах нескольких минут, а циклические атаки нередко приводят к результату за приемлемое машинное время (на числах длиной в несколько десятков бит — в пределах от долей секунд до получаса).

Предложены параллельные реализации на суперкомпьютере кластерного типа двух алгоритмов факторизации чисел — p-метода Полларда и квадратичного решета [38]. В обоих случаях распараллеливается процедура порождения последовательности необходимых пар чисел, а именно: каждый процессор, кроме управляющего, порождает свою подпоследовательность независимо от других. Кроме того, в первом случае процессор осуществляет разложение порождаемых им вторых чисел по факторной базе и результат разложения вместе с порождёнными парами отсылает управляющему процессору. Для обоих алгоритмов произведено сравнение последовательных и параллельных реализаций на кластере с 9 двухпроцессорными компьютерами, работающими с тактовой частотой 65Q МГц. Обнаружено, что ускорение (отношение времени работы последовательной программы ко времени работы параллельной) с ростом числа процессоров заметно отстаёт от него. Самое большое число, которое удалось факторизовать по p-методу Полларда параллельной программой на 12-процессорном кластере, имеет длину 128 бит. На это ушло 1Q3 часа машинного времени.

Проведено экспериментальное сравнение двух алгоритмов генерации доказуемо простых чисел — алгоритма Маурера и алгоритма из Российского стандарта электронной цифровой подписи (ГОСТ РЗ4.Ю-94) и выявлен следующий недостаток обоих: иногда они ошибочно пропускают простые числа как не прошедшие проверку по основанию 2, но признаваемые простыми проверкой по основанию 3 [48]. Кроме того, в [19] установлено, что алгоритм из стандарта ГОСТ РЗ4.Ю-94 несколько проигрывает по скорости алгоритму генерации сильных простых чисел Гордона, что объясняется применением в последнем более быстрой процедуры проверки числа на простоту по вероятностному алгоритму Миллера — Рабина.

3.7. Генераторы ключевого потока

Представлены два варианта системы логических уравнений сжимающего генератора [25]. Уравнения в первом варианте рекуррентные, во втором — моделируют алгоритм сортировки «пузырёк». В эксперименте на компьютере исследованы различные варианты программной реализации генератора Fish. Наиболее быстрый вариант, в котором обращение к массивам регистров генератора осуществляется через указатели

без использования смещения, на компьютере с частотой 700 МГц порождает ключевой поток длиной 100 Мбит за 0,441 с.

В экспериментах на современных компьютерах более тщательно исследована [41] эффективность алгоритмов А и В криптоанализа конечно-автоматного генератора О ключевого потока с функцией выхода в качестве ключа (см. п. 1.3). Выяснено, в частности, что при известном числе к существенных переменных ключевой функции длина отрезка ключевого потока, требуемого для ее определения, сравнительно не велика, в то время как при известной только верхней границе к0 для к длина требуемого отрезка ключевого потока много больше первой и быстро растет с ростом к0. Это объясняется тем, что во втором случае, особенно если к0 >> к, велико количество ложных ключей, для отсева которых как раз и требуется длинный отрезок ключевого потока. Кроме того, в этом случае возможны эквивалентные ключи, и тогда проверяемое алгоритмом В условие единственности не выполняется при любой длине ключевого потока. Этот недостаток алгоритма В преодолевается в следующем алгоритме С, решающем задачу криптоанализа О в тех же предположениях, что и В. Его применение предваряется этапом предвычислений, на котором в компьютерном эксперименте с генератором О с заданными параметрами п и к = 1, 2,...,к0 определяется ожидаемое максимальное значение /(п, к) длины кратчайшего отрезка ключевого потока, по которому алгоритм А находит решение своей задачи — ключевую функцию д при известном числе к ее существенных аргументов. Затем алгоритм С определяет ключевую функцию д применением алгоритма В к отрезку ключевого потока длиной /(п, к) + 8 для небольшого 8 ^ 0: сначала в предположении, что к = к0, затем в предположении, что к = к0 — 1, и так далее. Если при очередном предполагаемом к алгоритм В не находит д по отрезку ключевого потока длиной /(п, к) + 8, то к уменьшается на 1. Экспериментальные результаты компьютерного моделирования алгоритма С свидетельствуют о том, что алгоритм С в десятки раз эффективнее алгоритма В — и по длине требуемого ключевого потока, и по времени выполнения.

Предложен алгоритм с вычислительной сложностью 0(2п/п), позволяющий по задаваемым значениям параметра (ключа) путем склеивания циклов, порожденных циклически минимальными числами, строить двоичные нормальные рекуррентные последовательности порядка п так, что при разных значениях ключа с равной вероятностью строятся попарно неэквивалентные последовательности из множества большой мощности [54]. В случае простого п последняя равна числу Птт/ тст/п, а длина ключа в битах — числу ((2п — 2)[^(п — 1)]/(п — 1). Основной инструмент в этом построении — циклически минимальное число — определяется как всякое такое целое неотрицательное число, которое не уменьшается при любом циклическом сдвиге влево его двоичного представления.

3.8. Инволютивные шифры [32, 42]

Инволютивный шифр определяется как пара С = (X, ^), где X — конечное множество сообщений и криптограмм и Q — подмножество множества инволюций на X, т. е. подстановок д: X ^ X со свойством д(д(х)) = х для каждого х Е X. В нём каждая инволюция д Е Q является одновременно ключом и операциями шифрования и расшифрования по ключу д.

Известно, что любая инволюция разлагается в произведение независимых циклов длиной не более 2. Кроме того, доказано, что количество гр всех инволюций на множестве X мощности р подсчитывается по рекуррентной формуле гр = гр-1 + (р — 1)гр-2, где г 1 = 1, г2 = 2.

Подмножество Z С X называется тестом для q Е Q, если для любого s Е Q — {q} найдётся z Е Z, что q(z) = s(z). Его можно получить, взяв по одному элементу из каждого цикла длины 2 в разложении q. Его мощность не более |Х |/2. Тест для каждого q Е Q называется тестом для C. Тест с наименьшим числом элементов называется кратчайшим. Такой тест для C можно построить как подмножество в X наименьшей мощности, которое пересекается с каждым циклом длины 2 в любой инволюции из Q. Эта задача решается как задача о кратчайшем покрытии булевой матрицы [11].

Любой ключ q шифра C однозначно определяется значениями q(x) для всех x из теста для C, поэтому криптоанализ шифра C с целью раскрытия его ключа атакой с выбором открытого текста сводится к построению теста для C.

Пусть 4|p = |Х |, а — эквивалентность на X со всеми двухэлементными классами и Ca = (X, Qa) — инволютивный шифр, где для инволюции q на X

q Е Qa ^ Vx, у Е X(xay ^ (q(x) = x Л q(y) = у Л q(x)aq(y))).

Доказано, что число всех инволюций в Ca равно ra = (p/2)!/(p/4)! и что мощность теста для любой из них равна p/4.

Произвольная инволюция q Е Qa индуцирует на множестве X/a всех классов эквивалентности а инволюцию q; по правилу q;({x,y}) = {q(x),q(y)}. Тест для Ca можно построить, выбрав по одному классу из каждого цикла в подстановке q; для всех q Е Qa и взяв из каждого выбранного класса по одному элементу. Этот тест будет кратчайшим при наименьшем числе различных выбранных классов. Такой выбор можно осуществить опять же как решение задачи о кратчайшем покрытии булевой матрицы.

Пусть далее X = An для некоторых натурального n и алфавита A и для всех q Е Q и i Е {1, 2,... , n} определены функции q*: X ^ A так, что q(x) = qi(x)q2(x)... qn(x) для любого x Е X. Пусть также B = {i1,...,ik} С {1,2,...,n}, i1 < ••• < ik и qB(x) = qix (x) ... qik(x). Инволюции q и s на X называют B-неотличимыми и пишут q ~B s, если qB(x) = sB(x) для всех x Е X. Говорят, что инволюция q Е Q определяется в C множеством B однозначно, или B-определима в C, если Vs Е Q(s ~B q ^ s = q).

Смысл последних понятий следующий. Если V есть число всех инволюций в Q, B-неотличимых от q Е Q, то 1/V есть вероятность, с которой ключ q шифра C определяется своими компонентами с номерами в B. Ключ q можно считать слабым в C, если найдётся подмножество B, при котором число V близко к 1, в частности когда B определяет q в C однозначно.

Таким образом, встают задачи: 1) найти V для заданных Q, q Е Q и B С {1,... , n};

2) найти (если возможно) хотя бы одно B С {1,... , n}, для которого B-определим в C ключ q Е Q; 3) для заданного B оценить число всех B-определимых в C ключей q Е Q в зависимости от параметров шифра и мощности B. Решения этих задач для шифра, содержащего всевозможные инволюции на множестве сообщений, и для шифра со всеми инволюциями, разложимыми в произведение циклов длины 2, представлены в работе [42].

3.9. Схемы разделения секрета

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

Базовые понятия (структура доступа — сд, схема разделения секрета — срс, совершенная срс, скорость срс, идеальная срс, сд и срс Брикелла и др.), а также основополагающие теоремы теории совершенных схем разделения секрета (о связи идеальных совершенных срс с матроидами, об условиях реализуемости сд схемой Брикелла, о соотношении между параметрами пороговой сд и реализующей ее схемы Брикелла и др.) вместе с оригинальными доказательствами систематизированы в [53].

3.10. Шифрующие автоматы В эксперименте на компьютере исследована стойкость автоматного шифра с закрытым ключом к атакам на основе шифртекста, с известным открытым текстом и с выбором открытого текста [51]. Атаки применяются к шифрам 1-го типа, где ключом служит только начальное состояние автомата, и к шифрам 2-го типа, где в ключ входят одновременно начальное состояние и некоторое подмножество переходов в автомате. Первые две атаки осуществляются «грубой силой», третья атака на автоматы 1-го типа проводится как простой безусловный диагностический эксперимент, а на автоматы 2-го типа — как простой безусловный установочный эксперимент над прямым произведением доопределений заданного частичного автомата с последующим проведением диагностического эксперимента, как в предыдущем случае. Компьютерное моделирование данных атак демонстрирует нестойкость шифров 1-го типа к атакам с выбором открытого текста — по той простой причине, что почти все шифрующие автоматы допускают короткую диагностическую последовательность.

3.11. Д и ф ф е р е н ц и а л ь н ы й к р и п т о а н а л и з Среди научных достижений последних 15-20 лет в области криптоанализа важное место занимает дифференциальный криптоанализ. Применительно к шифрам он используется для построения атак с выбором открытого текста, имеющих целью (полное или частичное) раскрытие ключа шифра. Его название происходит от английского difference — разность и связано с тем, что в нем рассматриваются зависимости не между открытыми и шифртекстами, но между разностями пар открытых текстов и разностями пар соответствующих шифртекстов при фиксированном неизвестном ключе. Со времени выхода в свет первых работ по дифференциальному криптоанализу появились десятки, если не сотни, публикаций, в которых предлагаются конкретные атаки на конкретные шифры (или другие криптосистемы), разработанные на основе этой его идеи. К сожалению, среди них нет или слишком мало работ теоретического характера, которые содержали бы изложение дифференциального криптоанализа как метода в общем виде, а именно так, как это принято в вычислительной математике — с определением основных его понятий, с формулировкой и доказательством его базовых теорем, с определением классов шифров, к которым он применим, с формулировкой его алгоритма для какого-либо из этих классов или, хотя бы, четких правил (технологии) разработки такого алгоритма. Ничего подобного, к сожалению, на данный момент в криптографии нет. Известные атаки дифференциального криптоанализа на конкретные шифры носят совершенно частный характер и не применимы к другим шифрам, даже близким по классу.

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

димых элементов теории функций на конечных абелевых группах, определение класса рассматриваемых шифров, их классификация по свойствам раундовой функции, установление необходимых вспомогательных предложений, а также формулировка альтернативного метода для одного частного случая, а именно для шифров с функцией раунда, разделимой по Фейстелю. Этот частный метод основан на теореме об аддитивном раундовом ключе и фактически повторяет классический подход дифференциального криптоанализа к DES с присущими ему недостатками. Общий же метод дифференциального криптоанализа, сформулированный как алгоритм для всех итеративных блочных шифров с аддитивным раундовым ключом, в своей основе сводится к решению системы полиномиальных уравнений над конечным полем для последнего раунда шифра с известными значениями на его выходе, с известной с ненулевой вероятностью разностью значений на его входе, с неизвестными компонентами раундового ключа и с неизвестными значениями на его входе. Для r-раундового шифра разность на входе r-го раунда берется из (г — 1)-раундовой дифференциальной характеристики этого шифра. Все построения общего характера проиллюстрированы на примере DES, взятого без операций начальной и заключительной перестановок и без расписания ра-ундовых ключей.

3.12. Криптографические протоколы и д е н т и ф и к а ц и и и ц и ф р о в ы х д е н е г

Показано [19], что в протоколе Фиата — Шамира доказывающий проходит идентификацию перед проверяющим, не зная закрытого ключа (si,... , s&) последнего, если выполнено следующее условие некорректности: «в открытом ключе проверяющего (v1,... , Vfc) есть такое число vj, что u2v-1 mod n = с2 для некоторых натуральных и и с», и, кроме того, ответ проверяющего является единичным вектором с 1 в j-й компоненте. Равенство в условии некорректности выполняется, например, если

usj mod n Е [0, /n] U [n — /n, n] и с = \Ju2v-1 mod n для некоторого u.

На базе криптографического протокола цифровых денег Шаума разработана платёжная компьютерная система для проведения расчётов между продавцом, покупателем и банком посредством электронной наличности в режиме реального времени через Internet с гарантией неотслеживаемости действий покупателя и невозможности повторного использования электронных денег участниками платежа [22].

4. Организационные мероприятия

В настоящее время исследования по криптографии в ТГУ служат научной базой для подготовки математиков по специальности 090102 «Компьютерная безопасность» со специализацией «Математические методы защиты информации». В ТГУ эта специальность открыта приказом МОПО РФ № 1219 от 18 мая 1998 г. Содержание подготовки специалистов по ней с перечнем преподаваемых дисциплин можно найти на сайте fpmk.tsu.ru.

Организацию учебного процесса по специальности и преподавание её дискретноматематических, общепрофессиональных и специальных дисциплин осуществляет кафедра защиты информации и криптографии, созданная для этой цели приказом ректора ТГУ от 7 апреля 1999 г.

Результаты проводимых научных исследований апробируются на Сибирской научной школе-семинаре с международным участием «Компьютерная безопасность и криптография» — SibeCrypt, которую кафедра, начиная с 2002 г., ежегодно проводит в сентябре в различных городах Сибири. В ней регулярно участвуют до 70 учёных,

студентов и аспирантов из учебных и научных учреждений России, Украины, Беларуси.

С целью профориентации томских школьников и для подготовки их к поступлению в ТГУ на специальность «Компьютерная безопасность» при кафедре открыта бесплатная школа юного криптографа, в которой с помощью ведущих специалистов кафедры учащиеся знакомятся с историей криптографии, овладевают необходимыми элементами дискретной математики, изучают простейшие криптографические системы и получают навыки решения криптографических задач.

ЛИТЕРАТУРА

1. Агибалов Г. П. САК-ЛЯПАС — система алгоритмов теории кодирования на основе языка ЛЯПАС // Логический язык для представления алгоритмов синтеза релейных устройств / Под ред. М. А. Гаврилова и А. Д. Закревского. М.: Наука, 1966. С. 326-341.

2. Агибалов Г. П., Левашников А. А. Статистическое исследование задачи опознания булевых функций одного класса // Тез. докл. к предстоящему Всесоюзному коллоквиуму по автоматизации синтеза дискретных вычислительных устройств, 20 - 25 сентября 1966 г., Новосибирск, 1966. С.40-45.

3. Агибалов Г. П., Левашников А. А. Программа синтеза регистров сдвига, порождающих нормальные периодические последовательности // Тез. докл. к предстоящему Всесоюзному коллоквиуму по автоматизации синтеза дискретных вычислительных устройств, 20 - 25 сентября 1966 г., Новосибирск, 1966. С. 28-31.

4. Агибалов Г. П. Распознавание операторов, реализуемых в автономных автоматах // Конф. по теории автоматов и искусственному интеллекту. Аннотации докладов и программа. М.: ВЦ АН СССР, 1968. С. 7-8.

5. Agibalov G. P. SAK-LYaPAS — a system of coding theory algorithms in LYaPAS // LYaPAS, a Programming Language for Logic and Coding Algorithms. New York; London: Academic Press, 1969. P. 690-720.

6. Агибалов Г. П. Распознавание операторов, реализуемых в линейных автономных автоматах // Изв. АН СССР. Техническая кибернетика. 1970. №3. С. 99-108.

7. Агибалов Г. П. О некоторых доопределениях частичной булевой функции // Труды Сибирского физико-технического института. Проблемы кибернетики. Вып 49. Томск: Изд-во Том. ун-та, 1970. С. 12-19.

8. Агибалов Г. П. Отождествление нормальных периодических последовательностей начальными отрезками // Труды Сибирского физико-технического института. Проблемы кибернетики. Вып 49. Томск: Изд-во Том. ун-та, 1970. С. 20-37.

9. Агибалов Г. П., Левашников А. А. Статистические оценки сложности булевых функций, порождающих нормальные периодические последовательности // Труды Сибирского физико-технического института. Проблемы кибернетики. Вып 51. Томск: Изд-во Том. ун-та, 1970. С. 6-8.

10. Агибалов Г. П. Распознавание операторов, вычисляющих нормальные периодические последовательности // Изв. АН СССР. Техническая кибернетика. 1971. №6. С.165-173.

11. Закревский А. Д. Алгоритмы синтеза дискретных автоматов. М.: Наука, 1971. 512 с.

12. Агибалов Г. П., Юфит Я. Г. О простых экспериментах для линейных инициальных автоматов // Автоматика и вычислительная техника. 1972. №2. С. 17-19.

13. Агибалов Г. П., Ванина Н. В. Точная верхняя оценка степени различимости произвольной нормальной периодической последовательности // Изв. АН СССР. Техническая кибернетика. 1973. №1. С. 131-136.

14. Агибалов Г. П. Синтез автоматов по конечно-определённым словарным функциям // Алгоритмы решения задач дискретной математики. Томск: Изд-во Том. ун-та, 1979. С.160-164.

15. Агибалов Г. П., Беляев В. А. Технология решения комбинаторно-логических задач методом сокращённого обхода дерева поиска. Томск: Изд-во Том. ун-та, 1981. 125 с.

16. Агибалов Г. П., Оранов А. М. Лекции по теории конечных автоматов. Томск: Изд-во Том. ун-та, 1984. 184 с.

17. Агибалов Г. П., Евтушенко Н. В. Декомпозиция конечных автоматов. Томск: Изд-во Том. ун-та, 1985. 128 с.

18. Евтушенко Н. В. О принадлежности последовательности множеству контрольных последовательностей автомата // Алгоритмы решения задач дискретной математики. Вып. 2. Томск: Изд-во Том. ун-та, 1987. С. 130—133.

19. Агибалов Г. П., Дирко Д. В., Казаков С. А., Коршиков Е. М., Компьютерное моделирование и исследование некоторых криптологических алгоритмов с открытым ключом // Новые информационные технологии в исследовании дискретных структур. Томск: ТНЦ СО РАН, «Спектр», 2000. С. 64-70.

20. Пронина И. В., Агибалов Г. П. Некоторые алгоритмы криптоанализа для кодовых криптосистем // Вестник Томского госуниверситета. Июнь 2000. №271. С. 115-118.

21. Агибалов Г. П. Логические уравнения в криптоанализе генераторов ключевого потока // Вестник Томского госуниверситета. Приложение. Сентябрь 2003. №6. С. 31-41.

22. Михалёва М. А. Электронная платёжная система на базе криптографического протокола цифровых денег // Вестник Томского госуниверситета. Приложение. Сентябрь 2003. №6. С. 42-49.

23. Агибалов Г. П. Логические уравнения в криптоанализе сжимающего и самосжимающего генераторов // Вестник Томского госуниверситета. Приложение. Август 2004. №9(1). С. 49-54.

24. Колегов Д. Н. О булевых функциях, сохраняющих линейную сложность линейной рекуррентной последовательности // Вестник Томского госуниверситета. Приложение. Август 2004. №9(1). С. 18-20.

25. Стефанцов Д. А. Логическое и компьютерное моделирование криптоалгоритма Fish // Вестник Томского госуниверситета. Приложение. Август 2004. №9(1). С. 82-84.

26. Тимошевская Н. Е. Экспериментальное исследование стойкости сжимающего генератора // Вестник Томского госуниверситета. Приложение. Август 2004. №9(1). С. 84-88.

27. Тимошевская Н. Е. Параллельные вычисления в решении систем логических уравнений методом линеаризации // Материалы XV Междунар. школы-семинара «Синтез и сложность управляющих систем» / Под ред. О. Б. Лупанова. Новосибирск: Изд-во Института математики, 2004. С. 97-102.

28. Тимошевская Н. Е. Параллельная генерация сочетаний и перестановок // Вторая Сибирская школа-семинар по параллельным вычислениям. Томск: Изд-во Том. ун-та, 2004. С.55-59.

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

29. Тимошевская Н. Е. Параллельные методы обхода дерева // Математическое моделирование. 2004. Т. 16. № 1. С. 105-114.

30. Агибалов Г. П. Избранные теоремы начального курса криптографии. Томск: Изд-во НТЛ, 2005. 116 с.

31. Агибалов Г. П. Вероятностные схемы симметричного поточного шифрования над конечным полем // Вестник Томского госуниверситета. Приложение. Август 2005. №14. С. 39-42.

32. Андреева Л. Н. К криптоанализу шифров инволюционной подстановки // Вестник Томского госуниверситета. Приложение. Август 2005. № 14. С. 43-44.

33. Белов А. Г. Исследование алгоритма дискретного логарифмирования Адлемана // Вестник Томского госуниверситета. Приложение. Август 2005. № 14. С. 45-49.

34. Колегов Д. Н. О некоторых классах булевых функций, сохраняющих линейную сложность линейных рекуррентных последовательностей // Вестник Томского госуниверси-тета. Приложение. Август 2005. №14. С. 57.

35. Колегов Д. Н. О булевых функциях без запрета // Вестник Томского госуниверситета. Приложение. Август 2005. №14. С. 58-60.

36. Тимошевская Н. Е. Задача о кратчайшем линеаризационном множестве // Вестник Томского госуниверситета. Приложение. Август 2005. № 14. С. 79-83.

37. Тимошевская Н. Е. О линеаризационно эквивалентных покрытиях // Вестник Томского госуниверситета. Приложение. Август 2005. №14. С. 84-91.

38. Худяшов И. И. Применение параллельных вычислений в методах факторизации // Вестник Томского госуниверситета. Приложение. Август 2005. № 14. С. 96-98.

39. Агибалов Г. П. Методы решения систем полиномиальных уравнений над конечным полем // Вестник Томского госуниверситета. Приложение. Август 2006. №17. С. 4-9.

40. Панин А. Н. Генерация булевых функций зданного порядка устойчивости // Вестник Томского госуниверситета. Приложение. Август 2006. №17. С. 47-52.

41. Агибалов Г. П., Сунгурова О. Г. Криптоанализ конечно-автоматного генератора ключевого потока с функцией выходов в качестве ключа // Вестник Томского госуниверситета. Приложение. Август 2006. №17. С. 104-108.

42. Андреева Л. Н. К криптоанализу инволютивных шифров с частично известными инволюциями // Вестник Томского госуниверситета. Приложение. Август 2006. № 17. С. 109-112.

43. Колегов Д. Н. Общая схема вероятностной поточной шифрсистемы // Вестник Томского госуниверситета. Приложение. Август 2006. №17. С. 109-112.

44. Тимошевская Н. Е. Параллельное перечисление разбиений множества методом нумерации // Вестник Томского госуниверситета. Приложение. Август 2006. №17. С. 260-264.

45. Худяшов И. И., Семёнов В. В. Применение параллельных вычислений для решения систем логических уравнений методом линеаризационного множества // Вестник Томского госуниверситета. Приложение. Август 2006. №17. С. 267-272.

46. Агибалов Г. П. Нормальные рекуррентные последовательности // Вестник Томского го-суниверситета. Приложение. Август 2007. №23. С. 4-11.

47. Тимошевская Н. Е. Оценки числа покрытий с линеаризационными множествами заданной мощности // Вестник Томского госуниверситета. Приложение. Август 2007. №23. С. 60-64.

48. Белов А. Г., Панкратова И. А. Сравнительный анализ двух алгоритмов генерации простых чисел // Вестник Томского госуниверситета. Приложение. Август 2007. №23. С. 77-80.

49. Панкратов И. В. К определению понятия самосинхронизирующегося поточного шифра // Вестник Томского госуниверситета. Приложение. Август 2007. №23. С. 114-117.

50. Андреева Л. Н. Инволюционные схемы разделения секрета // Вестник Томского госуни-верситета. Приложение. Август 2007. № 23. С. 99.

51. Тренькаев В. Н., Колесников Р. Г. Автоматный подход к атакам на симметричные шифры // Вестник Томского госуниверситета. Приложение. Август 2007. № 23. С. 77-80.

52. Агибалов Г. П. Элементы теории дифференциального криптоанализа итеративных блочных шифров с аддитивным раундовым ключом // Прикладная дискретная математика. 2008. №1. С. 34-42.

53. Парватов Н. Г. Совершенные схемы разделения секрета // Прикладная дискретная математика. 2008. №2. С. 50-57.

54. Поздеев А. Г. Построение нормальных периодических последовательностей из циклически минимальных чисел // Прикладная дискретная математика. 2008. №2. С. 15-17.

55. Андреева Л. Н. Технология решения задач кратчайшего разбиения // Прикладная дискретная математика. 2009. №2. С. 79-95.

56. Тимошевская Н. Е. Разработка и исследование параллельных комбинаторных алгоритмов // Прикладная дискретная математика. 2009. № 2. С. 96-103.

57. Закревский А. Д. Метод автоматической шифрации сообщений // Прикладная дискретная математика. 2009. №2. С. 127-137.

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