如何计算大素数的模数?

时间:2015-10-14 11:53:03

标签: cryptography primes modulus

我在软件环境中使用椭圆曲线加密。我想询问如何有效地实现大数字的大数模运算。 例如(192位数)mod(192位mersenne prime)

如果有任何技巧或算法,你可以参考,因为我正在使用资源受限的传感器节点。

1 个答案:

答案 0 :(得分:3)

问题中没有考虑192位Mersene prime

实现模块化缩减192位整数 x 模数另一个192位素数 p 非常简单:结果为 x x < p ,否则 x - p

对于像椭圆曲线密码术中常用的素数 p ,也许真正的问题是关于有效模块化约简模拟一些大数量的192位素数 p 。通常以允许有效模块化减少的方式选择这种质数。例如,对于P-192,素数模数 p specified为6277101735386680763835789423207666416083908700390324961279,即fffffffffffffffffffffffffffffffeffffffffffffffff h 或2 192 -2 64 -1。这个 p 是如此接近(2 32 6 ,当在基地2 32 中工作时,估计一个商模数减少模数 p 中的数字非常简单,就像在基数10中执行999899的教科书Euclidian division时估算一个新数字一样简单:大部分时间,剩下的最左边数字红利是指商的新数字。