單向加密算法主要用於對信息完整性的驗證,這種技術就是由散列函數提供的消息認證技術。 散列函數,也稱作哈希函數、消息摘要函數、單向函數或雜湊函數。經過散列函數,能夠爲數據建立「數字指紋」(散列值)。散列值一般是一個字母和數字組成的字符串。 其消息認證流程以下:算法
在上述認證流程中,信息收發雙方在通訊前已經商定了具體的散列算法,而且該算法是公開的。若是消息在傳遞過程當中被篡改,則該消息不能與已得到的數字指紋相匹配。 散列函數具備如下的特徵:安全
對稱密碼體制的保密模型以下圖所示。對稱密碼體制要求加密和解密使用同一個密鑰,解密是加密的逆運算,因爲通訊雙方共享同一個密鑰,這就要求通訊雙方必須在通訊前商定該密鑰,並妥善保存該密鑰,該密鑰稱爲私密密鑰。私密密鑰的存在使得對稱密碼體制開放性變差。 對稱密碼體制的保密模型:函數
對稱密碼體制分爲兩種:加密
非對稱密碼體制的保密通訊模型以下體所示。**非對稱密碼體制與對稱密碼體制相對,其主要的區別在於:非對稱密碼體制的加密密鑰和解密密鑰不相同,分爲兩個密鑰,一個公開,一個保密。公開的密鑰稱爲公鑰,保密的密鑰稱爲私鑰。**所以,非對稱密碼體制也稱爲公鑰密碼體制。非對稱密碼體制使得發送者和接收者無密鑰傳輸的保密通訊成爲可能,彌補了對稱密碼體制的缺陷。 非對稱密碼體制的保密通訊模型:圖片
在非對稱密碼體制中,公鑰和私鑰都可用於加密和解密操做,但它與對稱密碼體制不一樣。公鑰與私鑰分屬通訊雙方,一份消息的加密和解密須要公鑰與私鑰共同參與。公鑰加密則須要私鑰解密,反之,私鑰加密則須要公鑰解密。字符串