
密碼系統通常有以下3種獨立的分類方式。
1.明文變換到密文的操作類型
所有加密算法基於以下兩個基本操作:
代替:即明文中的每一個字符被映射為另一個字符,簡單地說,就是將一個符號替換成另一個符號來形成密文。該操作主要達到非線性變換的目的。
換位:即明文中字符的位置被重新排序,這是一種線性變換,對它們的基木要求是不丟失信息,即所有操作都是可逆的。
2.所用的密鑰數量
單密鑰密碼:即發送者和接收者雙方使用相同的密鑰,該系統稱為對稱密碼。
雙密鑰密碼:即發送者和接收者使用一個不同的密鑰,這兩個密鑰形成一個密鑰對,其中一個可以公開,稱之為公鑰;另一個密鑰需要持有人秘密保管,稱之為私鑰。該系統也稱為非對稱密碼或公鑰密碼。
3.明文被處理的方式
分組密碼:一次處理一個分組,對每個輸入分組產生一個輸出分組。即明文被分成具有一定大小的若干個分組,一個明文分組被當做一個整體來加密處理並產生一個密文分組輸出,通常使用的是64位(如DES)或128位(如AES)的分組大小。
流密碼:也稱序列密碼,即陆续在地處理輸入元素,並隨着該過程的進行,一次產生一個元素的輸出。即一次加密一個比特或一個字符。
人們在分析分組密碼方面下的工夫要比在流密碼方面多得多,一般而言,分組密碼比流密碼的應用範圍也廣得多。絕大部分基於網絡的常規加密應用都使用分組密碼。
