題目
已知RSA公鑰生成引數:
e = 65537,求d =
請提交PCTF{d}
RSA基礎知識
RSA加密演算法是一種非對稱加密演算法,RSA演算法首先生成一對RSA密鑰,一個公鑰,一個私鑰,
RSA演算法原理:
1.任意選取兩個不同的大素數p和q;
2.,計算p和q的乘積,n=pq
3.計算n的歐拉函式φ(n)=(p-1)(q-1),
4.任意選取一個大整數e(1<e<φ(n)),使其滿足e和φ(n)的最大公約數是1,即gcd(e,φ(n))=1,也就是e和φ(n)是互質的,
5.確定密鑰d,計算e對于φ(n)的模反元素d,(模反元素是指,整數d滿足edmodφ(n)=1),
6.將n和e封裝成公鑰,n和d封裝成私鑰,
求解
import gmpy2
p = 3487583947589437589237958723892346254777
q = 8767867843568934765983476584376578389
e= 65537
pn=(p-1)*(q-1)
result=gmpy2.invert(e,pn)#求逆元
print(result)
d=19178568796155560423675975774142829153827883709027717723363077606260717434369
輸入結果竟然不對!!!
檢查發現代碼也沒有錯,再看看題目要求是提交PCTF{d}格式...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/234305.html
標籤:區塊鏈
上一篇:2020年專案總結
