Научная статья на тему 'ОБ ОДНОМ ПРЕДСТАВЛЕНИИ ЭЛЕМЕНТОВ КОНЕЧНЫХ 2-ГРУПП В ВИДЕ БУЛЕВЫХ ВЕКТОРОВ'

ОБ ОДНОМ ПРЕДСТАВЛЕНИИ ЭЛЕМЕНТОВ КОНЕЧНЫХ 2-ГРУПП В ВИДЕ БУЛЕВЫХ ВЕКТОРОВ Текст научной статьи по специальности «Математика»

CC BY
16
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
2-группа / булев вектор / побитовые операции / полиномы Холла / 2-group / Boolean vector / Hall polynomials

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

Предложен способ представления конечных 2-групп в виде булевых векторов. Пусть G — конечная (бернсайдова) 2-группа, порядок которой равен 2k. Каждый элемент группы представим уникальным булевым вектором размерности k. Для вычисления произведения двух элементов используются аналоги полиномов Холла, только теперь в них вместо умножения и сложения над полем Z2 используются эквивалентные булевы (побитовые) операции «и» и «исключающее или». В задачах, требующих вычисления большого количества произведений элементов группы, описанный метод позволяет кардинально уменьшить время работы компьютерных программ.

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

ON ONE REPRESENTATION OF ELEMENTS OF FINITE 2-GROUPS IN THE FORM OF BOOLEAN VECTORS

In this paper, we propose a way to represent elements of finite 2-groups as Boolean vectors. Let G be some finite (Burnside) 2-group and its order is 2k. In this case, each element of the group will be represented by a unique Boolean (bit) vector of dimension k. To calculate the product of two elements, we use analogues of Hall polynomials but now instead of multiplication and addition over the field Z2 we use the equivalent Boolean (bitwise) operations “and”, as well as “exclusive or”. Note that operations on bits are much faster on a computer than on integer or string data types. For problems requiring the calculation of a large number of products of group elements the method will dramatically reduce the running time of computer programs.

Текст научной работы на тему «ОБ ОДНОМ ПРЕДСТАВЛЕНИИ ЭЛЕМЕНТОВ КОНЕЧНЫХ 2-ГРУПП В ВИДЕ БУЛЕВЫХ ВЕКТОРОВ»

Таблица 2

Среднее время поиска файлов по содержимому

Алгоритм Время работы, мс

1 < 1 < 10 11 < 1 < 100

Наивный 1471,39 1395,8

Бойера — Мура 464,81 453,5

Кнута — Морриса — Пратта 422,2 679,97

Рабина — Карпа 2463,11 62336,02

Таким образом, для поиска файлов по небольшим заданным данным и параметрам (например, поиск по имени, по расширению) можно вполне использовать наивный поиск, для средних и больших данных и параметров (например, поиск по содержимому) при малых образцах лучше использовать алгоритм Кнута — Морриса — Пратта, при больших — Бойера — Мура,

В программе предусмотрено также сканирование заданной директории на вредоносные объекты. Параметры для поиска вредоносных объектов хранятся в базе данных, которая представляет собой текстовый файл, основная база для которого взята из открытого источника антивируса ClamAV [5] и переделана под формат программы, её можно дополнять. Основное время работы этой части программы — это работа с антивирусной базой, которая содержит 4 млн строк, поэтому среднее время работы составляет от нескольких десятков до нескольких сотен секунд,

ЛИТЕРАТУРА

1. Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. СПб.: Невский диалект, БХВ-Петербург, 2003.

2. Кормен Т., Лейзерсон Ч., Pueepcm М. Алгоритмы: построение и анализ. М.: Изд-во «Вильяме», 2005.

3. Макконнелл Дж. Основы современных алгоритмов. М.: Техносфера, 2004.

4. ГОСТ Р 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов. Типовое руководство. М.: ИПК Издательство стандартов, 2003.

5. http: //www. clamav. net/downloads — ClamAV Download. 2017.

УДК 519.688 DOI 10.17223/2226308Х/16/33

ОБ ОДНОМ ПРЕДСТАВЛЕНИИ ЭЛЕМЕНТОВ КОНЕЧНЫХ 2-ГРУПП

В ВИДЕ БУЛЕВЫХ ВЕКТОРОВ

А, А, Кузнецов, А, С, Кузнецова

Предложен способ представления конечных 2-групп в виде булевых векторов. Пусть G— конечная (бернсайдова) 2-группа, порядок которой равен 2k. Каждый элемент группы представим уникальным булевым вектором размерности k. Для вычисления произведения двух элементов используются аналоги полиномов Холла, только теперь в них вместо умножения и сложения над полем Z2 используются эквивалентные булевы (побитовые) операции «и» и «исключающее или». В задачах, требующих вычисления большого количества произведений элементов группы, описанный метод позволяет кардинально уменьшить время работы компьютерных программ.

Ключевые слова: 2-группа, булев вектор, побитовые операции, полипомы Холла.

130

Прикладная дискретная математика. Приложение

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

