更新时间:2022-08-25 16:18
对等加密(Reciprocal cipher),又称为对称密钥加密(Symmetric-key algorithm)、对称加密、私钥加密、共享密钥加密,是密码学中的一类加密算法。
该类密码的加密(encryption)算法是它自己本身的逆反函数,所以其解密(decryption)算法等同于加密算法,也就是说,要还原对等加密的密文,套用加密同样的算法即可得到明文。换句话说,两次连续的对等加密运算后会回复原始文字(在数学上,这有时称之为对合)。
举例来说,ROT13 算法是将26个英文字母依续排列即1=A、2=B、3=C、...、26=Z、27=A...,加密后将数字加13,即A(1)→N(14)、B(2)→O(15)、...、M(13)→Z(26),欲得到原始讯息再将数字加13即可。ILOVEYOU加密过后即变成VYBIRLBH。
常见的对等加密算法有 ROT13、博福特密码、恩尼格玛密码机、RC4、瓦茨亚亚那加密。
ROT13
ROT13过去用在1980年代早期的net.jokes新闻群组。它被用来隐藏某些可能侮辱到特定读者的笑话、隐晦某个谜题的答案或八卦性的内容。之所以选一次13个字母的位移而不是其他值(例如原本凯撒加密里的3字母位移)乃因13位这个值刚刚好使得加密解密都是一样,故只要一行命令就可以简洁的满足两者需要。ROT13是凯撒密码加密演算法的特例。
博福特密码
博福特密码,是一种类似于维吉尼亚密码的替代密码,由弗朗西斯·蒲福(Francis Beaufort)发明。它最知名的应用是哈格林M-209密码机。博福特密码属于对等加密,即加密算法与解密算法相同。
例如,明文的第一个字母为D,则先在表格中找到第D列。由于密钥的第一个字母为F,于是D列从上往下找到F。这一F对应的行号为C,因而C便是密文的第一个字母。以此类推可以得到密文。以下便是一个密钥为FORTIFICATION时的例子:
明文:DEFENDTHEEASTWALLOFTHECASTLE
密钥:FORTIFICATIONFORTIFICATIONFO
密文:CKMPVCPVWPIWUJOGIUAPVWRIWUUK
恩尼格玛密码机
恩尼格玛密码机(德语:Enigma,又译哑谜机,或“谜”式密码机)是一种用于加密与解密文件的密码机。确切地说,恩尼格玛是对二战时期纳粹德国使用的一系列相似的转子机械加解密机器的统称,它包括了许多不同的型号,为密码学对称加密算法的流加密。
RC4
RC4(来自Rivest Cipher 4的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。
RC4由美国密码学家罗纳德·李维斯特(Ronald Rivest)在1987年设计的。由于RC4算法存在弱点,2015年2月所发布的 RFC 7465 规定禁止在TLS中使用RC4加密算法。RC4由伪随机数生成器和异或运算组成。RC4的密钥长度可变,范围是[1,255]。RC4一个字节一个字节地加解密。给定一个密钥,伪随机数生成器接受密钥并产生一个S盒。S盒用来加密数据,而且在加密过程中S盒会变化。由于异或运算的对合性,RC4加密解密使用同一套算法。