公平的進行異地猜硬幣游戲——量子猜硬幣協(xié)議

大家好,我是大老李。這期節(jié)目是上期有關(guān)量子密鑰分發(fā)協(xié)議的補充。上期節(jié)目中我介紹了使用量子糾纏協(xié)議的密鑰分發(fā)機制,也是墨子號衛(wèi)星實驗中所使用的協(xié)議。
但也有一類量子密鑰分發(fā)協(xié)議不使用量子糾纏機制,被稱為“基于制備和測量的”量子密鑰分發(fā)(Quantum Key Distribution,簡稱QKD),比如BB84協(xié)議。之前每次聊到量子物理,就必談量子糾纏,讓我們暫時忘掉這一點,其實不用量子糾纏,單個粒子就可以有很好的性質(zhì),可被利用作密鑰分發(fā)。
還是以自旋方向為例,有一個方法,可以使得對粒子自旋方向的測量結(jié)果總是得到我們預(yù)期的結(jié)果。
我們可以在測量前,讓量子通過一個裝置進行某種準備,這個裝置的關(guān)鍵參數(shù)就是方向?qū)傩?。這個方向?qū)傩耘c測量時所使用的測量方向本質(zhì)上是同一個東西,所以都被叫做測量基(measurement basis,也可簡稱為“基底”)。而對裝置來說,另一個輸入就是我們所期望的自旋方向測量結(jié)果,這個結(jié)果只有兩種選擇,我們就用0和1來表示。而整個準備過程稱為對量子的一次“制備”。
制備的效果就是,如果測量時,選擇的測量基方向與制備時一致,則測量結(jié)果可以得到你制備時輸入的結(jié)果。比如我們?nèi)绻M麥y量某個粒子自旋方向是0,那我們我們就把粒子送入制備裝置,選擇目標(biāo)結(jié)果為0和某個測量基方向,進行制備。
之后測量時,我們選擇同樣的測量基方向,則理論上我們可以以100%的概率得到自旋方向為0的結(jié)果。
而如果測量時,我們選擇了其他一些測量基方向,那結(jié)果就帶有隨機性了。特別是某些特定的測量基夾角情況下,測量結(jié)果是一半對一半的隨機結(jié)果,也就是制備時量子自旋信息完全丟失了。
以上這個關(guān)于量子自旋的制備和測量性質(zhì)可以這樣來直觀的比喻:
如果把粒子比作硬幣,自旋方向表示硬幣哪一面向上。那么制備的過程就是制備方把硬幣放入一個箱子里,箱子外面有兩個小孔,分別表示一個測量基。這兩個小孔的形狀可以想象成一個是?,一個是??。

(上圖:兩組測量基可選的方向,以上兩組測量基可以滿足BB84協(xié)議所需效果。)
原版BB84論文里兩組測量基的符號也是用?和??表示,因為這兩個符號的方向確實是兩組測量基可以取的方向。另外,我可以控制放入箱子后,硬幣是正面還是背面向上。制備過程就是我選擇一個硬幣方向和小孔,把硬幣從那個小孔放入箱子,并且我知道現(xiàn)在硬幣是哪一面向上。
那對觀察者來說,這個箱子有個奇妙性質(zhì):如果制備方從?小孔投入硬幣,那么只有當(dāng)從?孔觀察硬幣,你才能確切知道制備方把硬幣哪一面朝上放置了。如果你從??孔觀察,那么箱子會自動重新擲一次硬幣,這樣你觀察到的結(jié)果就是一個純50%幾率的結(jié)果了,反之亦然。這個性質(zhì)是不是很神奇?
有這么奇妙寶箱,要進行密鑰分發(fā)就簡單了。一種思路就是制備方先制備一系列粒子,以下簡稱為“量子位”(雖然此處不是用這些粒子做典型的量子計算,但某種程度上它也具有量子比特性質(zhì)),對每一個粒子,都隨機選擇一個測量基,把這些量子位通過這些測量基后,發(fā)送給接收方。然后再通過傳統(tǒng)信道,把自己選擇的測量基順序發(fā)送給接收方。接收方按這些測量基順序去測量這些量子位,那么雙方就能得到相同的一組隨機二進位。
但以上過程中,有個不太理想的步驟,即通過傳統(tǒng)信道發(fā)送隨機測量基方向的過程。如果有人能截取到這個信息,那么他就可以提前測量,然后重新制備一組同樣的量子位給接收方測量,那么雙方無法察覺,而這個人就同樣得到了密鑰。
所以需要改進一下。讓發(fā)送方仍然發(fā)送一些列量子位,但接收方對每個量子位進行測量時,隨機從兩個測量基中選擇一個進行測量。然后雙方通過傳統(tǒng)信道,交換自己的測量基方向信息。那么如果在某一位上,雙方選擇了相同的測量基,雙方應(yīng)該測得相同的隨機位。理論上,雙方就可以選取那些位置的量子位作為密鑰開始通信。
但為了加強安全性,雙方再從那些相同的測量基方向中,選取一部分子集作為校驗,雙方比對這些位置上的測量結(jié)果是否一致,如果誤差率過大,表示這次通信收到干擾和攻擊,結(jié)果不可信。如果一致,那么余下的位置就是雙方的通信密鑰。

