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

Reply via email to