DES加密算法知多少?
概念
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"3DES加密过程示意
假设:Ek() 和Dk()假设为DES的加密和解密过程,k代码密钥,M代表明文,C代表密文
明文M --> DES Ek1--> DES Dk2 --> DES Ek3 --> 密文C3DES解密过程示意
Ek() 和Dk()假设为DES的加密和解密过程。
明文M --> DES Dk3 --> DES Ek2 --> DES Dk1 --> 密文C在线破解
加密解密工具:http://tool.chacuo.net/cryptdes
其中也可以破解部分3DES的加密。
版权说明:请尊重原创版权,版权归本人所有。