A data encryption method performed with ring arithmetic operations wherein
a modulus C is be chosen of the form 2.sup.w-L, wherein C is a w-bit
number and L is a low Hamming weight odd integer less than 2.sup.(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.sub.1 and L.sub.1. S.sub.1
is calculated as equal to L.sub.1+(H.sub.12.sup.x1)+(H.sub.12.sup.x2)+ .
. . +(H.sub.12.sup.xk)+H.sub.1. S.sub.1 is split into two w-bit words
H.sub.2 and L.sub.2. S.sub.2 is computed as being equal to
L.sub.2+(H.sub.22.sup.x1)+(H.sub.22.sup.x2)+ . . .
+(H.sub.22.sup.xk)+H.sub.2. S.sub.3 is computed as being equal to
S.sub.2+(2.sup.x1+ . . . +2.sup.xk+1). And the residue is determined by
comparing S.sub.3 to 2.sup.w. If S.sub.3<2.sup.w, then the residue
equals S.sub.2. If S.sub.3.gtoreq.2.sup.w, then the residue equals
S.sub.3-2.sup.w.