Есть ли библиотека или другой способ сделать 128-битные математические операции?
-
25-09-2019 - |
Вопрос
Я пишу приложение криптографии и надо работать с 128 битами целых чисел.
В дополнение к стандартному добавлению, вычтению, умножению, разделите и сравнения, мне также нужна функция питания и модуль.
Кто-нибудь знает об библиотеке или другой реализации, которая может сделать это? Если не 128-битный, есть ли доступна 64-битная опция?
Решение
Проверьте Арифметическая библиотека.
Другие советы
Большинство современных компиляторов собираются предоставлять как минимум 64 бит благодаря использованию long long
тип.
GCC поддерживает UINT128_T, что является 128-битным целым числом, хотя это не очень портативно.
Поскольку я не знаю ни одного главного потока криптосистем, которые используют 128-битную модульную арифметику, мне интересно, какую схему вы реализуете.
Ищите алгоритмы Montgomery для умножения и способности в конечном поле. Я не знаю ни одной библиотеки, но я уверен, что есть.