abstract |
A data encryption method performed with ring arithmetic operations using a residue number multiplication process wherein a first conversion to a first basis is done using a mixed radix system and a second conversion to a second basis is done using a mixed radix system. In some embodiments, a modulus C is be chosen of the form 2 w −L, wherein C is a w-bit number and L is a low Hamming weight odd integer less than 2 (w−1)/2 . And in some of those embodiments, the residue mod C is calculated via several steps. P is split into 2 w-bit words H 1 and L 1 . S 1 is calculated as equal to L 1 +(H 1 2 x1 )+(H 1 2 x2 )+ . . . +(H 1 2 xk )+H 1 . S 1 is split into two w-bit words H 2 and L 2 . S 2 is computed as being equal to L 2 +(H 2 2 x1 )+(H 2 2 x2 )+ . . . +(H 2 2 xk )+H 2 . S 3 is computed as being equal to S 2 +(2 x1 + . . . +2 xk +1). And the residue is determined by comparing S 3 to 2 w . If S 3 <2 w , then the residue equals S 2 . If S 3 >2 w , then the residue equals S 3 −2 w . |