Rabin加解密算法
详细代码如下:
# 空空
# dahouzi.cn
import random
from sympy import isprime
def decrypt_rabin(c, p, q):
"""
解密 Rabin 密文
Args:
c (int): 密文
p (int): 素数 p
q (int): 素数 q
Returns:
tuple: 解密结果 M1, M2, M3, M4
"""
n = p * q
# 计算 m1, m2, m3, m4
m1 = pow(c, (p + 1) // 4, p)
m2 = (-m1) % p
m3 = pow(c, (q + 1) // 4, q)
m4 = (-m3) % q
# 计算 a, b
a = q * ModReverse(q

本文介绍了Rabin加密算法的原理以及Python实现,包括加密过程(使用明文对n求幂)和解密过程(通过计算密文的特定次方和模逆操作)。
最低0.47元/天 解锁文章
1594

被折叠的 条评论
为什么被折叠?



