В. В. Подколзин,
Кубанский государственный университет
В. О. Осипян,
доктор физико-математических наук, профессор, Кубанский государственный университет
ОБ ОДНОМ МЕТОДЕ ОПРЕДЕЛЕНИЯ ВЕРХНЕЙ ГРАНИЦЫ ЧИСЛА ВХОДОВ ДЛЯ РЮКЗАЧНЫХ СИСТЕМ ЗАЩИТЫ ИНФОРМАЦИИ
ABOUT ONE METHOD OF DEFINITION OF THE UPPER LIMIT OF NUMBER OF INPUTS FOR KNAPSACK SYSTEMS OF PROTECTION OF THE INFORMATION
Рассматриваются вопросы определения верхней границы числа решений входов рюкзачных систем защиты информации. Определены критерии инъективности рюкзачных систем, а также метод вычисления максимального количества решений для заданного входа для неинъективных рюкзачных систем.
Questions of definition of the upper limit of number of decisions of inputs of knapsack systems of protection of the information are considered. Criteria of injective knapsack systems and the method of calculation of a maximum quantity of decisions for the given input for not injective knapsack systems are determined.
Как известно [1—3], криптостойкость рюкзачных систем защиты информации (РСЗИ) на основе заданного рюкзака зависит от первоначального способа кодирования элементарных сообщений и процедуры последующего шифрования открытого текста. Подчеркнём, что при этом моделировании систем защиты информации с открытым ключом и с рюкзаком, обладающим заранее заданными свойствами, особое место занимает задача определения верхней границы числа входов для РСЗИ.
Пусть А=(а1,а2, ..., а„) — рюкзачный вектор размерности n (n>3) из n различных натуральных компонентов ai, i=1, ... ,n (здесь 1, ... n — отрезок натуральных чисел от 1 до n); (A, v) — вход задачи о рюкзаке, где v — также некоторое натуральное число; Zp={0, 1, 2 ,., p-1} — множество коэффициентов повторений компонентов входа. Рюкзачный вектор А=(а1,а2, ., аш) назовём с повторениями или без повторений, если его элементы повторяются или нет — соответственно. Для простоты изложения будем считать, что значения компонентов рюкзачного вектора расположены в неубывающем порядке своих значений. При этом коэффициенты повторов для компонентов рюкзака и входа (A, v) можно взять совершенно различными способами из заданных двух целочисленных положительных массивов.
Рассмотрим сначала рюкзачные векторы без повторений. В дальнейшем рюкзачный вектор А будем называть рюкзаком А.
Определение 1. Два рюкзака А=(а1,а2, ..., ая) и В=(Ь1,Ь2,.,Ьт) размерностей n и m соответственно назовем несовпадающими, если в одном из них существует компонент, не содержащийся в другом.
Например: А=(1, 2, 4, 5), В=(2, 3, 5, 6) — несовпадающие рюкзаки.
Из определения 1, в частности, следует, что два рюкзака различной размерности являются несовпадающими. Так, А=(1, 2, 4, 5), В=(1, 2, 4, 5, 6) — несовпадающие рюкзаки.
Определение 2. Два рюкзака А=(а1,а2, ап) и В=(ЬьЬ2,...,Ьт) размерностей п и
т соответственно назовем различными, если всякий компонент А не содержится в В.
Например: А=(1, 4, 2), В=(3, 8, 9, 6) — различные рюкзаки.
Очевидно, что если всякий компонент А не содержится в В, то и всякий компонент В не содержится в А.
Определение 3. Два несовпадающих рюкзака А=(а1,а2, ..., ап) и В=(Ь1,Ь2,.,Ьт) размерностей п и т соответственно назовем совместимыми в 2Р, если существует ненулевое значение V, которое может быть выражено в обоих рюкзаках с коэффициентами компонентов из 2Р, т.е. допустимы входы (А^) и (В^), в противном случае — несовместимыми.
Другими словами, уравнения
п
Iа,а, = v, (аге Zp, г = 1..п), (1)
1 = 1
т
IР ¡Ь=v , (Д-е Zp, ]=1т) (2)
и
относительно переменных (а, а2, ..., ап) и (Д, Д2, ■■■, Рт) соответственно имеют ненулевые решения.
Например, рюкзаки А=(1, 3, 5, 26) и В=(11, 27, 94) совместимы в Z4, т.к. число ^ 38 выражается в каждом из них как: 2*1+0*3+2*5+1*26 = 38 и 1*11+1*27+0*94 = 38.
Таким образом, для двух несовпадающих совместимых в Zp рюкзаков А=(а1,а2, ..., ап) и В=(Ь1,Ь2,.,Ьт) существуют два вектора: (51, 52,..., 5п) размерности п и (а1, а2,..., ат) размерности т такие, что выполняется равенство
п т
I51 а1 = I0]Ь|=^ (3)
1=1 н
при условии:
Zp, г = 1..п и с%е Zp, ¡= 1, ... т. (4)
Определение 4. Рюкзак А=(а1,а2, ..., ап) размерности п является подрюкзаком В=(Ь1,Ь2,.,Ьт) размерности т (п< т) тогда и только тогда, когда всякий компонент А является компонентом В.
Если А — подрюкзак В, то будем обозначать А Р В.
Например: Если А=(1, 4, 2) и В=(3, 1, 8, 4, 2, 9, 6), то А Р В.
Утверждение 1. Для рюкзака А=(а1,а2, ..., ап) размерности п, все компоненты которого различны (Vу а1 Ф а], 1 Ф ¡), уравнение (1) может иметь более одного решения тогда и только тогда, когда существуют два различных совместимых в Zp рюкзака В и С таких, что В Р А и С Р А.
Доказател ьство.
1. Пусть для уравнения (1) рюкзака А существует два ненулевых набора значений коэффициентов а размерности п (51, 52,., 5п) и (а1, ап,..., ап), т.ч.
пп
I51 а1 = IС]а] = V, причем (51, 52,., 5п) Ф (аь ап,., ап).
1=1 ]=1
пп
Тогда в левой и правой частях равенства 151 а1 = I а¡а], приведя подобные
1=1 ]=1
члены, получим:
п _ п
151а1 = I а ¡а]. (5)
1=1 ]=1
Определим вектор В= (а ,а ,•••, а) на основе левой части (5) как компоненты аг
рюкзака А, коэффициенты 8 г которых отличны от нуля. Аналогично определим С=(а ^2,•••, аП) на основе правой части (5) как компоненты а) рюкзака А, коэффициенты О г которых отличны от нуля^
п_____п ____ _
Тогда X§;а; = XО а-’ из чего следует, что В и С образуют два различных со-
-=1 1=1 ]
вместимых в 2р рюкзака таких, что В Р А и С Р А^
2^ Пусть существуют два различных совместимых в 2р рюкзака
В= (а1,а2’---,ап) и С=(al,a2,•••,an) и В Р А и С Р А^ Тогда найдется такое V, что имеет
место (A,v) и (В,v), и, следовательно, существуют два различных ненулевых набора
__ _ _ _ _ п____П ___________________________ _
(5р 52,•••, 8п) и (ор О2-’ оП таких что X 51а1 = X о -а; = ^
1=1 -=1
Определим наборы (81, 8 2,..., 8п) и (о1, оп,..., оп) следующим образом:
8 = |8;, если$ (а} = а)
I 0, если иначе
Ог
о] , если$](а] = аг)
0, если иначе
11 11 11 __ 11
Тогда X81а1 = X81 а1 = Xо-а; = Xо-а
1=1 -=1 1=1 - -=1
т^ нашлись два различных ненулевых набора (81, 82,..., 8п) и (о1, оп,..., оп) значений коэффициентов аг размерности п, являющиеся решением уравнения (1) для числа V. Следствие: Обобщенно сверхрастущий рюкзак является инъективным^ Рассмотрим два различных совместимых в 2р рюкзака А=(а1,а2, ..., ап) и В^Ьь^,...^) Для каждой пары (81, 8 2,..., 8 п) и (о1, О 2,..., от) значений наборов коэффициентов переменных (а1, а2, ..., ап) и (01, р2, ■■■, рт), удовлетворяющих (3) при условии (4) найдем максимум т = тах{81, 8 2,..., 8 п, о1, О 2,..., от} Среди полученных значений т выберем наименьшее, которое обозначим т(А В)
Назовем значение
\\(Л, £)||=[р/т( а, в)]+1 • (6)
коэффициентом подмены для двух различных совместимых в 2р рюкзаков А=(а1,а2, ..., ап) и В=(Ь1,Ь2,.,Ьт)^ Значение ||(А,В)|| определяет наибольшее возможное значение количества выражений V в 2р для рюкзаков А и В при их совместном использование
Например, для рюкзаков А= (2, 65529) и В= (9216, 47101) в 27 имеет место
2*2+65529 = 2*9216+47101
||(Л, £)|| = [7/тах(2,2,1)]+1 = 4,
что подтверждается при V = 196599 = 6*2+3*65529 = (4*2+2*65529)+( 2*9216+47101)= (2*2+65529)+ (4*9216+2*47101) = 6*9216+3*47101
рядочена по возрастанию, если
Определение 5. Пара рюкзаков (А, В), А=(а1, а2, ..., ап) и В=(Ь1, Ь2, ..., Ьт), упо-
а1 < Ь1
а1 < Ь & а] = Ьj,j = 1.1-1 а! = Ь1,1 = 1-п,п < т
Если пара рюкзаков (А, В) упорядочена, то этот факт будем обозначать как А£В. Например: Если А=(1, 4, 2) и В=(1, 8, 3, 9, 6), то А<В.
Определение 6. Пара рюкзаков (А, В), А=(а1, а2, ., ап) и В=(Ь1, Ь2, ., Ьт) упорядочена по убыванию, если В<А.
Утверждение 2. Пусть для рюкзака А=(а1,а2, ., ап) размерности п, все компоненты которого различны ("1,] а1 Ф а], 1 Ф ]), множество Л={(Вк,Ск)} образует множество пар различных совместимых в 2р рюкзаков Вк и Ск таких, что Вк Р А, Ск Р А и Вк<Ск. Тогда рюкзак А инъективен ^ Л=0; для рюкзака А уравнение (1) имеет решений не более
1Л
чем П| |(В1,С1)|.
1=1
Доказател ьство:
1. Следует непосредственно из Утверждения 1.
2. Пусть В=(а ,а ,..., а) и С=( _ ,..., „_) — два различных совместимых рюк-
1Л2 1Лп а 0,2 Оп
зака, т. ч. В Р А, С Р Аи Вк<Ск. Тогда существуют два различных ненулевых набора
ДД-Д и (а,,агоп)таких, что %§¡3] = 2Со■
1=1 ]=1
п п п __ __
Найдется число V, т.ч. % &0=% 5 а, + т% 5, а, =к
1=1 г=1 ,=1
И следовательно,
п п п___ п__
% 01а1 = % 51а1+ а% 5]а] +Р % окак=^ а+Р =Г (7)
1=1 1=1 ]=1 к=1
Из (7) следует, что количество различных решений уравнения (1) зависит от количества различных пар значений (а, Ь), удовлетворяющих (7). Количество вышеуказанных пар не превышает ||(В,С)||.
Аналогичными рассуждениями можно показать, что для каждого элемента (В^, С^) множества Л, количество различных решений не превышает ||(Вк,Ск)||, а следовательно, если все элементы множества Л входят в (7), то общее количество решений не превышает П| кВ^СЛ.
1=1
Например, рассмотрим рюкзак А = (2, 9216, 47101, 65529, 744425, 9553512, 30940912). Для данного рюкзака при Р = 7 имеем
Л={(В1=(47101, 744425, 9553512), С1= (30940912)), (В2= (2, 65529), С2= (9216, 47101))}, так как 47101+3*744425+3*9553512 = 30940912, 2*2+65529 = 2*9216+47101.
Тогда
||(В1,С1)||= [7/тах(1,3,3,1)]+1 = 3,
||(В2,С2)||= [7/тах(2,2,1)]+1 = 4.
Следовательно, количество решений уравнения (1) не превышает 12. Действительно, наибольшее количество решений уравнения (1) для предложенного рюкзака достигается для V=62078423 при следующих коэффициентах:
(6, 0, 0, 3, 6, 6, 0), (4, 2, 1, 2, 6, 6, 0), (2, 4, 2, 1, 6, 6, 0), (0, 6, 3, 0, 6, 6, 0),
(б, 0, 0, 3, 3, 3, 1), (4, 2, 1, 2, 3, 3, 1), (2, 4, 2, 1, 3, 3, 1), (0, 6, 3, 0, 3, 3, 1),
(6, 0, 0, 3, 0, 0, 2), (4, 2, 1, 2, 0, 0, 2), (2, 4, 2, 1, 0, 0, 2), (0, 6, 3, 0, 0, 0, 2).
Перейдем к рассмотрению рюкзаков, в которых имеются повторяющиеся элементы. Очевидно, что в этом случае количество решений увеличится за счет взаимных
перестановок коэффициентов повторяющихся элементов. Пусть рюкзак А имеет т по-
вторяющихся компонентов аи, аг2, ат, тогда перестановка значений коэффициентов оси, О2, ..., <Хт уравнения (1) при данных компонентах определяет другое решение уравнения.
Определим верхнюю границу количества различных решений для уравнения (1) при условии, что все компоненты рюкзака А=(а1,а2, ..., ат) равны между собой. Колит т
чество значений целочисленной функции Г (о1, а2,.., ат) = Е 0;а = а Е О,,
1=1 1=1
т
(ое2р, г = 1..т) определяется только ЕО,, поэтому далее будем рассматривать
1=1
т
ЯоъО2,...,От) = Е(ое Zp, г = 1..т).
1=1
Р(Оъ О2,. ., Оп) отображает все элементы множества п-ичных наборов Рт в значения из отрезка [0, да*(р-1)], причем данное отображение является сюръективным. Количество решений уравнения
Р(ОСъ О2>...> От) = 8 (8)
определяется разложением числа £ на не более чем т сомножителей, меньших р, и их распределением по О-
Например, при £=5, р=5, т=5 имеем:
Наборы значений коэффициентов разложения числа 5
Разложение на сомножители Наборы значений (оц, О2, ..., О)
4+1 (4,1,0,0,0) (4,0,1,0,0) (4,0,0,1,0) (4,0,0,0,1) (1,4,0,0,0) (0,4,1,0,0) (0,4,0,1,0) (0,4,0,0,1) (1,0,4,0,0) (0,1,4,0,0) (0,0,4,1,0) (0,0,4,0,1) (1,0,0,4,0) (0,1,0,4,0) (0,0,1,4,0) (0,0,0,4,1) (1,0,0,0,4) (0,1,0,0,4) (0,0,1,0,4) (0,0,0,1,4)
3+2 (3,2,0,0,0) (3,0,2,0,0) (3,0,0,2,0) (3,0,0,0,2) (2,3,0,0,0) (0,3,2,0,0) (0,3,0,2,0) (0,3,0,0,2) (2,0,3,0,0) (0,2,3,0,0) (0,0,3,2,0) (0,0,3,0,2) (2,0,0,3,0) (0,2,0,3,0) (0,0,2,3,0) (0,0,0,3,2) (2,0,0,0,3) (0,2,0,0,3) (0,0,2,0,3) (0,0,0,2,3)
3+1+1 (3,1,1,0,0) (3,1,0,1,0) (3,1,0,0,1) (3,0,1,1,0) (3,0,1,0,1) (3,0,0,1,1) (1,3,1,0,0) (1,3,0,1,0) (1,3,0,0,1) (0,3,1,1,0) (0,3,1,0,1) (0,3,0,1,1) (1,1,3,0,0) (1,0,3,1,0) (1,0,3,0,1) (0,1,3,1,0) (0,1,3,0,1) (0,0,3,1,1) (1,1,0,3,0) (1,0,1,3,0) (1,0,0,3,1)
(0,1,1,3,0 ,3, ,0, (0, ,3, ,0, (0,
(1,1,0,0,3 0, 0, 3) ,3) ,0, ,0,
со ,0, (0, ,3) ,0, (0, 0, 0, 3)
2+2+1 (1,2,2,0,0 (1,2,0,2,0 (1,2,0,0,2)
(1,0,2,2,0 (1,0,2,0,2 (1,0,0,2,2)
(2,1,2,0,0 (2,1,0,2,0 (2,1,0,0,2)
(0,1,2,2,0 (0,1,2,0,2 (0,1,0,2,2)
(2,2,1,0,0 (2,0,1,2,0 (2,0,1,0,2)
(0,2,1,2,0 (0,2,1,0,2 (0,0,1,2,2)
(2,2,0,1,0 (2,0,2,1,0 (2,0,0,1,2)
(0,2,2,1,0 (0,2,0,1,2 (0,0,2,1,2)
(2,2,0,0,1 (2,0,2,0,1 (2,0,0,2,1)
(0,2,2,0,1 (0,2,0,2,1 0, 0, 2, 2,
2+1+1+1 (0,2,1,1,1 ,2, (0, (0,1,1,2,1) (0,1,1,1,2)
(2,0,1,1,1 (1,0,2,1,1 ,2) ,0, ,2, ,0,
(2,1,0,1,1 (1,2,0,1,1 ,2) ,0, ,2, ,0,
(2,1,1,0,1 (1,2,1,0,1 (1,1,2,0,1) (1,1,1,0,2)
(2,1,1,1,0 (1,2,1,1,0 (1,1,2,1,0) (1,1,1,2,0)
1+1+1+1+1 (1,1,1,1,1)
Определим значение Ср(т,8), которое равно количеству различных решений уравнения (8) от т переменных (ои, а2, со). Значение Ср(т,8) определяется рекуррентным соотношением
Ср(т,8) = Ср(т-1,8) + Ср(т-1,8-1) + Ср(т-1,8 -2) +... + Ср(т-1,8- (р -1)). (9)
Вычисление Ср(т,8) можно получить посредством р-арифметического треугольника на основе формулы (9), в котором (£+1)-е число в (т+1)-й строке соответствует искомому значению [4].
т *( р -1)
Из (9) следует, что Ср(т,8^ £ Ср(т,82) если 0<^1
2
или
т *( р -1) 2
<81<82<т*(р-1) . Таким образом, Ср(т,8)достигает своего максимума в
точке £=
т *( р -1)
2
Найдем значение Ср (т,
т * (р - 1)
2
в разложении
т *( р -1) 2
двоек и т.д. равно т, а сумма всех слагаемых равна
) . Обозначим через ^ количество слагаемых
, равных к. Таким образом, общее количество нулей, единиц,
т *( р -1)
2
й+іі +І2+... +1р.1 —т
0*1о+1*І1+2*І2+. +(р-1)%-1—
т *( р -1) 2
Тогда для каждого разложения количество различных вариантов определения
значения переменных (аи а2, ..., от) равно
т * (р -1)
т!
. А общее количество решений
уравнения (8) при £=
г мм 2!.../р-1!
задается формулой
Ср(т,
т * (р -1) 2
)= I
І0 +11+- + 1р-1 = т
І1 + 2І2 + ■■ + (р-1)1р-1 =
т!
-1!
(10)
т(р-1)
2
Воспользовавшись формулой бинома Ньютона [4] можно получить другое представление Ср(ш,Б):
[Б/р]
Ср(т,в) = I (-1)кСтСт-1+Б-кр■
(11)
к=0
Следовательно:
Ср(т,
т
(р -1)
2
т*(р -1) 2*р
)= I
к =0
^^т -1
(-1) стс
т -1+
т*(р-1) 2
- кр
(12)
Утверждение 3. Пусть для рюкзака А=(а1,а2, ап) размерности п, все компоненты которого различны, множество Л={(Бк,Ск)} образует множество пар различных совместимых в 2р рюкзаков Бк и Ск таких, что Бк Р А, Ск Р А и Бк£Ск. Кроме того, рюкзак А имеет г различных повторяющихся компонентов, причем первый из них повторяется шу раз, второй — ш2, г-й — тг. Тогда рюкзак А инъективен ^ Л=0 & г=0; для рюкзака А уравнение (1) имеет решений не более чем
И -
П||(Б;,С1)|| П
Ші*(р-1)'
і=1
1=1
2*р
і ч-1)кСт^
к=0 1
шг1
Ші-1+
Ші*(р-1) 2
- кр
(13)
Причем верхняя граница достижима только в случае, когда элементы Л не пересекаются, а повторяющиеся компоненты А не входят ни в один из подрюкзаков, составляющих пары Л.
В частности, если Л=0, г=1, ш1=п и воспользоваться формулой (10), то (13) примет вид, описанный в [5].
ЛИТЕРАТУРА
1. Саломаа А. А. Криптография с открытым ключом. — М.: Мир, 1995. — 320 с.
2. Осипян ВО. Разработка методов построения систем передачи и защиты информации. — Краснодар, 2003. — 180с.
3. Коблиц НА. Курс теории чисел и криптографии. — М.: ТВП, 2001. — 260 с.
4. Виленкин НЯ. Популярная комбинаторика. — М.: Наука, 1975. — 208с.
5. Ролдугин П. В. Верхняя оценка числа решений обобщенной задачи о рюкзаке // Тезисы VII Всероссийского симпозиума по прикладной и промышленной математике и XIII Всероссийской школы-коллоквиума по стохастическим методам.