日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

现代密码学3.3--伪随机生成器/PRG

發布時間:2025/3/21 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 现代密码学3.3--伪随机生成器/PRG 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

現代密碼學3.3--偽隨機生成器/PRG

  • PRG
  • 歸約證明
  • 基于PRG構造計算安全(唯密文攻擊)的密碼方案
    • 構造密碼方案Π\PiΠ
    • 基于PRG,證明密碼方案Π\PiΠ的計算安全

博主正在學習INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些筆記供自己回憶,如有錯誤請指正。整理成一個系列現代密碼學,方便檢索。

  • 第二章定義的完美安全是一種理論上的討論,而第三章需要定義的計算安全是一種更偏向實際需求的討論。
  • 3.1節討論了定義計算安全的兩種方法,3.2節討論了什么是計算安全。1.4節介紹了現代密碼的三大原則:定義+假設+安全性證明,現在定義了計算安全,還需要有一個假設,才能構造能夠進行安全性證明的密碼方案,
  • 所以3.3節:
    • 介紹一個常見的假設工具:偽隨機生成器/pseudorandom generator/PRG,
    • 如何基于困難問題來構造密碼方案
    • 以及基于PRG(困難問題)構造密碼方案的實例。

PRG

  • 原因:生成真隨機比特是難的且慢的
  • 過程:“短的、均勻的”字符串(seed) 生成 “長的,看起來均勻的”字符串
  • 定義原因:需要進行統計測試確定PRG的合理性,但多少次測試足以保證呢?(不知道多少次,所以需要嚴格定義

定義
lll是一個多項式,GGG是一個確定性多項式算法,對于輸入s∈{0,1}ns\in \{0,1\}^ns{0,1}nG(s)G(s)G(s)輸出長度為l(n)l(n)l(n)的字符串。如果GGG滿足以下兩個性質,則稱為PRG。

  • 拓展性l(n)>n,?nl(n)>n,\forall nl(n)>n,?n(如果l(n)≤nl(n)\le nl(n)n,則沒有用PRG的意義,直接用真隨機就可以滿足,lll被稱為GGG的擴張因子)
  • 偽隨機性:對于任意PPT敵手DDD,都有可忽略函數neglneglnegl滿足∣Pr[D(G(s))=1]?Pr[D(r)=1]∣≤negl(n),r∈{0,1}l(n)|Pr[D(G(s))=1]-Pr[D(r)=1]|\le negl(n),r\in \{0,1\}^{l(n)}Pr[D(G(s))=1]?Pr[D(r)=1]negl(n),r{0,1}l(n)均勻隨機。

暴力破解可以區分偽隨機和真隨機,但這并不影響偽隨機的合理性。不過這告訴我們seed需要足夠長,不會被遍歷,通常選|seed|=安全參數

歸約證明

歸約思想:如果存在PPT敵手A\mathcal{A}A以不可忽略的概率?\epsilon?攻破密碼方案,則構造PPT敵手A′\mathcal{A}'A調用A\mathcal{A}A,可以解決困難問題;因為假設問題是困難的,所以推出矛盾。

歸約過程

  • 找到PPT敵手A\mathcal{A}A,嘗試攻破密碼方案Π\PiΠ,成功概率為?(n)\epsilon(n)?(n)
  • 構造PPT敵手A′\mathcal{A}'A,嘗試解決困難問題X,調用A\mathcal{A}A作為子線程。如果A\mathcal{A}A攻破密碼方案Π\PiΠ,則A′\mathcal{A}'A1/p(n)1/p(n)1/p(n)概率解決困難問題實例x。
  • A′\mathcal{A}'A?(n)/p(n)\epsilon(n)/p(n)?(n)/p(n)概率解決困難問題X
  • 如果?\epsilon?不可忽略,則?(n)/p(n)\epsilon(n)/p(n)?(n)/p(n)不可忽略;這與X是困難問題不符,矛盾推出A\mathcal{A}A攻破密碼方案Π\PiΠ的概率?\epsilon?一定是可忽略的,則密碼方案Π\PiΠ一定是計算安全的。

基于PRG構造計算安全(唯密文攻擊)的密碼方案

構造密碼方案Π\PiΠ

GGG是一個擴張因子為lll的偽隨機生成器,是確定性算法

  • Gen:安全參數nnn,種子k∈{0,1}nk\in \{0,1\}^nk{0,1}n作為密鑰
  • Enc:基于密鑰k∈{0,1}nk\in \{0,1\}^nk{0,1}n和明文m∈{0,1}l(n)m\in \{0,1\}^{l(n)}m{0,1}l(n),輸出密文c:=G(k)⊕mc:=G(k)\oplus mc:=G(k)m
  • Dec:基于密鑰k∈{0,1}nk\in \{0,1\}^nk{0,1}n和密文c∈{0,1}l(n)c\in \{0,1\}^{l(n)}c{0,1}l(n),輸出明文m:=G(k)⊕cm:=G(k)\oplus cm:=G(k)c

基于PRG,證明密碼方案Π\PiΠ的計算安全

  • 要證:對于任意PPT敵手A\mathcal{A}A,存在一個可忽略函數neglneglnegl使得Pr[PrivKA,Πeav(n)=1]≤12+negl(n)Pr[PrivK_{\mathcal{A},\Pi}^{eav}(n)=1]\le \frac{1}{2}+negl(n)Pr[PrivKA,Πeav?(n)=1]21?+negl(n)
  • 思路:通過調用A\mathcal{A}A作為子程序,構造PPT敵手DDD,用DDD去區分偽隨機GGG和真隨機;如果A\mathcal{A}A能以不可忽略概率攻破方案Π\PiΠ,則DDD能區分偽隨機和真隨機,這與偽隨機的定義不符,矛盾。

構造DDD,有一個輸入w∈{0,1}l(n)w\in \{0,1\}^{l(n)}w{0,1}l(n)

  • DDD調用A(1n)\mathcal{A}(1^n)A(1n),獲得明文m0,m1∈{0,1}l(n)m_0,m_1\in \{0,1\}^{l(n)}m0?,m1?{0,1}l(n)
  • 加密者任選一個b∈{0,1}b\in \{0,1\}b{0,1},輸出密文c:=w⊕mbc:=w\oplus m_bc:=wmb?DDD
  • DDD將密文ccc傳給A\mathcal{A}A,得到b′b'b。如果b′=bb'=bb=b,則輸出1,否則輸出0。

密碼方案Π ̄\overline{\Pi}Π是標準的一次一密加密方案/one-time pad,Pr[PrivKA,Π ̄eav]=12Pr[PrivK_{\mathcal{A},\overline{\Pi}}^{eav}]=\frac{1}{2}Pr[PrivKA,Πeav?]=21?

  • 如果w∈{0,1}l(n)w\in \{0,1\}^{l(n)}w{0,1}l(n)是真隨機的,則Prw←{0,1}l(n)[D(w)=1]=Pr[PrivKA,Π ̄eav]=12Pr_{w\leftarrow \{0,1\}^{l(n)}}[D(w)=1]=Pr[PrivK_{\mathcal{A},\overline{\Pi}}^{eav}]=\frac{1}{2}Prw{0,1}l(n)?[D(w)=1]=Pr[PrivKA,Πeav?]=21?
  • 如果www是通過隨機種子k∈{0,1}l(n)k\in \{0,1\}^{l(n)}k{0,1}l(n)和PRG GGG生成的w:=G(k)w:=G(k)w:=G(k),則Prw←{0,1}l(n)[D(G(k))=1]=Pr[PrivKA,Πeav]Pr_{w\leftarrow \{0,1\}^{l(n)}}[D(G(k))=1]=Pr[PrivK_{\mathcal{A},\Pi}^{eav}]Prw{0,1}l(n)?[D(G(k))=1]=Pr[PrivKA,Πeav?]

PRG定義推出密碼方案計算安全

  • PRG定義:Prw←{0,1}l(n)[D(w)=1]?Prw←{0,1}l(n)[D(G(k))=1]≤negl(n)Pr_{w\leftarrow \{0,1\}^{l(n)}}[D(w)=1]-Pr_{w\leftarrow \{0,1\}^{l(n)}}[D(G(k))=1]\le negl(n)Prw{0,1}l(n)?[D(w)=1]?Prw{0,1}l(n)?[D(G(k))=1]negl(n)
  • ∣12?Pr[PrivKA,Πeav]∣≤negl(n)|\frac{1}{2}-Pr[PrivK_{\mathcal{A},\Pi}^{eav}]|\le negl(n)21??Pr[PrivKA,Πeav?]negl(n)

則我們有Pr[PrivKA,Πeav]≤12+negl(n)Pr[PrivK_{\mathcal{A},\Pi}^{eav}]\le \frac{1}{2}+negl(n)Pr[PrivKA,Πeav?]21?+negl(n)

總結

以上是生活随笔為你收集整理的现代密码学3.3--伪随机生成器/PRG的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。