Описание тега montgomery-multiplication
Алгоритм модульного умножения, изобретенный Монтгомери, который позволяет эффективно выполнять модульную арифметику при большом модуле (обычно несколько сотен бит).
0
ответов
Умножение Монтгомери - 32-битный регистр против 64-битного регистра
Мне нужно рассчитать разницу в скорости между выполнением страницы умножения Монтгомери 602-603 с размером слова / регистром размера 32 против 64. Пока это то, что я понимаю: x и y представлены массивами из нескольких слов длиной n, где n = m/w, а w…
20 ноя '17 в 15:35
1
ответ
Частота множителя Монтгомери
Я разработал множитель 16*16 Монтгомери. Код использует множитель 16*16 для выполнения трех умножений. Умножения выполняются одно за другим с использованием одного и того же умножителя, и результат каждого умножения сохраняется в регистрах. Одиночны…
16 фев '17 в 12:54
2
ответа
Как преобразовать массив UInt64 в массив UInt16 для выполнения умножения с множественной точностью?
Мне нужно выполнить быструю арифметику Галуа в моем приложении. У меня есть функция умножения, написанная на ассемблере, которая была оптимизирована для моей платформы, микроконтроллера MSP430. Эта функция вычисляет произведение двух больших чисел п…
02 фев '17 в 20:07
2
ответа
Аппаратная реализация RSA: проблемы умножения Radx-2 Montgomery
Я реализую RSA 1024 на аппаратном уровне (xilinx ZYNQ FPGA) и не могу выяснить несколько любопытных вопросов. В частности, я обнаружил, что моя реализация работает только для определенных комбинаций база / экспонента / модуль, но не нашел никакой пр…
10 янв '17 в 22:48
1
ответ
Умножение в GF(p)
Я занимаюсь разработкой программного обеспечения на JavaCard для добавления точек в ECC. проблема в том, что мне нужны некоторые базовые операции, поэтому на данный момент мне нужны умножение и инверсия, у меня уже есть сложение и вычитание. Я пытал…
07 май '16 в 09:59
1
ответ
Код Verilog - компилируется нормально, но симуляция не запускается
У меня был довольно хороший опыт структурного моделирования в Verilog, но у меня почти нет опыта работы с другими методами моделирования. Так что, будь добр, помоги мне. Код компилируется нормально, но при симуляции просто зависает. Ничего не произо…
02 ноя '14 в 18:27
1
ответ
Умножение Монтгомери в RSA: c=m^e%n
Как работает Montgomery Multiplication в ускорении процесса шифрования для вычисления c=m^e%n, используемого в шифровании RSA? Я понимаю, что умножение Монтгомери может эффективно умножить a * b% n, но при попытке найти m ^ e% n существует ли более …
03 мар '16 в 01:29
0
ответов
Монтгомери Умножение
Я хочу решить модульный продукт с использованием умножения Монтгомери. Что-то вроде этого: a * a mod m Например, а = 3567730065637 м = 5524112124451 a * a mod m -> 12728697821250192328215769 % 5524112124451 = 822276999119 Если я сделаю сокращение…
26 ноя '18 в 13:19
1
ответ
Bizzare идентичные неверные результаты в разных алгоритмах MWR2MM для умножения Монтгомери RSA
Фон Я пытаюсь реализовать RSA 2048 в аппаратном обеспечении (xilinx ZYNQ FPGA), используя различные методы Монтгомери. Я реализую алгоритм с использованием Xilinx HLS (по сути код C++, который синтезируется в аппаратное обеспечение). Примечание: ра…
27 июл '17 в 21:28
1
ответ
Алгоритм умножения Монтгомери на Python
Я пытаюсь Алгоритм умножения Монтгомери на Python 3.x. Этот алгоритм псевдокода приведен ниже: Input: Modulus N(n bit), gcd(n, 2) = 1, Multipler: A (n bit), Multiplicant: B (n bit) Output: R = (A x B x 2 ^ (-n)) mod N R = 0 for (i = 0; i < n; i++…
09 мар '17 в 12:01
1
ответ
Окончательное вычитание в модульном умножении Монтгомери для криптосистемы RSA
Я запутался в том, как можно предположительно обойти окончательное вычитание модуля в модульном умножении Монтгомери с основанием радикса-2 при использовании в модульном алгоритме возведения в степень. Следующие две статьи выдвигают условия для обхо…
10 авг '17 в 17:29
1
ответ
Редукционная форма Монтгомери с использованием библиотеки OpenSSL
У меня N 1024 бит. Мне нужно преобразовать сообщение M ( 512 бит) в форму сокращения Монтгомери, как показано ниже. M '= M * R ^ {- 1} мод N где R = 2 ^ 512 (мод N) Как я могу достичь результата?
13 ноя '14 в 13:12
0
ответов
Сокращение использования LUT в проекте Vivado HLS (криптосистема RSA с использованием умножения Монтгомери)
Вопрос / проблема для всех, кто имел опыт работы с Xilinx Vivado HLS и FPGA: Мне нужна помощь в уменьшении числа использованных проектов в пределах HLS (то есть я не могу просто переделать проект в HDL). Я нацеливаюсь на Zedboard (Zynq 7020). Я пыта…
01 авг '17 в 20:49
1
ответ
Можно ли использовать умножение Монтгомери для ускорения вычислений (большое число)! % (некоторые простые)
Этот вопрос возникает из комментария, который я почти написал ниже этого вопроса, где Зак вычисляет факториал большого числа по модулю большого числа (которое мы будем считать основным для этого вопроса). Зак использует традиционное вычисление факто…
20 июл '14 в 12:24
0
ответов
Что n представляет в K= 2^2n mod m
Я немного изучаю реализацию алгоритма RSA с использованием модульного множителя Монтгомери, и я не уверен, что означает 2^2n, это n количество бит сообщения или 2^2n количество бит сообщения или это что-то еще. страница 6 в этом pdf: http://www.jour…
04 сен '19 в 23:39
0
ответов
Путаница вокруг добавления точек на secp256k1
Я использую https://github.com/HareInWeed/gec для добавления точек на secp256k1. Код ниже добавляет две точки на кривую secp256k1 и отображает результаты. #include <gec/utils/macros.hpp> #include <gec/bigint.hpp> #include <gec/curve.h…
28 июн '23 в 02:02