加解密算法
1.對(duì)稱加密算法:
甲與乙事先協(xié)商好對(duì)稱密鑰,具體加解密過程如下:
甲使用對(duì)稱密鑰對(duì)明文加密,并將密文發(fā)送給乙。
乙接收到密文后,使用對(duì)稱密鑰對(duì)密文解密,得到最初的明文。
2.非對(duì)稱加密算法:
甲事先獲得乙的公鑰,具體加解密過程如下:
甲使用乙的公鑰對(duì)明文加密,并將密文發(fā)送給乙。
乙收到密文后,使用自己的私鑰對(duì)密文解密,得到最初的明文。
3.數(shù)字信封:
數(shù)字信封是指發(fā)送方采用接收方的公鑰來加密對(duì)稱密鑰后所得的數(shù)據(jù)。采用數(shù)字信封時(shí),接收方需要使用自己的私鑰才能打開數(shù)字信封得到對(duì)稱密鑰。
甲事先獲得乙的公鑰,具體加解密過程如下:
甲使用對(duì)稱密鑰對(duì)明文進(jìn)行加密,生成密文信息。
甲使用乙的公鑰加密對(duì)稱密鑰,生成數(shù)字信封。
甲將數(shù)字信封和密文信息一起發(fā)送給乙。
乙接收到甲的加密信息后,使用自己的私鑰打開數(shù)字信封,得到對(duì)稱密鑰。
乙使用對(duì)稱密鑰對(duì)密文信息進(jìn)行解密,得到最初的明文。
從加解密過程中,可以看出,數(shù)字信封技術(shù)結(jié)合了對(duì)稱密鑰加密和公鑰加密的優(yōu)點(diǎn),解決了對(duì)稱密鑰的發(fā)布和公鑰加密速度慢等問題,提高了安全性、擴(kuò)展性和效率等。
但是,數(shù)字信封技術(shù)還有個(gè)問題,如果攻擊者攔截甲的信息,用自己的對(duì)稱密鑰加密偽造的信息,并用乙的公鑰加密自己的對(duì)稱密鑰,然后發(fā)送給乙。乙收到加密信息后,解密得到的明文,而且乙始終認(rèn)為是甲發(fā)送的信息。此時(shí),需要一種方法確保接收方收到的信息就是指定的發(fā)送方發(fā)送的。
4.數(shù)字簽名
數(shù)字簽名是指發(fā)送方用自己的私鑰對(duì)數(shù)字指紋進(jìn)行加密后所得的數(shù)據(jù)。采用數(shù)字簽名時(shí),接收方需要使用發(fā)送方的公鑰才能解開數(shù)字簽名得到數(shù)字指紋。
數(shù)字指紋又稱為信息摘要,它是指發(fā)送方通過HASH算法對(duì)明文信息計(jì)算后得出的數(shù)據(jù)。采用數(shù)字指紋時(shí),發(fā)送方會(huì)將數(shù)字指紋和明文一起發(fā)送給接收方,接收方用同樣的HASH算法對(duì)明文計(jì)算生成的數(shù)據(jù)指紋,與收到的數(shù)字指紋進(jìn)行匹配,如果一致,便可確定明文信息沒有被篡改。
甲事先獲得乙的公鑰,具體加解密過程如下:
甲使用乙的公鑰對(duì)明文進(jìn)行加密,生成密文信息。
甲使用HASH算法對(duì)明文進(jìn)行HASH運(yùn)算,生成數(shù)字指紋。
甲使用自己的私鑰對(duì)數(shù)字指紋進(jìn)行加密,生成數(shù)字簽名。
甲將密文信息和數(shù)字簽名一起發(fā)送給乙。
乙使用甲的公鑰對(duì)數(shù)字簽名進(jìn)行解密,得到數(shù)字指紋。
乙接收到甲的加密信息后,使用自己的私鑰對(duì)密文信息進(jìn)行解密,得到最初的明文。
乙使用HASH算法對(duì)明文進(jìn)行HASH運(yùn)算,生成數(shù)字指紋。
乙將生成的數(shù)字指紋與得到的數(shù)字指紋進(jìn)行比較,如果一致,乙接受明文;如果不一致,乙丟棄明文。