计算器中怎样计算一个数的n次方(快速计算一个数n次方mod)

在密码学中我们经常会看到 这样的计算(如RSA, Diffie Hellman key exchange), 而且往往这个n次幂很大. 如何快速对一个数的n 次方求mod, 很可能决定一个加密算法的性能. 下面我们会一步步引导大家来思考这个问题,我来为大家讲解一下关于计算器中怎样计算一个数的n次方?跟着小编一起来看一看吧!

计算器中怎样计算一个数的n次方(快速计算一个数n次方mod)

计算器中怎样计算一个数的n次方

在密码学中我们经常会看到 这样的计算(如RSA, Diffie Hellman key exchange), 而且往往这个n次幂很大. 如何快速对一个数的n 次方求mod, 很可能决定一个加密算法的性能. 下面我们会一步步引导大家来思考这个问题

  1. 快速求

举例 如果要计算 5^128 我们可以 1 5^2 2 5^4 3 5^8 4 5^16 5 5^32 6 5^64 7 5^128 如果需要计算5^129 我们只需要 5^128 * 5

2 快速求

先来看一个定理 对左边式子做分解很容易得到右边的式子

有了上面的定理结合快速求幂的方法我们再来看

举例我们要计算2^512 mod 31 首先找到大于31的2整次幂 2^5 2^5 == 31 1 所以 2^512 可以改写 (31 1)^102 * 4 mod 31 == 1^102 * 4 mod 31 == 4 我们再看一个例子 3^480 mod 10 首先找到大于10 的3整次幂3^3 3^3 == 2*10 7 所以3^480 可以改写7^160 mod 10 同理可以改写9^80 同理可以改写1^40 == 1

后续博主可能会连续写一些关于密码学, 同态加密方面的文章 希望大家关注

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页