Механизмы генерации ключей в иерархических системах защиты информации

Фомичева С. Г.

Механизмы генерации ключей в иерархических

системах защиты информации

Введение

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

Криптостойкость данной иерархической системы зависит от качества генератора, порождающего последовательность векторов

р = (Р|-Р2.....Р„), являющихся ключами данной

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

H =

1 ai аГ

аГ

1

Ct 2

аГ

1

а,

а,

а.

1

а„

>

а п

сС

ключевых последовательностей рассматриваются в других работах автора [1].

1. Структура иерархической системы защиты

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

При обеспечении зашиты информации такой системой с использованием альтернантных кодов над конечными полями Галуа GF(q'") границы для вероятности успешной подмены определяются

выражением р > q ' , при этом нижняя граница успешного прочтения исходной информации

р > q'4 +r m+l (где qm - длина кодового слова аль-тернантиого кода, г число проверочных символов. При этом все пользователи системы имеют индивидуальные ключи одинаковой длины. Ключи могут быть выбраны либо самими пользователями, либо назначены каждому пользователю администратором системы. В общем случае ключ может состоять из двух частей, так называемых PIN и PIC: для хранения на твердом носителе (smart-карта), и для ввода при входе в систему. Идентификация пользователя осуществляется по совокупным данным.

Альтернантный код À(a, Р) определяется как код с проверочной матрицей:

р, 0 0 0 0

0 Р: 0 0 0

0 0 Рз 0 0

О 0 0 о р„

= XY,

где а,,..., а„ - различные элементы поля С/Чд'"), и Р|,...,Р„ - ненулевые элементы из А(а. Р) является линейным кодом над GF(q) с параметрами: длина-«, размерность к > п - тг, минимальное расстояние </>/• + 1.

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

альтернантным кодом длины п. В качестве автоматически генерируемых ключей используется вектор р = (Р,,Р2,...,РЛ), являющийся диагональю матрицы У в (3). Иерархическая система является система с непрерывной сменой ключа, т. е. в рамках системы предпочтителен потоковый генератор ключа. Полученные в результате кодовые слова

складываются в ОТ(^) с произвольными ц-ич-ными векторами длины п и веса не оолее —-—. где ё - минимальное расстояние используемого кода ( — ~ 1 • На более высоких уровнях

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

Конструктивно в данной статье рассматривается генератор нелинейных последовательностей, формируемых с помощью функций нелинейной внешней логики для комбинирования элементов последовательности, снимаемой с выхода ЛРСОС (фильтрующий генератор).

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

сложности для бент-функций £ = £

где

п - длина ЛРСОС. Отметим, что бент-преобразо-ваний для нечетных п не существует.

2. Оценка верхней границы линейной сложности ц-ичного фильтрующего генератора

Одним из основных критериев надежности защиты при использовании потоковых криптосистем - линейная сложность ключевой последовательности

Определение 2.1 [5]. Линейной сложностью называется наименьшая длина линейного регистра сдвига с обратными связями (ЛРСОС), порождающего данную последовательность.

Определение величины линейной сложности производится с помощью рекурсивной процедуры Берлекэмпа-Месси [3], в результате которой находится линейный регистр минимальной длины, порождающий заданную последовательность (линейный эквивалент). Хорошие ключевые последовательности имеют линейную сложность, при которой создание линейного эквивалента считается вычислительно невозможным (~10™).

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

с высокой линеинои сложностью, введем другое определение линейной сложности, эквивалентное первому. С этой целью заметим, что ключевая последовательность, по определению есть некоторая линейная рекуррентная последовательность:

= ак-\К+к-\ + ак^п*к-2 + - + ио*п + а< где п = 0,1,...,

а; е СИф; е СР(Ч).

Линейная рекуррентная последовательность 5 называется однородной, если а = 0. Такой последовательности можно однозначным образом поставить в соответствие многочлен

к к — 1 У(х) = х + Од. _ + ... + йГ|.т + а^, который

называется характеристическим многочленом этой последовательности. Поскольку {а.\ также задают наличие обратных связей в ЛРСОС, порождающем последовательность х , то линейную сложность последовательности 5 можно определить как степень минимального характеристического многочлена этой последовательности.

Определение 2.2.: Линейной сложностью последовательности называется степень минимального характеристического многочлена этой последовательности.

Определим верхнюю достижимую границу для линейной сложности ключевых последовательностей, порождаемых системой потокового шифра, состоящей из одного линейного регистра сдвига с обратными связями, задаваемым примитивным многочленом g(x), в которой с помощью нелинейной функции У7 комбинируются элементы последовательностей, снимаемых с различных разрядов этого рег истра.

Для этого введем следующие обозначения: g(x) - нормированный многочлен над СР(ц)\ ^8(8(х))=п'^ $(ё(х)) - множество всех линейных однородных рекуррентных последовательностей, для которых %(х) является характеристическим многочленом.

Мощность множества 3^(х)) равна </", т. е. $(80*)) содержит ровно <у" последовательностей, соответствующих выбору с/" различных значений вектора начального состояния.

Пусть ст, - последовательность ст,,,, а,,, а12,..., а а2 - последовательность а20,ст,,.а22,..., над полем С/-^«/). Определим их почленное произведение о, • <у2 как последовательность а,0 • ст20,сти ' ст21'ст12 ' <*22» — - Аналогично определяется произведение любого конечного числа последовательностей.

Введем в рассмотрение несколько многочленов над полем СР(ц) и соответствующих им множеств последовательностей:

Обозначим ... • - мно-

жество последовательностей, порожденных всеми произведениями вида ст, •... • ст, , где

а,б%,.(х)), 1 = 17/.

