經典加密
簡單來講,加密就是將信息加工成第三方再聰明也看不懂的東西。
有一個可靠的方法,就是每次信息都用不同的密鑰(KEY) 加密,而且該密鑰只用一次。密鑰是一串隨機數,會在事先準備好。這個方法叫做one-time-pad,也叫維南加密法,由維南(Gilbert Sandford Vernam)在 1917 年發明(一戰時期)。
維南加密法在軍事上很好用,但在商業上幾乎不可行。假如銀行用維南加密法給你的信用卡信息加密,首先,你會收到非常非常長的一套密鑰,因為每次刷卡都要用新密鑰,而且你得嚴密穩妥地保管好這些密鑰。我相信你會直接裂開。
現在商業上用的加密系統叫公開密鑰加密系統。銀行產生一對密鑰,公鑰和私鑰;公司保留私鑰,而把公鑰給所有的客戶。客戶利用公鑰對自己的信用卡信息加密並通過公共網絡傳給信用卡公司,銀行利用自己的私鑰對客戶信息進行解碼,獲得信用卡使用信息。由於公鑰是公開的,所有人(包括犯罪分子)都可以獲得,這就要求利用公鑰的加密過程可逆性很差,這樣沒有私鑰的人很難解密。
RSA 就是一個常用的公開密鑰加密統,由李維斯特(Ron Rivest)、薩莫爾(Adi Shamir) 和阿德曼(Leonard Adleman)發明。RSA 基本思想是利用由兩個非常大的質數產生一對密鑰,公鑰 (A)和私鑰 (B)。其中 A是兩個質數的乘積,B是利用這兩個質數按照公開的方式產生的。RSA 非常有效的原因是目前不存在一個算法可以根據 A很快反推出這兩個大質數。這個公開密鑰加密系統只要求銀行嚴密保護兩個質數和私鑰 B。顯然,這個密碼系統不要求客戶嚴密穩妥地保護密碼,忘了都沒事,刷卡可以很輕鬆。
但是,RSA只是難破解,不是不可能破解。
量子加密
顯然,公開密鑰系統不是完全安全。最安全的方法還是用私鑰,然後只要保證私鑰在傳輸中無法被竊取即可。量子加密就是提供了一種密鑰無法被剽的傳輸方案。用這種方法分享密鑰就叫做量子密鑰分發(quantum key distribution, QKD)。
在討論量子加密之前,我們需要知道三個人Alice、Bob、Eve。Alice 和 Bob喜歡交換信息,Eve喜歡竊取信息。
首先需要指出的是,量子加密不是說可以防止密鑰被竊取,而是可以明確知道密鑰是否被竊取了。這就可以保證密鑰分發的安全性,因為被竊取了可以及時更換密鑰。密鑰分發成功後,加密信息可以在公開信道中傳輸。基於QKD,使用維南加密法即可保證信息傳輸的安全性。
量子力學告訴我們,對單個粒子的測量必然使被測粒子態發生改變。也就意味著,我們不可能在先探測了一個光子,獲取了這個光子所有的信息之後,製造一個一模一樣的光子,即量子不可克隆定律(quantum no-cloning theorem)。也就是說,如果Eve想竊取信息,必然會測量量子密鑰,而測量將引起量子態的改變,從而暴露了Eve的存在。
我們以光的偏振作為信息的載體為例,如下圖所示,Eve現在想確定光子的偏振態,然後發送個一模一樣的給Bob,防止被發現。
一般測光子偏振態的裝置如下圖所示,光子經偏振分束器(polarizing beam splitter),後由兩個單光子探測器(single photon detector, SPD)接收。Eve可以得到的信息要麼是SPD1 有響應,要麼是SPD2有響應。SPD1響應表明光子是豎直方向偏振的,SPD2響應表明光子是水平方向偏振的。
如果Eve運氣足夠好,探測的光子正好是豎直方向或水平方向偏振,那可以不被發現。但是,對其他偏振態,Eve的測量使得該偏振態變成了豎直方向或水平方向偏振,所以她想造一個一模一樣的基本沒戲。