B站粉絲的安全歸約學(xué)習(xí)感悟

作為一個半路出家的密碼小白,未接觸郭老師的課程的時候,對安全歸約的理解僅僅停留在反證法和逆否命題的關(guān)系上。當(dāng)開始閱讀論文的時候,發(fā)現(xiàn)一些奇怪的設(shè)置(實(shí)際上有些設(shè)置是安全證明的需要)。船到橋頭沒有安全歸約自然直不起來(doge),然后便開始學(xué)習(xí)郭老師的課程了。簡單談一談這段時間學(xué)習(xí)安全歸約的一些感悟。
在安全模型定義完成的情況下,安全歸約形象一點(diǎn),彷佛我自己在玩超級馬里奧闖關(guān),面前來的蘑菇頭是什么?這一關(guān)我怎么才能過去?不幸的是,我會死個無數(shù)次還是沒有通關(guān)。在闖關(guān)的過程中也有一些“爆金幣”的地方,也就是自己能夠針對某個點(diǎn)進(jìn)行思考收獲到對之后安全歸約有用的一些知識。好不容易通關(guān),才發(fā)現(xiàn)這只是第一關(guān),后面還有2、3、4、…、n關(guān)。更慘的是,你死亡次數(shù)多了你會回歸到第一關(guān),重新開始哈哈哈哈哈,指你構(gòu)造的方案根本是行不通的有安全問題的,或者中間為了安全證明需要改動一些參數(shù)。 (Fuchun: 我猜想說明后面有一個錯,在修改后,必須從頭開始)
可以預(yù)見的是最后你好不容易全部通關(guān)了,你會發(fā)現(xiàn)這僅僅只是一個游戲版本,還有其他的版本(沒有random oracle怎么辦?能不能做到tight的安全歸約?…),或者這個版本中的一些游戲暗線你并沒有體驗(yàn)到,不同的構(gòu)造方案也對應(yīng)不同的游戲線路不同的通關(guān)技巧,相同的是你需要跳跳跳通關(guān),能發(fā)現(xiàn)游戲的bug創(chuàng)造一條新路線也不錯。 (Fuchun:? 還得通關(guān)高級版本才能發(fā)出paper。上輩子殺人放火才輪到這輩子學(xué)密碼學(xué)^(oo)^? )
那么,到底怎么樣才能做才能越過這個障礙物呢,有時候不是能夠直接跳過去,需要繞行或者發(fā)現(xiàn)一些特殊的路線。( Fuchun: 沒有經(jīng)歷的人,體會不到這句話的辛酸)
總結(jié)一下我自己感覺是關(guān)鍵的問題(對于game方式安全歸約):
(1) 怎么樣才能fool這個**敵手呢?
(2) 敵手都無窮計算能力了怎么就發(fā)現(xiàn)不了real scheme和simulate scheme呢?
(3) 怎么沒有私鑰也能進(jìn)行simulate?
(4) 敵手成功輸出偽造簽名,但是我tm歸約不到困難問題??!怎么辦呢?
(5) 放大到惡意無限計算能力敵手好分析在哪里?
(6) 怎么去分析歸約成功的概率