(上圖,一次BB84協(xié)議會話的例子:在接收方收到粒子,且雙方選擇了相同測量基位置(6個OK的位置),雙方選擇兩位作為校驗,余下四位即為分享的密鑰。(圖片取自BB84原始論文))
這種方式下,要進行如之前所述的中間人攻擊就難了,即使你完全劫持了雙方的量子通信和傳統(tǒng)通信信道,但因為接收方是隨機選取測量基方向,并且雙方還要選取隨機位置進行校驗,那么你作為攻擊者,事前就不知道該制備什么樣的量子位給接收方才能不被發(fā)現(xiàn)。以上就是BB84量子密鑰分發(fā)協(xié)議的大致過程。
在發(fā)表BB84協(xié)議的同一篇的論文中,兩位作者還提出了一個很有意思的“量子猜硬幣協(xié)議”(Quantum Coin Tossing)?!傲孔硬掠矌艆f(xié)議”是解決這樣一個問題:在不同地點的兩個人,如何公平的進行猜硬幣游戲?就是一個人丟硬幣,另一個人來猜。
這里,兩個人之間是完全沒有信任的,哪怕視頻連線,猜硬幣的一方都懷疑丟硬幣的一方是不是準備好了兩套視頻,以保證自己能贏。所以,我們希望有一套能夠確保公平的,雙方都能接受的遠程猜硬幣協(xié)議。
大老李很早有關(guān)密碼學(xué)的節(jié)目中介紹過一些解決此類問題的思路,基本方法就是用哈希算法,確保擲硬幣一方無法抵賴。但用前面有關(guān)量子制備和測量的過程,也能達到這一目的。我們來看看,BB84協(xié)議作者是如何設(shè)計這個量子擲硬幣協(xié)議的,我還是用之前的那個箱子打比方,并且甲是擲硬幣方,乙是猜硬幣方。
首先,甲準備一系列那個具有神奇性質(zhì)的箱子和硬幣。然后他從兩個小孔選擇一個小孔,作為對方要猜測的結(jié)果。所以這里量子猜硬幣協(xié)議,實質(zhì)上是“量子猜測量基協(xié)議”。
甲選定好某個測量基后,比如是“?”,再隨機產(chǎn)生一串二進位,比如1000位的隨機二進位。根據(jù)這1000位隨機二進位,他把1000枚硬幣從?小孔放入1000個箱子,并且使硬幣方向與這組二進位匹配。然后把這組箱子給乙。
乙拿到箱子后,可以從任何一個小孔去觀察每一個箱子。這樣他也得到1000位二進位,同時記錄觀察每個箱子時所選擇的小孔。
測量結(jié)果得到后,甲就可以對接收方說:好了,現(xiàn)在請你猜我當(dāng)初是從哪個小孔放入硬幣的。
乙以任何依據(jù)給出猜測結(jié)果后,甲就可以宣布,猜對了或是猜錯了。并且,他要把自己當(dāng)初的1000位隨機二進位序列發(fā)給乙驗證。
乙得到那1000位二進位后,可以比對甲所宣布的結(jié)果和自己測量的結(jié)果是否一致,以確認甲沒有說謊。

