浙江邮电工程建设有限公司大数据研究院 ——段兴才
众所周知数据对于一个公司来说,非常重要,一旦数据泄露,公司将面临非常大的威胁,数据加密非常重要。
对称加密是指加密和解密使用相同密钥的加密算法,常见的对称加密算法有DES,DES3,AES加密算法。对称加密由于其加解密速度快,常被用于大量的数据加密场景,还有对传输效率要求高的场景如VPN之间的传输,但是由于其密匙不方便保存,所以适合于内部系统。
1 DES加密算法
DES加密算法是一种分组加密算法,通过将输入的明文按64位一组,进行分组加,加密过程分为初始置换明文,分组明文,生成子密匙,密匙与明文加密,经过S盒替(如表1.14所示),P盒替换(如图1.16所示),置换后的密文与原32位明文加密。具体流程图如下图1.1 DES加密流程图
图1.1 DES流程图
初始置换:初始置换是只将输入的64位明文,按照一个置换表进行置换位置,具体置换规则:初始数据里面的64是1号位,置换表的1则到了第40这个位置,那么64置换之后就到了第40这个位置、63是原来的2号位,在置换表里面是第8号位,所以63经过置换表则到了第8位,其他的位置执行同样的操作,具体操作如表1.1,表1.2,表1.3:
表1.1 初始数据表
表1.2 置换表
表1.3 置换后数据
拿到置换后的数据后,将明文分组左右两组。将初始置换之后的数据按前32位为左边L0,后32位为右边R0。具体分组如表1.4,1.5.
表1.4 左边L0
表1.5 右边R0
主密匙是用户定义的一个密匙,将一个主密匙生成16个子密匙,每一次操作用一个密匙。用户设置的一个64位key,我们将其忽略第8,16,24,32,40,48,56,64奇偶检验位。得到一