Hi All, Recently, I read NSS code and have a question about this line(*http://dxr.mozilla.org/mozilla-central/source/security/nss/lib/freebl/mpi/mpprime.c#380 <http://dxr.mozilla.org/mozilla-central/source/security/nss/lib/freebl/mpi/mpprime.c#380>* ) In this line, offset is "offset = prime - (rem / 2)". But I think offset is "offset = prime - rem" because "trial + prime - rem" is multiple of prime (I give detail later).
Why offset is "offset = prime - (rem / 2)" ? Thanks for any help. proof:"trial + prime - rem" is multiple of prime t: trial p: prime if "t +p - rem = 0 mod(p)" is true, "t +p - rem" is multiple of p. rem = t mod(p) t + p - rem = t + p - t mod(p) exists "a" to satisfy (a+1)*p >= t >= a*p t + p - t mod(p) = t + p - (t - a*p) = p + ap = (1 + a)*p = 0 mod(p) Masaya -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto