欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Rabin加密算法

程序员文章站 2022-05-11 20:29:12
...

记录新知识(1)——Rabin加密算法

今天刷BUUCTF的一道Crypto遇到一个新的加密算法Rabin,所以记录一下新知识。
首先我也看了几篇师傅们的博客:
浅谈二次剩余
中国剩余定理(孙子定理)
RSA攻击之Rabin密码*
RSA 衍生算法——Rabin 算法
第二篇写的不错,但是对于我这种没学过数论的不太友好(模运算比较简单就自己百度了),结合这几篇算是看懂了。
手写过程:
Rabin加密算法
Rabin加密算法
Rabin加密算法

脚本:

import gmpy2
n=523798549
p=10663
q=49123
e=2
c=162853095
a,inv_q ,inv_p= gmpy2.gcdext(q,p)
mp = pow(c, (p + 1) // 4, p)
mq = pow(c, (q + 1) // 4, q)
a = (inv_p * p * mq + inv_q * q * mp) % n
b = n - int(a)
c = (inv_p * p * mq - inv_q * q * mp) % n
d = n - int(c)
for i in(a,b,c,d):
    print(i)
相关标签: 密码学 算法