КОНЕЧНЫЕ ГРУППЫ ВЕКТОРОВ ДЛЯ АЛГОРИТМОВ ЦИФРОВОЙ ПОДПИСИ
(Работа поддержана грантом РФФИ № 08-07-00096-а)
П.А. Молдовяну, к.т.н. (Научный филиал НИИ «Вектор», г. Санкт-Петербург, [email protected])
Рассматриваются нециклические группы т-мерных векторов, где т=5 и 7, заданных над конечным полем, содержащих подгруппы простого порядка большого размера. Группы векторов предложены для синтеза алгоритмов электронной цифровой подписи.
Ключевые слова: конечные группы, конечные кольца, векторы, электронная цифровая подпись, аутентификация информации.
В современных информационных технологиях технической основой методов придания юридической силы электронным документам являются алгоритмы электронной цифровой подписи (ЭЦП), основанные на вычислительно сложных задачах в конечных алгебраических структурах с ассоциативной операцией [1]. Для повышения вычислительной эффективности в качестве примитивов алгоритмов ЭЦП были предложены конечные группы и поля, формируемые в векторных пространствах со специально определенной операцией умножения [2]. Показано, что при соответствующем выборе параметров векторного поля оно содержит подгруппу простого порядка, размер которого близок к размеру порядка поля. Конечные группы векторов являются нециклическими и содержат только подгруппы простого порядка относительно малого размера, что вносит ограничения на использование групп векторов в качестве примитива алгоритмов ЭЦП.
В настоящей работе рассматриваются способ построения нециклических групп векторов, содержащих подгруппы большого простого порядка, и их применение для синтеза алгоритмов ЭЦП.
Определение операции умножения в конечном векторном пространстве
Конечное векторное пространство представляет собой множество элементов (векторов) вида ае +Ь 1 +...+С$ , где а, Ь,..., с - координаты, являющиеся элементами конечного простого поля ОГ(р); е,1 ,...,$ - базисные векторы. Знак «+» является разделительным, после определенной далее операции сложения векторов может интерпретироваться как обозначение операции сложения. Векторы могут быть представлены также и в виде набора координат (а, Ь,..., с). Операция сложения векторов (а, Ь,..., с) и (х, у,., z) определяется аналогично операции сложения многочленов степени т—1 с помощью следующего простого соотношения: (а е +Ь 1 +...+С $ )+(х е +у 1 $ )=
=(а+х) е +(Ь+у) 1 +...+(с+х) $ .
Рассмотрим построение мультипликативных групп в векторном пространстве, отличающихся
различными вариантами задания операции умножения «х» векторов. Все варианты операции умножения векторов определяются в соответствии с [2] по общему правилу умножения каждой компоненты первого вектора-сомножителя с каждой компонентой второго вектора-сомножителя с сохранением в общем случае порядка следования компонент при их перемножении. Возникающие произведения двух базисных векторов заменяются
на вектор еV, где ееОГ(р) и Vе{е,1,..., $ }.
Конкретные виды операции умножения отличаются конкретным видом такой подстановки.
Формальное представление умножения векторов (а, Ь,..., с) и (х, у,., имеет вид
(ае +Ь 1 +...+с $ )х(хе +у 1 $ )= =ахе х е +ау е х 1 +...+az е х $ +Ьх 1 х е +Ьу 1 х 1 + ...+bz 1 х $ +...+сх $ х е +су $ х 1 +...+cz $ х $ ,
где каждое из произведений е х е , е х 1 , е х $ ,
Т х е , Т х Т , ..., Т х ] , ..., ] х е, ] х Т , ..., ] х ]
следует заменить на значение е V, задаваемое таблицей умножения базисных векторов. Конкретный вариант этой таблицы определяет конкретный вариант операции умножения т-мерных векторов. После выполнения указанной подстановки получается некоторая сумма однокомпонентных векторов, которые следует сложить.
Таблицы умножения базисных векторов
Таблицы составляются таким образом, чтобы операция умножения векторов была ассоциативной и коммутативной.
Рассмотрим построение мультипликативных групп в векторном пространстве, заданном не над простым полем Z р, где р - простое число, а над конечным кольцом Z п, где п=кр; к и р - простые числа. При этом операции сложения и умножения координат векторов и коэффициентов растяжения, фигурирующие в определении операции умножения векторов, рассматриваются в кольце Z п. Для случаев т=5 и т=7 правила умножения базисных векторов задаются таблицами 1 и 2. Данные таблицы определяют операцию умножения базисных векторов, обладающую свойствами ассоциативно-
сти и коммутативности. Свойства сохраняются для произвольных комбинаций значений коэффициентов растяжения р, е, ц,, т, А,е Ъ п.
Таблица 1
Таблица умножения базисных векторов пятимерного векторного пространства
T T t T T
x e i j k u
e e T j k u
T T еХ j ец k еХ u ецтХ e
j j ец k ец u ецтХ e ЦТ i
k k еХ u ецтХ e тХ i тХ j
u u ецтХ e ЦТ i тХ j цт k
Таблица 2
Правила умножения базисных векторов для случая m=7
T _T T T T
x e w J k u v w
e e i j k u v w
e T Хе j рХе k те u рХе v Хе w ртХецe
j j рХе k рте u рте v рХе w ртХец e ртц e
k k те u рте v те w ртХецe тц e тц j
u u рХе v рХе w ртХец e рХцi Хц j рХц k
v v Хе w ртХецe тц i Хц j Хц k тц u
w w ртХецe рТЦ i тц j рХц k тц u ртц v
Синтез групп, содержащих подгруппы с большим размером простого порядка
Рассмотрим подмножество т-мерных ненулевых векторов, координаты которых являются элементами кольца Ъ п, где п=кр; к и р>>к - простые числа, причем координата при базисном векторе не делится на к, кроме того, все растягивающие коэффициенты, за исключением е, равны единице и число к делит число е. Операцию умножения векторов зададим по общей схеме с использованием таблиц 1 и 2. Легко заметить, что такая операция умножения, выполняемая над двумя векторами из рассматриваемого подмножества, дает в качестве результата вектор, принадлежащий этому же множеству. Мощность рассматриваемого подмножества равна #И=р(к-1)-(кр)т"1, где р(к—1) - число возможных значений первой координаты; (кр)т—1 - число возможных комбинаций значений остальных координат. Совокупность всех векторов Z, для которых существует обратный вектор Z— , будут образовывать группу с порядком, равным #{N1, где {N1 - совокупность всех векторов, принадлежащих подмножеству для которых не существует обратных значений. Подсчитаем мощность {N1.
Векторы, для которых нет обратных значений, имеют следующий вид: N=(qi p, q2 p, ..., qm p), где qxe{1, 2, ..., k-1}; qa, ..., q,„e{0, 1, 2, ..., k-1} (нулевой вектор не входит в подмножество {Z}). Легко показать, что для таких векторов отсутствуют обратные значения. Действительно, из определенной операции умножения непосредственно вытекает, что у вектора V=NxX для произвольного вектора X каждая из координат делится на p, следовательно, V не может быть единичным вектором (1, 0, 0, ..., 0). Число векторов N равно #{N}=(k-1)-km_1, следовательно, для значения порядка рассматриваемой группы векторов имеем значение, не превышающее Q=p(k-1)(kp)m-1-(k-1)km-1=(k-1)km-1(pm-1).
Это значение достигается, если m делит p-1, а е является невычетом степени m по модулю p. Покажем, что это действительно так. Рассмотрим некоторый вектор Z=(a, b, ..., c), принадлежащий множеству {Z}. Перейдем от вектора Z к вектору Z'=(a', b', ..., c'), где a'=a mod p, b'=b mod p, ..., c'=c mod p, который принадлежит при принятых условиях к векторному полю GF(pm) [2]. Поскольку ZV(0, 0, ..., 0), в векторном поле GF(pm) относительно неизвестного вектора X' существует решение векторного уравнения Z'xX'=E, где E=(1, 0, ..., 0). Координаты вектора X'=(x', y', ..., z') удовлетворяют системе сравнений следующего вида:
fn (a',b',..., c') • x' + f12 (a', b',..., c') • y' +...
+ f1m (a', b',..., c') • z' = 1 mod p f21 (a',b',..., c') • x' + f22 (a', b',...,c') • y' +... + f2m(a',b',...,c') • z' = 0modp .
fm1 (a',b', ...,c') • X' + fm2 ...,c') • У' + ...
+ fmm(a',b',...,c) • z' = 0 mod p
В этой системе коэффициенты f11, f12, ..., fmm
при неизвестных x', y', ..., z' определяются коэффициентами растяжения и координатами вектора Z'. Известно, что если обе части сравнения и модуль делятся на одно и то же целое число, то обе части сравнения и модуль можно поделить на это число, получив эквивалентное сравнение ([3], теорема 128). Заменяя в этой системе сравнений a' на a, b' на b, ..., c' на c и умножая левую и правую части каждого сравнения и модуль на число k, получим систему сравнений, эквивалентную исходной. В векторном множестве {Z} полученной системе соответствует векторное уравнение ZxX=E', где E'=(k, 0, ..., 0)=kE. Очевидно, что вектор X=(kx', ky', ..., kz')=kX' является решением последнего уравнения, которое можно представить в виде kZxX'=kE, откуда следует ZxX'=E, то есть X' является вектором, обратным вектору Z. Таким образом, при m | p-1 и е, являющемся невычетом
степени т по модулю р, всем векторам множества
кроме векторов вида N можно поставить в соответствие единственный обратный вектор, что требовалось показать. Теоретически определенное значение й=(к— 1) кт—11(рт— 1) подтверждается вычислительным экспериментом.
При простом значении т, таком, что т | р—1, значение р можно выбрать так, что множитель q=m—1(рт—1+рт—1+.+р+1), содержащийся в разложении числа рт—1, будет простым. Таким образом, в построенной группе векторов содержится подгруппа простого порядка размера ^1=(т— 1)1р1— -!т!«(т—1)1р1. Для построения алгоритмов ЭЦП требуется использовать подгруппы простого порядка Q размером не менее !№!>160 бит. Для этой цели можно формировать нециклические группы т-мерных векторов, заданных над конечным кольцом Z кр, где к - простое число сравнительно малого размера и р - простое число длины !р!, удовлетворяющей условию
I I №1—14
р>1 1 ' (бит).
т — 1 т — 1
Синтез алгоритмов ЭЦП
Рассмотрим возможный вариант обобщенной схемы ЭЦП, предполагая в нем использование циклической подгруппы векторов Г', имеющей достаточно большой порядок q (^1>160 бит). Например, в качестве Г" может использоваться подгруппа максимально простого порядка, содержащаяся в нециклической группе Г векторов размерности т=7, заданных над кольцом Z п, где п=кр; к и р - различные простые числа. При соответствующем выборе числа р, например р=2584935193, группа Г содержит подгруппу Г', порядок которой равен простому значению й' большого размера: ^'=4261867232673097108598 3533887164425981458851070177331849. В качестве параметра к следует выбрать простое число сравнительно малого размера (4-10 бит), являю-
щееся невычетом степени m по модулю p. Подписывающий формирует свой открытый ключ Y в виде вектора Y=Gx, где G - вектор, являющийся генератором подгруппы Г'.
Формирование подписи к сообщению M выполняется следующим образом:
1) выбрать случайное число k<q=Q' и вычислить вектор R=Gk;
2) используя некоторую криптографически стойкую хэш-функцию Fh, вычислить хэш-код h от сообщения M с присоединенным к нему вектором R: h=Fh(M, R). Значение h будет первым элементом ЭЦП;
3) вычислить второй элемент ЭЦП: s=xh+t mod q.
Проверка подлинности подписи (h, s) состоит в следующем:
1) вычисляется вектор R'=Yq-h xGs;
2) вычисляется значение h'=Fh(M, R');
3) сравниваются значения h' и h; если h'=h, ЭЦП признается подлинной.
В заключение отметим, что в данной работе построены нециклические группы векторов, содержащие подгруппы простого порядка большого размера. Особенность построенной группы в том, что их координаты являются элементами конечного кольца Z kp, где k, p - простые числа, причем первая координата не делится на k, тогда как другие координаты - произвольные элементы кольца. Путем выбора соответствующих конкретных значений p обеспечивается размер подгруппы простого порядка, равный (m-l)ipi-imi. На основе построенной группы векторов могут быть разработаны алгоритмы ЭЦП, имеющие высокую производительность.
Литература
1. Венбо Мао. Современная криптография. Теория и практика. М .-СПб-Киев: Издат. дом «Вильямс», 2005. 763 с.
2. Молдовян Н.А. Алгоритмы аутентификации информации в АСУ на основе полей векторов // Автоматика и телемеханика. 2008.
3. Бухштаб А.А. Теория чисел. М.: Просвещение, 1966.
БЫСТРЫЙ АЛГОРИТМ ПРЕОБРАЗОВАНИЯ ЧАСТОТЫ КАДРОВ
С.В. Гришин; Д.С. Ватолин, к.ф.-м.н. (Московский государственный университет им. М.В. Ломоносова {sgrishin, [email protected])
В данной статье описан алгоритм преобразования частоты кадров, сочетающий в себе постобработку векторов движения и обработку наложений. Разработанный алгоритм демонстрирует высокое визуальное качество, что доказывают результаты проведенного сравнения. При этом вычислительная сложность алгоритма находится на сравнительно низком уровне и делает возможным использование метода в режиме реального времени.
Ключевые слова: обработка видео, преобразование частоты кадров, обработка наложений, мера доверия векторам движения.
Цифровое видео сегодня получило широкое распространение. Появилось множество форматов видео, различающихся не только пространствен-
ным разрешением, но и временным - частотой кадров. Обилие форматов обусловило рост актуальности задачи преобразования частоты кадров.