
密碼學最初是為保密的目的而設置的。通信雙方顺利获得一個不安全的信道通信,若A是一個竊聽者,要求其不能解密所截取的信息。例如,這個傳輸信道可以是電話線或計算機網。B想送給C的消息稱為明文,現實世界中的信息可以是任何形式,如文本、聲音、視頻等,明文常常是指這些信息編碼後的數字序列。B用預先指定的密鑰加密明文,得到相應的密文,並顺利获得信道發送給C。A顺利获得搭線竊聽到密文,卻無法確定明文是什麼。但接收者C因知道解密密鑰,可以解密密文並重構明文。對消息加密用的算法稱為加密算法,對密文解密用到的算法稱為解密算法。加密算法和解密算法是由密鑰的控制的,分別稱為加密密鑰和解密密鑰。
加密變換與解密變換可以統稱密碼變換。密碼變換一般是複雜的非線性變換。
一個密碼系統可以用一個五元組S={M,C,K,E,D}來描述。
①明文空間M:全體明文的集合
②密文空間C:全體密文的集合
③密鑰空間K:全體密鑰的集合,通常每個密鑰k都由加密密鑰k,和解密密鑰k組成。
④加密算法E:由加密密鑰控制的加密變換的集合。
⑤解密算法D:由解密密鑰控制的解密變換的集合
以上描述說明:如果一個明文m是用E加密的,且得到相應的密文c隨後只要用D解密,就可取得起初的明文m,也就是說,E和D的作用相互抵消。顯然,每個加密函數E一定是個雙射函數,否則在一個模稜兩可的情況下,解密無法進行。
除此,信息還被顺利获得各種方法進行竊聽和干擾信息,包括主動攻擊和被動攻擊兩種手段。
保證信息機密性的方法是使用密碼算法進行加密;而保證信息完整性的方法是使用鑑別與認證機制,數字簽名與散列函數(鑑別碼)即屬於鑑別與認證機制。
