Реализация полевой арифметики Галуа

Знаете ли вы о реализации Галуа поле арифметика в C ++? По крайней мере, такие случаи, как GF (216) и GF (232) должен быть накрыт. Производительность является проблемой, поэтому реализация должна была подумать об оптимизации своих операций.

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

8

Решение

Возможно, вы можете использовать код, который реализует Режим GCM в крипто ++ (особенно, gcm.cpp). Crypto ++ — это бесплатная библиотека C ++, реализующая множество криптографических схем. Среди них GCM, который использует арифметику поля Галуа.

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

1

Другие решения

Я нашел ссылку на Галуа Полевая Арифметическая Библиотека Араш Партоу в статье в Википедии о Конечная полевая арифметика.

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

7

Есть библиотека под названием NTL: http://www.shoup.net/ntl/ . Хотя его исходный код не совсем «читабелен».

0

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

0
По вопросам рекламы [email protected]