依稀记得本科是学过加密的。作为近期中过HELP DECRYPT的毒的用户来讲,好歹要了解一下这么时尚的破坏神。
根据其提示表示使用的是RSA-2048进行加密,根据wiki上的说明,公钥和私钥是如下产生的:
- 选择两个不同的素数
p
和
q . - 计算 n=pq . n 的二进制长度视为秘钥长度。
- 计算欧拉函数
φ(n)=φ(p)φ(q)=(p−1)(q−1)=n−(p+q−1) . - 选择一个整数
e
作为公钥指数,s.t.
1<e<φ(n),gcd(e,φ(n))=1 . 生成密钥指数 d ,
de≡1(mod(φ(n))) .至此,生成了公钥 (n,e) 和密钥 (n,d) 。