В [5] доказано следующее утверждение. Теорема 2.1. Если g^(x),..., gl(x) - нормированные многочлены над СР(ц), не являющиеся константами, то существует не являющийся константой нормированный многочлен И(х) над ОР'(д) такой, что 5(£,(л;)) ... • = $Щх)).

Иными словами, произведение любого конечного числа рекуррентных последовательностей над СР(ц) само является линейной рекуррентной последовательностью над СР(ц).

Обозначим ¿»|(дг) V ... V gl(x) - нормированный многочлен, корнями которого являются различные элементы вида а, •... • а,, где а, - корень многочлена g¡(x) из поля разложения многочлена £,(.0 •... • над С/^;. Например:

£,(*) = х2 + х + 1; его корни а^а, е

g2(x) = V3 + .V + 1; его корни а'т.а^а, е 23).

Многочлен:

• g2

имеет корни у2|,у42, V9. V18, V36 е СГ(2Ь). Тогда

V (.г) =

=

Известно также следующее утверждение [5]. Теорема 2.2. Пусть ^(.г),.... §/(,т) - нормированные многочлены над GF(q), не являющиеся константами и не имеющие кратных корней. Тогда

(.г)) •... • $(£,()) = $(£,(*) V ... V £,(*)).

Теоремы 2.1. и 2.2. будем использовать в интересующем нас случае. Пусть g(x) - примитивный многочлен над СТ(ц); с1е£(£(х))=п:

1 п

V, V",...,\ч - его различные корни из GF(q ). Обозначим 5(^.у)) •. • Д^(лг)) = ($(£(*)))*.

к ~сомножителей

Тогда из теорем 2.1 и 2.2 следует:

(S{g(x)))k = S(g(x) v у g(.v)) = S(h(x)),

к - элементов

где h(x) - нормированный многочлен над полем GF(q), корнями которого являются все различные элементы вида vq) • v'r •... • vqt;

ij

