DES(Data Encryption Standard)是数据加密标准的简称,由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比特—> 初始逆转换IP-1 –->输出64比特密文数据。
引用依赖包#:pip install pyDes
脚本如下#:
from pyDes import des,PAD_PKCS5,ECB DES_S_KEY = '12345678' ming = 'this is ming' des_obj = des(DES_S_KEY,ECB,DES_S_KEY,padmode=PAD_PKCS5) s_byte = des_obj.encrypt(ming) # 加密 print(s_byte) c = des_obj.decrypt(s_byte) #解密 print(c) |
结果#:
(env) D:Codespython2ctfCrypto>python Des.py b' ² Ä öV}, q4º4"' b'this is ming' |
假设:Ek() 和Dk()假设为DES的加密和解密过程,k代码密钥,M代表明文,C代表密文
明文M --> DES Ek1--> DES Dk2 --> DES Ek3 --> 密文C
Ek() 和Dk()假设为DES的加密和解密过程。
明文M --> DES Dk3 --> DES Ek2 --> DES Dk1 --> 密文C
加密解密工具:http://tool.chacuo.net/cryptdes
其中也可以破解部分3DES的加密。
版权说明:请尊重原创版权,版权归本人所有。
页面更新:2024-03-08
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号