Есть ли библиотека или другой способ выполнения 128-битных математических операций? - PullRequest
1 голос
/ 09 апреля 2010

Я пишу криптографическое приложение и мне нужно работать с 128-битными целыми числами.

В дополнение к стандартному сложению, вычитанию, умножению, делению и сравнению, мне также нужны функции мощности и модуля.

Кто-нибудь знает библиотеку или другую реализацию, которая может это сделать? Если не 128-битный, доступен ли 64-битный вариант?

Ответы [ 4 ]

4 голосов
/ 09 апреля 2010
1 голос
/ 09 апреля 2010

gcc поддерживает 128-битное целое число uint128_t, хотя и не очень переносимое.

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

1 голос
/ 09 апреля 2010

Большинство современных компиляторов предоставляют 64-битную версию с использованием типа long long.

0 голосов
/ 09 апреля 2010

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

...