Journal Article10.1109/TETC.2022.3187786
PMNS for Efficient Arithmetic and Small Memory Cost
2
TL;DR: The Polynomial Modular Number System (PMNS) is an integer number system which aims to speed up arithmetic operations modulo a prime.
read more
Abstract: The Polynomial Modular Number System (PMNS) is an integer number system which aims to speed up arithmetic operations modulo a prime <inline-formula><tex-math notation="LaTeX">$p$</tex-math><alternatives><mml:math><mml:mi>p</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq1-3187786.gif"/></alternatives></inline-formula>. Such a system is defined by a tuple <inline-formula><tex-math notation="LaTeX">$(p, n, \gamma, \rho, E)$</tex-math><alternatives><mml:math><mml:mrow><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>γ</mml:mi><mml:mo>,</mml:mo><mml:mi>ρ</mml:mi><mml:mo>,</mml:mo><mml:mi>E</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="veron-ieq2-3187786.gif"/></alternatives></inline-formula>, where <inline-formula><tex-math notation="LaTeX">$p$</tex-math><alternatives><mml:math><mml:mi>p</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq3-3187786.gif"/></alternatives></inline-formula>, <inline-formula><tex-math notation="LaTeX">$n$</tex-math><alternatives><mml:math><mml:mi>n</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq4-3187786.gif"/></alternatives></inline-formula>, <inline-formula><tex-math notation="LaTeX">$\gamma$</tex-math><alternatives><mml:math><mml:mi>γ</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq5-3187786.gif"/></alternatives></inline-formula> and <inline-formula><tex-math notation="LaTeX">$\rho$</tex-math><alternatives><mml:math><mml:mi>ρ</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq6-3187786.gif"/></alternatives></inline-formula> are positive integers, <inline-formula><tex-math notation="LaTeX">$E\in \mathbb {Z}[X]$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>E</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">Z</mml:mi><mml:mo>[</mml:mo><mml:mi>X</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="veron-ieq7-3187786.gif"/></alternatives></inline-formula>, with <inline-formula><tex-math notation="LaTeX">$E(\gamma) \equiv 0 \pmod p$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>E</mml:mi><mml:mo>(</mml:mo><mml:mi>γ</mml:mi><mml:mo>)</mml:mo><mml:mo>≡</mml:mo><mml:mn>0</mml:mn><mml:mspace width="4.44443pt"/><mml:mo>(</mml:mo><mml:mo form="prefix">mod</mml:mo><mml:mspace width="0.277778em"/><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="veron-ieq8-3187786.gif"/></alternatives></inline-formula>. In (Didier, <italic>et al.</italic> 2020) conditions required to build efficient AMNS (PMNS with <inline-formula><tex-math notation="LaTeX">$E(X)=X^{n} - \lambda$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>E</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>X</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mi>X</mml:mi><mml:mi>n</mml:mi></mml:msup><mml:mo>-</mml:mo><mml:mi>λ</mml:mi></mml:mrow></mml:math><inline-graphic xlink:href="veron-ieq9-3187786.gif"/></alternatives></inline-formula>, where <inline-formula><tex-math notation="LaTeX">$\lambda \in \mathbb {Z}\setminus \lbrace 0\rbrace$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>λ</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">Z</mml:mi><mml:mo>∖</mml:mo><mml:mo>{</mml:mo><mml:mn>0</mml:mn><mml:mo>}</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="veron-ieq10-3187786.gif"/></alternatives></inline-formula>) are provided. In this paper, we generalise their approach for any monic polynomial <inline-formula><tex-math notation="LaTeX">$E\in \mathbb {Z}[X]$</tex-math><alternatives><mml:math><mml:mrow><mml:mi>E</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">Z</mml:mi><mml:mo>[</mml:mo><mml:mi>X</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math><inline-graphic xlink:href="veron-ieq11-3187786.gif"/></alternatives></inline-formula> of degree <inline-formula><tex-math notation="LaTeX">$n$</tex-math><alternatives><mml:math><mml:mi>n</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq12-3187786.gif"/></alternatives></inline-formula>. We present new bounds and highlight a set of polynomials <inline-formula><tex-math notation="LaTeX">$E$</tex-math><alternatives><mml:math><mml:mi>E</mml:mi></mml:math><inline-graphic xlink:href="veron-ieq13-3187786.gif"/></alternatives></inline-formula> for very efficient operations in the PMNS and low memory requirement. We also provide AMNS and PMNS modular multiplication implementations, for a prime of size 256 bits, in classic C. We also provide, for the same prime, the first implementation taking advantage of the SIMD <monospace>AVX512</monospace> instruction set. The <monospace>AVX512</monospace> PMNS is 72 % faster than its AMNS counterpart (classical C version). This version presents a more than 60 % speed-up in comparison with the state-of-the-art Montgomery-CIOS modular multiplication of the <monospace>GMP</monospace> library.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Computer Arithmetic: Continuing a Long and Steady Emergence
TL;DR: In this paper , the authors highlight the work published in IEEE Computer Society journals, including IEEE Transactions on Emerging Topics in Computing (TED), which is a popular journal for emerging topics in computer science.
Friendly primes for efficient modular arithmetic using the Polynomial Modular Number System
Fangan-Yssouf Dosso,Nadia El Mrabet,Nicolas Méloni,François Palma,Pascal Véron +4 more
References
A Method for Obtaining Digital Signatures and Public Key Cryptosystems (Formerly on Digital Signatures and Public Key Cryptosystems)
Ronald L. Rivest,Adi Shamir,Len Adelman +2 more
- 01 Jan 1977
TL;DR: In this paper, a message is encrypted by representing it as a number M, raising M to a publicly specified power e, and then taking the remainder when the result is divided by the publicly specified product, n, of two large secret prime numbers p and q.
8.2K
Factoring Polynomials with Rational Coefficients
TL;DR: This paper presents a polynomial-time algorithm to solve the following problem: given a non-zeroPolynomial fe Q(X) in one variable with rational coefficients, find the decomposition of f into irreducible factors in Q (X).
Modular multiplication without trial division
TL;DR: A method for multiplying two integers modulo N while avoiding division by N, a representation of residue classes so as to speed modular multiplication without affecting the modular addition and subtraction algorithms.
Lattice Basis Reduction: Improved Practical Algorithms and Solving Subset Sum Problems
Claus-Peter Schnorr,M. Euchner +1 more
- 09 Sep 1991
TL;DR: Empirical tests show that the strongest of these algorithms solves almost all subset sum problems with up to 58 random weights of arbitrary bit length within at most a few hours on a UNISYS 6000/70 or within a couple of minutes on a SPARC 2 computer.
On Lova´sz' lattice reduction and the nearest lattice point problem
László Babai,László Babai +1 more
TL;DR: Answering a question of Vera Sós, it is shown how Lovász’ lattice reduction can be used to find a point of a given lattice, nearest within a factor ofcd (c = const.) to a given point in Rd.
1.1K