Rabin算法是一种基于模平方和模平方根的非对称加密算法。
0x01 加密过程
设私钥p、q为两素数,公钥n=p*q。对于明文m和密文c,定义以下加密过程(公钥加密过程):
0x02 解密过程
根据以下公式计算出m
p和m
q:
根据以下公式推导出一个可用的y
p和y
q:
根据以下公式计算最终结果:
可以证明每一个密文对应四个原文,而真正的原文一般需要根据验证码来对应。