對等加密(Reciprocal cipher),又稱為對稱密鑰加密(Symmetric-key algorithm)、對稱加密、私鑰加密、共享密鑰加密,是密碼學中的一類加密算法。
基本介紹
簡介,分類,ROT13,博福特密碼,恩尼格瑪密碼機,RC4,
簡介
該類密碼的加密(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加密解密使用同一套算法。