在具體工作時,首先發(fā)送方對信息施以數(shù)學(xué)變換,所得的信息與原信息惟一對應(yīng);在接收方進行逆變換,得到原始信息。只要數(shù)學(xué)變換方法優(yōu)良,變換后的信息在傳輸中就具有很強的安全性,很難被破譯、篡改。這一個過程稱為加密,對應(yīng)的反變換過程稱為解密。
現(xiàn)在有兩類不同的加密技術(shù),一類是對稱加密,雙方具有共享的密鑰,只有在雙方都知道密鑰的情況下才能使用,通常應(yīng)用于孤立的環(huán)境之中,比如在使用自動取款機(ATM)時,用戶需要輸入用戶識別號碼(PIN),銀行確認(rèn)這個號碼后,雙方在獲得密碼的基礎(chǔ)上進行交易,如果用戶數(shù)目過多,超過了可以管理的范圍時,這種機制并不可靠。
另一類是非對稱加密,也稱為公開密鑰加密,密鑰是由公開密鑰和私有密鑰組成的密鑰對,用私有密鑰進行加密,利用公開密鑰可以進行解密,但是由于公開密鑰無法推算出私有密鑰,所以公開的密鑰并不會損害私有密鑰的安全,公開密鑰無須保密,可以公開傳播,而私有密鑰必須保密,丟失時需要報告鑒定中心及數(shù)據(jù)庫。
數(shù)字簽名的算法很多, 應(yīng)用最為廣泛的三種是: Hash簽名、DSS簽名和RSA簽名。
1. Hash簽名
Hash簽名不屬于強計算密集型算法,應(yīng)用較廣泛。它可以降低串口服務(wù)器資源的消耗,減輕中央服務(wù)器的負(fù)荷。Hash的主要局限是接收方必須持有用戶密鑰的副本以檢驗簽名, 因為雙方都知道生成簽名的密鑰,較容易攻破,存在偽造簽名的可能。
2. DSS和RSA簽名