Пусть G = (ai, a2,..., am) — некоторая конечная (бернсайдова) 2-группа периода 2n, где a ^ ..., am — порождающие элементы группы и |G| = 2y, Для G можно получить рс-представление элементов группы (Power Commutator presentation [4]), В этом случае

Уд G G (д = aX1 ...aXk), x G Z2.

Пусть aX1 ... axkk и a^1 ... aykk — два произвольных элемента группы G, записанные в ре-формате, и пусть их произведение равно ai1... akk,

Вычисление степеней Zj традиционно осуществляется на основе собирательного процесса Холла [4]. Однако существует более эффективный способ умножения элементов, основанный на полиномах Холла [4]:

Zj = Xj + y + Pi(Xi, . . . , Xj-i, yi, . . . , yi-i), Xj, yj, Zj G Z2.

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

В качестве примера рассмотрим максимальную двупорождённую конечную группу G = (ai, a2) периода 22 = 4, которую обычно обозначают B(2,4) или B2(4), Поря-

2i2 G

ре-предетавление вида ak1 ... ak12, где xj G Z2, i = 1, 2,..., 12. Здесь al и a2 — порождающие элементы ..., ai2 вычисляются рекурсивно через al и a2.

Получим в системе компьютерной алгебры GAP рс-представление данной группы. Для краткости тривиальные коммутаторные соотношения не приводятся (например, [a4, ai] = 1 и др.):

2 _ 2 _ 2 _ 2_Л2_л2_ 2 _

ai — a4, a2 — a5, a3 — asagaioaiiai2, a4 — 1, ag — 1, ag — aii, a^ — aiiai2, a2 = 1 (8 ^ i ^ 12), [a3,ai] = ag, [a3,a2] = a7, [a4,a2] = aga8agai0ai2, [a4,a3] = asaii, [a5, ai] = a7a8agaio, [a5,a3] = aioaiiai2, [a5,a4] = agan, [ag,ai] = a8, [ag,a2] = ag, [ag,a3] = aii, [ag,a4]= aii, [ag,a5] = aii, [a7,ai] = agai2, [a7,a2] = ai0, [a7,a3] = aiiai2, [a7,a4] = aiiai2, [a7,a5] = aiiai2, [a8,ai]= aii, [a8,a2] = ai2, [ag,ai] = aiiai2, [ag, a2] = aii, [aio, ai] = ai2, [aio, a2] = aiiai2.

Вычислим полиномы Холла группы G для порождающих элементов ai и a2 на основе алгоритма из [5]:

1 п пУ 1 ny12 — nZ 1 nZ 12

ij ai ■ ai ... ai2 — ai ... ai2 ,

где Zi = yi + 1, Z2 = У2, Z3 = Уз, Z4 = yi + У4, Z5 = У5, Zg = yg + yiy2, Z7 = У7,

z8 = У8 + yiy2 + У^ Zg = yg + yiУ2, Zio = yio + УlУ2, Zii = yii + У1Уз + У1У2Уз + yiy2y4 + yiy2y5 + УlУ2Уg, Zi2 = yi2 + yiy2;

г, пШ пУ12 — r,Z 1 r,Z 12

Z) U2 ' ... Ui2 — a ... U12 j

где Zi — yi, Z2 — У2 + 1, Z3 — yi + Уз, Z4 — У4, Z5 — У2 + У5, Ze — Уб, z7 — У7 + У^ z8 — У8 + У^ z9 — У9 + У1У3 + У2 У4, z10 — У10 + У1У2 + У1У3 + У2У3, zii — У11 + У1У2 + У1У3 + У2У3 + У2У4 + У1У2У3 + У1У2У4 + У1У2У5 + У1У2У7, z12 — У12 + У1У2 + У1У3 + У2У3 + У1У2У3 + У1У2У4 + У1У2У5 + У1У2 У7.

Каждый элемент группы представляет собой битовую строку (z1, z2,..., z12). Таким образом, для кодирования одного элемента в B(2, 4) требуется 12 бит, В общем случае, если порядок группы равен 2k, то для хранения одного элемента потребуетея k бит.

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

Кроме того, предложенное представление элементов группы в форме булевых векторов позволяет применять их даже на самых примитивных микроконтроллерах,

ЛИТЕРАТУРА

1. Baumslag G., Fazio N., Nicolosi A. R., et al. Generalized learning problems and applications to non-commutative cryptography 11 LNCS. 2011. V.6980. P. 324-339.

2. Fazio N., Iga K., Nicolosi A. R., et al. Hardness of learning problems over Burnside groups of exponent 3 // Des. Codes Crvptogr. 2015. V. 75(1). P. 59-70.

3. Kahrobaei D. and Noce M. Algorithmic problems in Engel groups and cryptographic applications // Int. J. Group Theory. 2020. V.9(4). P. 231-250.

4. Sims C. Computation with Finitely Presented Groups. Cambridge: Cambridge University Press, 1994. 628 p.

5. Кузнецов А. А. Кузнецова, А. С. Быстрое умножение элементов в конечных двупорож-денных группах периода пять // Прикладная дискретная математика. 2013. №1(19). С.110-116.

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