https://www.v2ex.com/t/362805#reply18
WANNACRY 的加密算法,写了一个 Python 的加密和解密程序,仅供研究
https://zhuanlan.zhihu.com/p/26935965
勒索病毒WannaCry深度技术分析—— 详解传播、感染和危害细节
http://www.freebuf.com/articles/system/134578.html
WannaCry蠕虫详细分析
随机一个 aes 密钥然后把密钥用 rsa 加密
际上是有两对 rsa 的,一对是作者自己的,一对是受害者的。受害者的 PublicKey 是用来加密 aes 的,其 private key 用作者的公钥加密了
然后作者的私钥是用来解密受害者的 private key->然后解密 aes->然后解密文件
每个用户自己的那对,由CrypyGenKey生成,其公钥存在 00000000.pky 里面,私钥经作者的公钥加密了之后存在 00000000.eky 里面,然后作者的公钥是编在程序里面的
准确的说,程序内置了 2 个 RSA 公钥和 1 个 RSA 私钥,其中一对是用来演示的,一个是只有作者知道私钥的对应公钥。
加密的时候,程序会生成另外一对 RSA 用户密钥,公钥存 00000000.pky,其私钥在内存中用内置的作者公钥加密然后存 00000000.eky,实际加密 AES 密钥的是这个 00000000.pky
PyCrypto —— 一个极好的信息安全python库
https://pythonhosted.org/pycrypto/
http://lovesoo.org/python-implements-rsa-encryption-and-decryption-method.html
python实现RSA加密解密方法