困難性:最壞情況VS平均情況

買賣虛擬貨幣
上一期給大家介紹了格密碼,很多朋友困惑于格的最壞情況下的困難性。這裡向大家一一解惑。最壞情況下與平均情況下哪個困難?密碼演算法是建立在困難問題之上的。前面我們說了,格密碼是建立在最壞情況下的格上標準困難問題之上。這句話有些人讀了之後就暈了。何謂最壞情況下的困難問題?最壞情況下與平均情況下哪個困難?在解釋之前我直接給出結果:最壞情況下的困難性是最最最….困難的。如果一個問題建立在最壞情況下的困難問題之上,則對於該問題的任何例項都是困難的。
而平均情況下的困難問題就不一樣了。它在某些引數下是困難的,但是在某些引數下並不困難。例如,大整數分解問題,這個問題是有前提的,選取的數一方面要足夠大,而且要具有素數因子才行。否則壓根構不成困難問題。最壞情況意味著任意例項,而平均情況意味著隨機例項。

問題來了,哪一種好呢?

最壞情況下的困難性的優勢

對於密碼學演算法而言,當然是如果能夠建立在最壞情況下的困難性之上是最好了。這樣意味著任何情況下都是困難的。

然而,對於密碼學來說,它需要困難問題是建立在平均情況下的,因為這樣才能使得金鑰隨機選取後,所對應的密碼函式不能被破解的概率為高概率。

但是在平均情況困難性假設下構造密碼學方案有個特點,必須要找到合適分佈的問題例項。例如,基於大整數分解的密碼學構造,它的假設是在某個特定合理分佈下分解整數是困難的。不是對任何分佈的整數其分解都是困難的。例如那些具有小因子的數是容易分解的,所以我們選擇的時候是要避免的。

但是在最壞情況困難性假設下,對分佈沒有任何要求,可以完全避免這個問題。例如在格的最壞情況困難問題假設下,密碼學演算法可以輸入任何分佈的格。

因此,這是格密碼具有吸引力的重要原因之一。(還有一個吸引力是抗量子,以後再說)

Ajtai的開創性歸約

在格密碼之前,人們還沒有發現有能夠建立在最壞情況下的困難問題。1996年Ajtai開創性的將格密碼建立在“最壞情況”(更安全)的安全性假設之上,而不是隨機情況。

簡單的說,Ajtai建立的歸約就是:給定安全引數n(格的維數),在隨機情況下如果存在能夠打破格密碼系統的敵手,則對輸入的任意n維格都存在一個解。

注意上面的“任意”兩個字,說明Ajtai在隨機情況與最壞情況兩者之間建立起了一個橋樑。

下面我們延伸一下,說明一下隨機例項與安全性之間的關係。這裡就需要提到NP完全問題。

隨機例項與可證明的安全性

一般來說,我們假設不存在總能解決NP完全問題的演算法。這是一個非常安全的假設,因為對於演算法而言,這確實是一件很難的事情。但是提出一種演算法來解決隨機問題的可能性似乎要容易得多。

然而,沒有加密方案有這種證明。如果您檢視文獻,除了極少數例外。安全性定理如下所示:

定理:假設不存在用於求解某些問題X的隨機例項的多項式時間演算法,則該加密方案是可證明的安全性。

注意“隨機例項”。舉一個具體的例子,我們可能假設不存在用於以一定的概率將兩個隨機n位素數的乘積分解為因子的多項式時間演算法。這與假設不存在用於始終分解兩個隨機n位素數的所有乘積的多項式時間演算法完全不同(不太安全)。

超越“隨機例項”的問題,需要對理論電腦科學進行一些深入而優美的研究。從Ajtai的開創性工作開始,發現了加密演算法,其中安全性假設是“最壞情況”(更安全)的假設,而不是隨機情況。不幸的是,最壞情況的假設是針對未知的NP完全問題,並且一些理論證據表明無法使它們適應NP完全問題。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;