i e {0, л - 1}; где \>ч - корень многочлена£(*> из поля разложения многочлена gk(x) над GF(q). Заметим, что поле разложения многочлена g (х) над GF(q) есть GF(q"), где n = deg(g(x)).Тогда

= у*.« € GF(qn);

+ к2 + ... + кп = к; ij е {0. п - 1}; к, е {0. .

Степень многочлена h(x) есть число различных элементов вида (2.1).

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

Лемма 2.1. Пусть g(x) - примитивный многочлен над GF(q); deg(g(x)) = п с корнями v,v2,...,v</ из GF(q"). Пусть b - последовательность из множества S(h(x)), где h(x) - нормированный многочлен из GF(q), корнями которого являются все различные элементы вида v''" • v"' •...  v''* ij e{0./7-l}; .Тогда существуют последовательности ах,а2,...,ак из S(g(x)) такие, что b = с,«, • с2а2 ...  скак , где с j - const, Cj е GF(q), j - 1, к.

Введем еще два определения:

Определение 2.3. Пусть В = a0q" + atq[ + ... + an_lqn'] - разложение

п-1

числа В по степени q. Тогда сумму £ а, = wt(B) будет называть весом числа В. /=0

Определение 2.4. Набор {£,}"_, будем называть ненулевым, если хотя бы одно значение ki отлично от нуля.

Тогда можно доказать следующую лемму.

Лемма 2.2. Пусть к\,к2,...,кп - произвольные целые положительные числа или нули, сумма которых равна к :

/г, +к2 +... + кп = k;kie{0,\,...,k},i=Tn\k < п).

Пусть

а0Я° + + ••• + «„-\Я"~Х = В<Чп -1;ду е {0,1.....Ч-\},

) = 0. н - 1-

разложение числа В по степени q, причем вес числа В принимают значения из дискретного множества

и >1(В) е{к,к-(Ч- 1). к- 2(?-1),..., *-/(</- 1)}, где к - /(^ - 1) > 0 > к - (/ + 1)(<7 - 1).

Тогда существует ненулевой набор {к,}"_ 1, для которого А, + цк2 + ... + ч" *кп = Я(тосК</л - 1)).

По определению 2.2 линейная сложность последовательности Ь, удовлетворяющей условиям леммы 2.1, есть степень минимального характеристического многочлена Н(х), корнями которого являются все различные элементы вида (2.1).

Тогда из леммы 2.2. следует, что число различных целых В (В < £/" - 1), удовлетворяющих требованиям теоремы 2.2, равно

УС!!С'' ....... С*-"' ,

где суммирование ведется по всем различным

<7-1

/,,/,....,, таким, что X 'у • У = Л;

,4 е {*,*-(?-1),...,*-/(?-1)}, А: -/(?-!) > 0 > А -(/ + 1)(д - 1).

Леммы 2.1 и 2.2 позволяют сформулировать следующее утверждение.

Теорема 2.3. Пусть g(x) - примитивный многочлен над йРdeg (8(х)) = п с

корнями V,V1',...,\ч из . Пусть

¿1,а2,...,ак - произвольные последовательности из Тогда линейная сложность последо-

вательности й = а, • о2 ... • ак не превосходит величины

/< у С'С': • • с'"'[

" л-/, — лЧ^+'з+.-.+^-з)'

/-1

гдеЛ е {к.к - (ц - 1),...,А: - /(с/ - 1)}. а/такое.что к - 1(ц - 1) > 0 > к -(/ + 1)(? - 1).

Следствие 2.1. Пусть g(x) - примитивный многочлен над ОР(2): deg(g(x))=n. Пусть а1,а2,..., ак - произвольные последовательности из Б^Сх)). Тогда линейная сложность последо-

вательности Ь = а, - а2 •... • ак не превосходит

к

величины £ < .

/=1

3. Оценка нижней границы линейной сложности ц-ичного фильтрующего генератора

Рассмотрим случай суммы двух или нескольких рекуррентных последовательностей. Обозначим через 5(^,(.г)) + 5(^2(х)) множество всех последовательностей вида а, + а2 , где а, е $(£,(.*)), а2 е 5(£2(дг)). Такое определение суммы последовательностей распространяется на любое конечное число слагаемых.

Теорема 2.4.[5]. Пусть .....gm(x)-

нормированные многочлены над полем не являющиеся постоянными, тогда 5(5,(д)) + ... + Б(ёт(х)) = Б(с(х)) где с(х) - нормированный многочлен, являющийся наименьшим общим кратным многочленов g¡(x),.... . Если многочлены gi(x) и g/(x) - взаимно простые нормированные многочлены над С7/*Уд>, не являющиеся константами, то имеет место соотношение

Х&ШгМ) = $(&()) + $(&(*))•

Пусть g(x) - примитивный многочлен из GF(q),deg(g(x))=n. Пусть а1,а2,...,ак последовательности из S(g(x)) комбинируются с помощью нелинейной функции Р (полином Жегалкина):

^ =

где = П с,а,; М} с М = {1.2,..../;};

им,

Ц_ М] с М\ 1 = 1 ,</"; с,., с, е 6Т(</),

поле вычислений - конечное поле (//•"((/).

Определение 3.1. Нелинейная функция Т7 имеет порядок нелинейности к. если какое-либо из слагаемых, входящих в /•*, содержит максимально число сомножителей, равное к.

Если порядок нелинейности функции Рк = /, то по теореме 3.1. получаем тривиальный резуль-

л

тат: Ь = е £(£(.*)) и Ь имеет линейную

сложность равную п, как и у каждой из последовательностей а,.

Теорема 3.2. Пусть Ь - последовательность из множества 5(й(л)). где И(х) - нормированный многочлен из СТ-Хд), корнями которого являются все различные элементы вида

V*" • V9" •... • V«'*; е ¡0.1,..., п - 1} . То гда

существует нелинейная функция Г вида (3.1) порядка нелинейности не превышающего к, с помощью которой последовательность Ь порождается при комбинировании последовательностей из £(£(*)), где - примитивный многочлен над

£/•"(<7), deg(g(.x)) = п с корнями v. V*.....\ч из

6Т(</Я).

Доказанная теорема 3.2 позволяет указать нижнюю достижимую границу линейной сложности последовательностей указанного класса нелинейных функций.

Теорема 3.3. Пусть g(x) - примитивный многочлен над СГ(<7); deg (£(.г))=л. V - его первообразный корень е GF(<7"). Пусть Ь - последовательность из множества Б(И(х)), где Ых) - нормированный многочлен из СР(ц), корнями которого являются все различные элементы

вида V""  V4'2 ...  V9" ; е {0,1,..., п - 1},

Пусть Л(л) = А,(х) • /;2(л) •... • И,(х) , где Л (дг) - различные неприводимые многочлены; у = 1. /. ¿щ(И:(х)) = ¿;. Тогда линейная сложность последовательности Ь удовлетворяет неравенству С > тт(£,).

Пример. Пусть g(x) = х4 + х + I порождает

последовательность а, =100010011010111. Ее

линейная сложность п - 4. Пусть а2,а3,ал - последовательности. являющиеся циклическими сдвигами а,:

а2 = 110001001101011: а3 = 111000100110101; а4 = 111100010011010.

Тогда с помощью функции Г = а2 + а} + а4 + а2 • а3 + а4(а, + а2 + а3) получим результирующую последовательность Ь = 101101101101101 линейная сложность которой равна 2 < п = 4. т. к. минимальный характеристический многочлен последовательности Ь А(.г) = .г2 + х + 1.

4. Предельные значения линейной сложности

Пусть порядок нелинейности функции больше единицы (к > 1), и имеются два слагаемых порядка нелинейности т и к.

=  - • с'Л е *<*<*)>".

Линейная сложность последовательности />, равна ¿,, а последовательности />2 - ¿2.

Пусть и и удовлетворяют неравенству в оценках, задаваемых теоремой 2.3 для соответствующих порядков нелинейности т и к. Рассмотрим следующие дискретные множества целых чисел:

А, ={*.*-(?-1),....*-/,(<7-1)};

Л2 = {т,т - (<7 - 1),...,/н - /2(<7 - 1)|;

где к - - 1) > 0 >*-(/,+ 1)(9 - 1);

т - 12(д - 1) > 0 > т - (/2 + 1)(<7 - 1).

Пусть к > т . Тогда, если:

1) Ах Г\ А2 = 0, то линейная сложность последовательности Ь = 6, + ¿2 I = ¿, + ¿о ;

2) Л, с А2 (А{ П А2 = А2), то линейная сложность последовательности В = В1 + Ь2 Ь = Ц.

Обобщим полученные результаты в следующей теореме.

Теорема 4.1. Пусть g(x) - примитивный многочлен над СР(с/); deg (#(л)) = п. Пусть а,, а2,... - последовательности из 5(^.т)) комбинируются с помощью функции вида (3.1), которая содержит слагаемые порядка нелинейности А, к - 1, к - (<7 - 2). Тогда линейная сложность выходной последовательности, задаваемой этой функцией, не превышает максимально возможную линейную сложность для данного класса функций:

¿< у г'1 С'- •  с'*"1

2—' 1 л л-/, — ч'й-(||+<2+...+/,_2)-

Из полученной выше оценки легко получить не только верхнюю границу линейной сложности для двоичных ключевых последовательностей, но и способ построения последовательностей, лежащих на верхней границе как для двоичных, так и для я > 2 [6]. Необходимым условием достижения верхней границы является наличие в нелинейной функции комбинирования слагаемого с порядков нелинейности к. В частности если в качестве нелинейной функции комбинирования использовать полином Жегалкина, содержащий слагаемые с порядками нелинейности от 1 до А'включительно и порядковый номер сомножителей в каждом из слагаемых полинома Жегалкина различен, то ключевая последовательность строго сбалансирована и имеет хороший профиль линейной сложности. Доказательство данного утверждения рассмотрено в [1].

Следствие 4.1. Пусть g(л•) - примитивный многочлен над deg = п. Пусть

а,, а2,... - последовательности из 5(&(л*)) комбинируются с помощью функции /•" вида (3.1), которая содержит слагаемые порядка нелинейности к,к-1. к - (у - 2). Тогда линейная сложность выходной последовательности, задаваемой этой функцией, не превышает максимально возможную линейную сложность для данного класса функций:

<=1

Также необходимо отметить следующее.

Очевидным верхним предельным значением линейной сложности рекуррентной последовательности является ее период. При комбинировании последовательностей из 5(#(л:)) с помощью функции Г вида (3.1) результирующая последовательность имеет период Т = ц" - 1, поскольку #(.г) - примитивный многочлен над deg

(¿¡(х)) = п. Из теоремы 4.1. следует, что результирующая последовательность будет иметь линейную сложность, равную ее периоду в случае, если порядок нелинейности функции Р к = (ц - 1)я. Поэтому при ограничении порядка нелинейности к < п предельное значение линейной сложности последовательности, полученной с помощью функции /•" вида (3.1), равное периоду Г, может быть достигнуто в случае, когда <7 = 2, к = п.

Следует отметить, что при <7 > 2 порядок нелинейности функции внешней логики может превышать значение п в том случае, если с некоторого <7 -ичного разряда регистра сдвига в функцию внешней логики входит более одного отвода с весовыми множителями Ь, е {1,2, ...,</ - 1}. Однако

= 1~[ ¿>, = <? - I е , поэтому результирую-

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

Я"

ницы при к = п и имеет значение £ =

я-1

Например, для ц = 5, п = 5, к = 5 значение Ь равно 781.

5. Оценка количества последовательностей с максимальной линейной сложностью

Оценим количество последовательностей с максимальной линейной сложностью ¿. Поскольку Ь является степенью минимального характеристического многочлена И

на неприводимые многочлены. Отметим, что И(х) по определению не имеет кратных корней, откуда следует, что все неприводимые многочлены, на которые он разлагается, различны:

А(лг) = Л|(лг) •... • Аг(.х);6еёНх) = с1её( АД*)) = = 1.

Каждой последовательности из множества 5(А(дг)), можно однозначно поставить в соответ-

ф

ствие правильную дрооь -—, где ф(.г) - мно-

/'

гочлен. задающий вектор начального состояния. Общее количество таких дробей N^ - ц' - \. Из этого множества Б(/1(х)), выделим подмножество таких последовательностей из Б(И(х)), каждой из которых соответствует правильная несократимая

дробь 1><<л 1 . Мощность этого подмножества и к

будет определять количество последовательностей с максимальной линейной сложностью I.

Несократимую дробь можно представить в виде: ' Л

у

А

, где

\у,(х)*0, йе%(\\11(х)) < ¿е&И^х)), / = 1,г,

а суммирование производится в конечном поле ОТ((/). Поскольку каждый из ЛДдг), / = 1 ,г неприводим, то каждая из правильных дробей

—-— несократима, и число таких несократимых

дробей для Л-(.г) равно с]' - 1. где I, = с!е§( Отсюда получаем, что число последовательностей с максимальной линейной сложностью £

N = -1).

/=1

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

Определение 5.1 [5]. Функцией Мебиуса называется функция |д на множестве натуральных чисел, определяемая равенствами:

ц(л) =

1. если п = 1, (-1 если п - произведение к различных простых чисел,

0, если п делится на квадрат некоторого простого числа.

Число 1ч(п) нормированных неприводимых многочленов степени п в поле GF(q) задается фор-

мулой / („) = 1Хм(^У Л^ц«,)^".

Например, число нормированных неприводимых многочленов степени 20 в С/^):

У20) =

_1_

20

ц(1)«Г° +M(2V° +ц(4)<?5 + +ц(5)?4 + м(Ю)Г + Ц(20)<7

1 /„-о j<> = —(q - q

20

<74 + Я' )•

Определим, как изменится число N последовательностей с максимальной линейной сложностью /.. получаемых комбинированием с помощью функции Р вида (3.1) последовательностей из (где ¿Ч-г) - примитивный многочлен над СгДд)), при увеличении характеристики поля q.

N

lim Т- = lim"

/V

п- о

IW

о

> lim'

П«г -П

lim'

гк

ПтГТ 0 7") = П lim" - ~г' = 1

,-,»..1 q f.i »-.„ q

Однако:

N

lim тт~ - lim

t(\(q' - U-\)qU2)-L

я1- i

- lim

¿->30

l. i я1 - a -1)я"2 - -

у-'-

KqL - 1)

= 0.

Следовательно, количество последовательностей с максимальной линейной сложностью в пределе бесконечно велико и в пределе сравнимо с общим числом последовательностей с характеристическим многочленом И(х).

Заключение

Для иерархической системы защиты информации в статье приведены верхняя и нижняя границы линейной сложности последовательностей. получаемых в результате нелинейного комбинирования д-ичных /и-последовательностей, считываемых с различных выходов одного и того же линейного регистра сдвигов с обратными связями. В частности, выражение для верхней границы линейной сложности задается выражением:

L <

с'; с"

Если вид многочлена Ых) неизвестен, а известна лишь его степень ¿, то число последовательностей с максимальной линейной сложностью £ можно оценить следующим образом:

N >

L-1

i v')

V '=1

- L,

где /(/(/) - число неприводимых многочленов степени / над полем

А/(') = /4/> Ц(<*) - функция Мебиуса.

' <14

Известно [51, что /,,(/) > -(q' - (/ - 1)«' :

4 /

. Согласно теореме 2.5 получаем, что Пт^ = где " = <*е8(£(*))-

Тогда limv = lim

¿—ао ¿— зо

¿-i

I /,

1=1

- L

( /

t-м' -(i-iV2) V i=i'

где я - длина ЛРСОС; A- - порядок нелинейности функции комбинирования; ¿/-характе-ристика поля Галуа. Показано, что количество последовательностей с максимальной линейной сложностью в пределе бесконечно велико и в пределе сравнимо с общим числом последовательностей с характеристическим многочленом h(x). Выражение для нижней границы линейной сложности задается выражением 1* > mind,), где Lj = deg(hj(x)), j = 1,/,

h(x) = /i|(.v) • /j2(.v) •... • h,(x) - характеристический многочлен ключевой последовательности. hj(x) - различные неприводимые многочлены.

Причем С > mind,) может быть меньше п.

j

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

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Фомичева С. Г. Теория потоковых систем защиты информации. Норильск: 2007. 243 с.

2. Фомичева С. Г. Зашита информации в распределенных иерархических системах // Научно-технические ведомости СПбГПУ: Информатика. Телекоммуникации. Управление. 2008. №2. С. 91-97

3. Блейхут Р. Теория и практика кодов, контролирующих ошибки: Пер. с англ. М.: Мир, 1986. 576 с.

4. Логачев О. Л., Сальников А. А„ Я тон ко В. В.

Булевы функции в теории кодирования и криптологии. М.: МЦНМОб 2004. 470 с.

5.Лидл P., H идеррай I ер Г. Конечные поля. Т. 1,2. М.: Мир, 1988

6. Fomitchova S. G. Equivalent schemes of stream scrambler cryptosystems // Proceedings XI International Symposium on Promblems of Redundacy in Information and Control Systems. Saint-Petersburg, Russia. 2007. P. 189-193.

Лаптев В. В., МорозовА. В. Метод оценки качественных характеристик

объектно-ориентированных программных продуктов

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

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

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

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