概念 DES(DataEncryptionStandard)是数据加密标准的简称,由IBM公司研制。DES是一个分组加密算法,能够支持64比特的明文块加密,其密钥长度为56比特。 DES是世界上应用最广泛的算法。背后的故事 1997年,RSA实验室发出了破解DES密文的挑战,运用了70000多台计算机,使用暴力攻击程序,大约花费96天的时间找到了正确的DES密钥。 1997年电子前沿基金会花费了250000美元制作的一台超算计算机,在不到3天的时间里就暴力破解了DES密钥。 DES56比特的密钥长度宣布寿终正寝。 1999年10月25日采用三重DES作为过渡期间的国家标准,增强了DES的安全性,可以理解成升级版。技术原理 输入64比特明文数据初始转换IP在密钥控制下16轮迭代交换左右32比特初始逆转换IP1输出64比特密文数据。 源码实现样例 引用依赖包:pipinstallpyDes 脚本如下:frompyDesimportdes,PADPKCS5,ECB DESSKEY12345678 mingthisisming desobjdes(DESSKEY,ECB,DESSKEY,padmodePADPKCS5) sbytedesobj。encrypt(ming)加密 print(sbyte) cdesobj。decrypt(sbyte)解密 print(c) 结果:(env)D:Codespython2ctfCryptopythonDes。py bV},q44 bthisisming3DES加密过程示意 假设:Ek()和Dk()假设为DES的加密和解密过程,k代码密钥,M代表明文,C代表密文 明文MDESEk1DESDk2DESEk3密文C3DES解密过程示意 Ek()和Dk()假设为DES的加密和解密过程。 明文MDESDk3DESEk2DESDk1密文C在线破解 加密解密工具:http:tool。chacuo。netcryptdes 其中也可以破解部分3DES的加密。 版权说明:请尊重原创版权,版权归本人所有。