我们在技术 | 请问可以告诉我你的密码吗中简单介绍了为什么要加密以及加密过程中可能遇到的一系列问题及解决思路,接下来我们会对一些重要的内容进行展开。
当消息被窃听,是人性的扭曲,还是道德的沦丧?安全感是自己给的(此处应有毒鸡汤),该怎么办呢?加个密吧!用同一个密钥进行加解密的密码称作对称加密,这里简单介绍三种对称加密,DES、3DES和AES。
DES
(Data Encryption Standard)数字加密算法是1977年美国联邦信息处理标准(FIPS)中所采用的一种对称密码。DES一直以来被美国以及其它国家的政府和银行等广泛使用。DES运算速度快、资源消耗较少,但是随着计算机计算能力的增强,DES已经能够在短时间内暴力破解,安全性较低。RSA公司在20世纪末举办过的破译DES密钥的比赛数据显示,到1999年破译密钥只需要22小时15分钟。鉴于DES已经能够在短时间内被破解,现在除了破解之前的密文,已不再推荐使用。
由于DES已经能够在短时间内被破解,为了增加DES的强度,将DES重复3次的用来替代DES的分组密码3DES被开发出来,也称为TDEA(Triple Data Encryption Algorithm)。3DES的加解密机制如下。
但是,3DES处理速度不高,除了在一些重视向下兼容性的环境中,很少有新的用途,也逐渐被AES所取代。AES(Advanced Encryption Standard)高级加密标准是取代DES标准的一种对称加密算法的新标准,最终在2000年从众多候选对称密码算法中选出了Rijndael作为AES。被选为AES的密码算法必须满足一定的条件,比如,算法没有弱点、加密以及密钥准备的速度要够快、实现容易、能够在各平台上有效工,同时,还必须无条件地免费供全世界使用。可以说,被选为AES的算法近乎“完美”。AES加解密机制较复杂,综合运用了逐字节替换、平移行、混合列、与轮密钥进行XOR等,其优点在运算速度快、资源消耗少,且安全性高。前面我们简单介绍了DES、3DES和AES三种对称密码,DES已经能够被暴力破解,3DES也逐渐被AES取代。鉴于AES在其选定过程中经过了全世界密码专家的严谨验证,一般来说,我们在使用的时候应尽量使用AES。然而,当我们使用对称密码进行通信时,仍然存在的一个问题是,我们如何将密钥安全地发送给接收者?感兴趣的读者可以一起来思考一下。
转自:公众号(TRIAS)