(上圖,一次量子擲硬幣協(xié)議會話過程:Alice選擇了?測量基,并產(chǎn)生一組隨機二進位。Bob隨機選擇了測量基后,猜對了?測量基。并且他可以驗證,在每一個他選擇"R"測量基的位置,其測得得二進位與Alice給出的相同。)
以上就是這個猜硬幣協(xié)議的全過程。當(dāng)然,你可能有的疑問是,甲方有欺詐會如何?比如明明乙猜對了,硬說對方猜錯了,乙能發(fā)現(xiàn)嗎?
另一方面,乙有沒有辦法根據(jù)觀察到的結(jié)果,使得自己能以超過50%的概率猜對硬幣嗎?這一點還是比較好驗證的。稍微分析下,你會發(fā)現(xiàn)乙無論如何選擇自己觀察箱子的小孔,也不能使自己猜硬幣的成功率大于50%。
所以我們重點分析下,甲方欺詐會如何。甲方要欺詐,有兩次機會,一次是制備粒子時,一次是在對方給出猜測結(jié)果后,發(fā)送校驗信息的時候。
我們先看看有沒有機會在對方給出猜測結(jié)果后欺詐。比如甲方把硬幣都從?孔放入,對方也猜了?,但甲方硬說放的是??孔。
乙方說:“那請你把你最初準備的1000位二進位發(fā)給我”。此時甲方就犯難了,因其不知道乙觀察箱子時,對每個箱子所選擇的孔。因為甲說是其選擇的是??孔,乙方就會驗證在每個他選擇??孔的位置,是否觀察到與甲同樣的二進位。但甲不知道哪些位置,以及那些位置上乙觀察的結(jié)果,乙一比對就能發(fā)現(xiàn)甲欺詐,甲行不通。
那甲有沒有辦法在制備階段就作弊?比如制備粒子時,一半箱子箱子選擇?,一半箱子選擇??放入硬幣?但這樣情況會更糟了,無論乙最后猜了?還是??,甲都沒法證明他贏了,因此更沒法設(shè)計最后的校驗序列了。
綜上所述,用以上方式,即可完成一次遠程的猜硬幣過程,而且結(jié)果是公平的,不可抵賴的。但是作者同時也指出,理論上利用EPR效應(yīng),也就是量子糾纏,以上協(xié)議就有漏洞了。
我們之前說要忘記量子糾纏,現(xiàn)在還是要回到量子糾纏。糾纏粒子的性質(zhì)大致就是,用同方向測量基測量,測量結(jié)果總是相反。那我們看看如何用量子糾纏,實現(xiàn)對猜硬幣方的欺騙。
方法是這樣,甲方在制備粒子的同時,保留一個這個粒子的糾纏對象在手上。然后還是如同之前協(xié)議進行。如果乙方猜錯了,那么甲方就如標(biāo)準協(xié)議進行。如果乙猜對了,那么甲方馬上對這些手上留下的糾纏例子在另一個測量基上進行測量。然后宣布對方猜錯了,并把測量結(jié)果翻轉(zhuǎn)后發(fā)送給乙方校驗。
比如,如果甲方當(dāng)初制備時用的是?測量基,對方也猜了?,那甲對手里的糾纏粒子在??測量基上進行一次測量,并且把這次測量結(jié)果翻轉(zhuǎn)后發(fā)送給接收方,那么接收方是無法分辨出我是否有欺詐的。
比如對方在第100號箱子上用??測量基觀察了硬幣是正面向上,那么我對100號粒子的糾纏伴侶用??測量基進行一次測量,把翻轉(zhuǎn)后結(jié)果告訴對方,那么對方的校驗結(jié)果也是正常的。所以,對方無法發(fā)現(xiàn)我進行了欺詐。
這種欺詐方式甚至于乙方先猜方向,再觀察盒子,都無法識破,請大家自行分析下為什么這樣。
好了,以上就簡單介紹了一下如何用基于制備和測量的方式進行量子密鑰分發(fā)和遠程猜硬幣。我們可以看到即使不用量子糾纏,量子都有一些很神奇的性質(zhì)。而量子糾纏則更進一步,使神奇性質(zhì)越發(fā)神秘。
參考文獻:
https://researcher.watson.ibm.com/researcher/files/us-bennetc/BB84highest.pdfhttps://zhuanlan.zhihu.com/p/29860637