Python中的大整数运算

时间:2019-04-14 17:12:04

标签: python math rsa largenumber

我正在尝试解决密码学CTF挑战,其中涉及采用RSA密钥对(两个大素数)的构造块和消息的加密密码数。为了解密此消息,我需要执行标准加密库不支持的操作,因为使用的公共指数未知,但是我确实有值dp和{{1} },这意味着我必须执行以下操作:

enter image description here

因此,基本上,我正在将非常大的整数提高为非常大的整数的幂,并且dq的标准选项导致Python无限期地挂起。那么,如果不使用加密库,如何在Python中执行这些操作?

编辑: 这是导致Python挂起的特定代码和值

pow(x,y)

1 个答案:

答案 0 :(得分:3)

pow带有可选的第三个参数z,它执行模运算,但比使用%运算符要快得多:

>>> pow(c, dp, p)
49437413074993986257824490238275931180994249527518860068137626874351971280859988288289074