(一)定義與應用原理
公開密鑰加密法是針對私有密鑰加密法的缺陷而提出來的。是電子商務應
用的核心密碼技術。所謂公開密鑰加密,就是指在計算機網絡上甲、乙兩用戶之間
進行通信時,發送方甲為了保護要傳輸的明文信息不被第三方竊取,采用密鑰 A 對
信息進行加密而形成密文 M 并發送給接收方乙,接收方乙用另一把密鑰 B 對收到的
密文 M 進行解密,得到明文信息完密文通信目的的方法。由于密鑰 A、密鑰 B 這兩
把密鑰中其中一把為用戶私有,另一把對網絡上的大眾用戶是公開的,所以這種信
息加密傳輸方式,就稱為公開密鑰加密法。與私有(對稱)密鑰加密法的加密和解密
用同一把密鑰的原理不同,公開密鑰加密法的加密與解密所用密鑰是不同的,不對
稱,所以公開私有密鑰加密法又稱為非對稱密鑰加密法。 公開密鑰加密法的應用原理是:借助密鑰生成程序生產密鑰 A 與密鑰 B,
這兩把密鑰在數學上相關,對稱作密鑰對。用密鑰對其中任何一個密鑰加密時,可
以用另一個密鑰解密,而且只能用此密鑰對其中的另一個密鑰解密。在實際應用
中,某商家可以把生成的密鑰 A 與密鑰 B 做一個約定,將其中一把密鑰如密鑰 A 保
存好,只有商家自己知道并使用,不與別人共享,叫作私人密鑰;將另一把密鑰即
密鑰 B 則通過網絡公開散發出去,誰都可以獲取一把并能應用,屬于公開的共享密
鑰,叫做公開密鑰。如果一個人選擇并公布了他的公鑰,其他任何人都可以用這一
公鑰來加密傳送給那個人的消息。私鑰是秘密保存的,只有私鑰的所有者才能利用
私鑰對密文進行解密,而且非法用戶幾乎不可能從公鑰推導出私鑰。存在下面兩種
應用情況:一是任何一個收到商家密鑰 B 的客戶,都可以用此密鑰 B 加密信息,發
送給這個商家,那么這些加密信息就只能被這個商家的私人密鑰 A 解密。實現保密
性。二是商家利用自己的私人密鑰 A 對要發送的信息進行加密進成密文信息,發送
給商業合作伙伴,那么這個加密信息就只能被公開密鑰 B 解密。這樣,由于只能應
用公開密鑰 B 解密,根據數學相關關系可以斷定密文的形成一定是運用了私人密鑰
A 進行加密的結果,而私人密鑰 A 只有商家擁有,由此可以斷定網上收到的密文一
定是擁有私人密鑰 A 的商家發送的。
(二)使用過程
具體到電子商務,很多環節要用到公開密鑰加密法,例如在網絡銀行客戶
與銀行進行資金的支付結算操作時,就涉及大量的資金流信息的安全傳輸與交換。
以客戶甲與乙網絡銀行的資金信息傳輸為例,來描述應用公開密鑰加密法在兩種情
況下的使用過程。首先,網絡銀行乙通過公開密鑰加密法的密鑰生成程序,生成自
己的私人密鑰 A 與公開密鑰 B 并數學相關,私人密鑰 A 由網絡銀行乙自己獨自保
存,而公開密鑰 B 已經通過網絡某種應用形式(如數字證書)分發給網絡銀行的眾
多客戶,當然客戶甲也擁有一把網絡銀行乙的公開密鑰 B。
1、客戶甲傳送一“支付通知”給網絡銀行乙,要求“支付通知”在傳送中是
密文,并且只能由網絡銀行乙解密知曉,從而實現了定點保密通信。客戶甲利用獲
得的公開密鑰 B 在本地對“支付通知”明文進行加密,形成“支付通知”密文,
通過網絡將密文傳輸給網絡銀行乙。網絡銀行乙收到“支付通知”密文后,發現只
能用自己的私人密鑰 A 進行解密形成“支付通知”明文,斷定只有自己知曉“支付
通知”的內容,的確是發給自己的。
2、網絡銀行乙在按照收到的“支付通知”指令完成支付轉賬服務后, 必
須回送客戶甲“支付確認”,客戶甲在收到“支付確認”后,斷定只能是網絡銀行
乙發來的,而不是別人假冒的,將來可作支付憑證,從而實現對網絡銀行業務行為
的認證,網絡銀行不能隨意否認或抵賴。網絡用戶乙在按照客戶甲的要求完成相關
資金轉賬后,準備一個“支付確認”明文,在本地利用自己的私人密鑰 A 對“支付
確認”明文進行加密,形成“支付確認”密文,通過網絡將密文傳輸給客戶甲。客
戶甲收到“支付確認”密文后,雖然自己有許多密鑰,有自己的,也有別人的,卻
發現只能用獲得的網絡銀行乙的公開密鑰 B 進行解密,形成“支付確認”明文, 由于公開密鑰 B 只能解密由私人密鑰 A 加密的密文,而私人密鑰 A 只有網絡銀行
乙所有,因此客戶甲斷定這個“支付確認”只能是網絡銀行乙發來的,不是別人假
冒的,可作支付完成的憑證。
(三)算法
當前最著名、應用最廣泛的公開密鑰系統是 RSA (取自三個創始人的名字
的第一個字母)算法。目前電子商務中大多數使用公開密鑰加密法進行加解密和數
字簽名的產品和標準使用的都是 RSA 算法。RSA 算法是基于大數的因子分解,而大
數的因子分解是數學上的一個難題,其難度隨數的位數加多而提高。
(四)優缺點
優點是可以在不安全的媒體上通信雙方交換信息,不需共享通用密鑰,用
于解密的私鑰不需發往任何地方,公鑰在傳遞與發布過程中即使被截獲,由于沒有
與公鑰相匹配的私鑰,截獲公鑰也沒有意義。
能夠解決信息的否認與抵賴問題,身份認證較為方便。密鑰分配簡單,公
開密鑰可以像電話號碼一樣,告訴每一個網絡成員,商業伙伴需要好好保管的只是
一個私人密鑰。而且密鑰的保存量比起私人密鑰加密少得多,管理較為方便。最大
的缺陷就在于它的加解密速度。