Randomization of Arithmetic Over Polynomial Modular Number System

Laurent-Stephane Didier, Fangan-Yssouf Dosso, Nadia El Mrabet, Jeremy Marrez, Pascal Veron
2019 2019 IEEE 26th Symposium on Computer Arithmetic (ARITH)  
The Polynomial Modular Number System (PMNS) is an integer number system designed to speed up arithmetic operations modulo a prime p. Such a system is defined by a tuple B = (p, n, , ⇢, E) where E 2 Z[X] and E( ) ⌘ 0 (mod p). In a PMNS, an element a of Z/pZ is represented by a polynomial A such that: A( ) ⌘ a (mod p), deg A < n and k Ak 1 < ⇢. In [6], the authors mentioned that PMNS can be highly redundant but they didn't really take advantage of this possibility. In this paper we use, for the
more » ... rst time, the redundancy of PMNS to protect algorithms against Side Channel Attacks (SCA). More precisely, we focus on elliptic curve cryptography. We show how to randomize the modular multiplication in order to be safe against existing SCA and we demonstrate the resistance of our construction. We describe the generation of a PMNS while guaranteeing, for all elements of Z/pZ, the minimum number of distinct representations we want. We also show how to reach all these representations.
doi:10.1109/arith.2019.00048 dblp:conf/arith/DidierDMMV19 fatcat:coindfhgjjfp3e6fzpw4asd7mm