傳統加密方法有兩種
傳統加密方法有兩種,替換和置換。上面的例子采用的就是替換的方法:使用密鑰將明文中的每一個字符轉換為密文中的一個字符。而置換僅將明文的字符按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。數據加密標準(Data Encryption Standard,簡稱DES)就采用了這種結合算法,它由IBM制定,并在1977年成為美國官方加密標準。
DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最后再對其施用初始置換的逆。第i步的替換并不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。
DES具有這樣的特性,其解密算法與加密算法相同,除了密鑰Ki的施加順序相反以外。
公開密鑰加密方法
公開密鑰加密方法也允許采用這樣的方式對加密信息進行"簽名",以便接收方能確定簽名不是偽造的。假設A和B希望通過公開密鑰加密方法進行數據傳輸,A和B分別公開加密算法和相應的密鑰,但不公開解密算法和相應的密鑰。A和B的加密算法分別是ECA和ECB,解密算法分別是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。若A要向B發送明文P,不是簡單地發送ECB(P),而是先對P施以其解密算法DCA,再用加密算法ECB對結果加密后發送出去。