浙大暑期密碼學課程|可證明安全基礎

浙大暑期密碼學課程|可證明安全基礎

視頻地址:浙大暑期Crypto課程-Provable Security Basics( 上)浙大暑期Crypto課程-Provable Security Basics( 下)

參考:筆記分享|浙大暑期密碼學課程:可證明安全基礎

前言

本次課程由浙江大學的張秉晟老師帶來,主要講解密碼學中的可證明安全理論基礎

圖片

現代密碼學在20世紀70年代末得到發展,密碼學可以用於保證機密性,完整性和認證,並廣泛用於多個現代密碼學原語中,如零知識證明,全同態加密等。

圖片

可證明安全

可證明安全主要分爲以下三個步驟:

  • 首先確定威脅模型
  • 其次構造方案
  • 最後給出一個正式的安全性證明

圖片

公鑰加密始於1976年Diffie和Hellman的論文,並提出了DH密鑰交換/協商,當然DH密鑰協商的安全性並非完全建立在離散對數上,RSA的安全性也不完全建立在factoring(大數分解問題)上。

圖片

Textbook RSA

在這裏我們要講述的是Textbook RSA是不安全的,一般而言,需要對消息進行padding纔可以使用相應的RSA方案。

  • padding:與對稱加密算法DES,AES一樣,RSA算法也是一個塊加密算法( block cipher algorithm),總是在一個固定長度的塊上進行操作,即需要填充消息,但跟AES等不同的是,block length是跟key length有關的。
  • 更多參考:RSA非對稱加解密算法填充方式(Padding)

圖片

單向函數

接下來介紹了單向函數,在單向函數中,多項式時間的敵手沒法快速地找到單向函數輸出所對應的原像,以下是單向函數的定義和安全性博弈(Game)。

圖片

假設\(f(x)\)是一個單向函數,但是\(f(m)\)\(f(m||r)\)都不是關於m的承諾方案,因爲commitment需要保證hiding和binding,可能該輸出會泄露m中的部分比特信息,但如果f是一個隨機預言機(random oracle),那麼\(f(m||r)\)是一個承諾。

圖片

DH密鑰協商

以下是離散對數的定義,在離散對數中,給定一個生成元\(g\)和一個羣元素\(g^x\),敵手無法在多項式時間內求解\(x\)

圖片

以下PPT介紹的是基於DH的密鑰協商協議,分爲初始化階段密鑰生成階段生成會話密鑰階段

圖片

安全性證明

我們在證明DHKE安全性之前,需要確定DHKE在哪個假設之下是安全的,我們需要先確定安全性和假設,然後使用規約的方式來證明DHKE可以在多項式時間內被規約到特定假設若該假設是困難的,則說明被證明的密碼方案很難被攻破,就具有安全性

圖片

  • 首先我們需要先定義安全目標,在協議/算法執行過程中,敵手是誰,敵手的攻擊能力和確定敵手的攻擊目標。
    • 敵手是:第三方
    • 敵手攻擊能力:竊聽,猜測
    • 敵手攻擊目標:得到\(k=g^{st}\)

圖片

  • 以下是關於密鑰恢復(Key Recovery)算法的安全性的安全定義和安全模型。

圖片

規約理論

下圖主要介紹了如何將DH密鑰協商協議的安全性規約到特定的困難問題,最簡單的方式是將DH密鑰協商協議的安全性規約到離散對數問題,但是目前並不知道怎麼樣將密鑰協商協議的安全性進行規約。

圖片

所以我們需要引入計算性的DH問題,簡記爲CDH,下圖介紹了CDH的敵手攻擊能力和對應的博弈。

圖片

離散對數(DL)和CDH的關係如下圖所示,當CDH是困難的,那麼DL是困難的,同時如果DL問題是困難的,CDH問題在某些條件下才是困難的,我們將採用該定理來實現安全性的規約

圖片

規約其實就是假設某個問題是困難的,那麼能夠規約到該問題的原問題也是困難的,CDH和DL問題也是這樣的關係,下圖描述了他們之間的關係。

圖片

敵手無法獲得密鑰k,密鑰協商只實現這種安全性是不夠的,還需要敵手無法獲得關於k的任何信息

圖片

不可區分安全

這種性質常見的典型體現是一次一密,即每次使用一個新的隨機密鑰k,對m進行異或操作,給定密文c和隨機值,敵手很難在多項式時間內判斷哪個是隨機值,哪個是密文。

圖片

該定義對應了不可區分安全,即敵手在多項式時間內無法確定特定數據,哪個是隨機選取的,哪個是正確生成的,如下圖所示。

圖片

下圖定義了不可區分(IND)的模型,同時爲後續證明DH在DDH上實現IND安全先行進行了描述。

圖片

然後下圖定義了決定性DH問題,簡記爲DDH,該問題相對於CDH而言,在安全性證明規約中更通用,下圖是DDH問題的敵手攻擊能力和博弈描述。

圖片

張老師最後給出了詳細的推導和證明過程,詳情請見視頻。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章