对称密码属于现代密码中的一种,它的加密与解密都使用了相同的密钥,该密钥必须保密,发送方用该密钥对明文进行加密,然后将密文传输至接收方,接收方再用相同的密钥对收到的密文进行解密。
对称密码的解密密钥可以从加密密钥中推算出来的,反过来也成立。因此,它要求发送者和接收者在安全通信之前,共同商定一个密钥。对称算法的安全性依赖于密钥,密钥一旦被泄漏,就意味着任何人都能对消息进行加密和解密。
对称密码的目标是“扩散”和“混淆”。扩散是让明文中的单个字符影响密文中的多个字符,从而使明文的统计特征在密文中消失,相当于明文的统计结构被扩散;混淆是让密钥与密文之间的关系变得复杂多变,从而增加利用统计方法进行破解的难度。
对称密码也利用“置换”来进行加密,但这种置换比古典密码的置换要复杂很多。比如,可以按照分组来进行,即“分组密码”。举例如下:
假如有明文“The night gives me black eyes, but I will use it to find the light”,我们可以把整个句子按字母分组,每组4个字母,最后一组若不足4个则填入空格。然后在每组内按预先设计的密钥(3,1,4,2)进行置换,即组内的第1个字母用本组的第3个字母置换,第2个字母用第1个字母置换,第3个字母用第4个字母置换,最后一个字母用第2个字母置换。具体步骤如下:
第一步,将明文每4个字母分为一组,得到:
then ight give smeb lack eyes ,but Iwil luse itto find thel ight
第二步,按置换规则(3,1,4,2)进行置换,得到密文:
etnh hitg vgei esbm clka eesy u,tb iilw sleu tiot nfdi etlh hitg
将密文发送后,对方可以利用从加密密钥中推算出的解密密钥(2,4,1,3)对密文进行逆置换,得到明文。
在实际使用中,分组密码并不是只进行一次置换,而是要连续进行多次置换,每一次置换都在前一次的基础上进行,因此,它具有较高的密码强度。分组密码的最大特点是只要明文有微小的改动,都会引起密文的极大变化,也就是说,密文中的每一位依赖于明文中的若干位,这个特性称为“雪崩特性”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。