中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

web網(wǎng)站開發(fā)里怎么切換界面域名seo站長工具

web網(wǎng)站開發(fā)里怎么切換界面,域名seo站長工具,wordpress二次元?jiǎng)勇?網(wǎng)站SEO做點(diǎn)提升流量象客【現(xiàn)代密碼學(xué)】筆記9-10.3-- 公鑰(非對稱加密)、混合加密理論《introduction to modern cryphtography》 寫在最前面8.1 公鑰加密理論隨機(jī)預(yù)言機(jī)模型(Random Oracle Model,ROM) 寫在最前面 主要在 哈工大密碼學(xué)課程 張…

【現(xiàn)代密碼學(xué)】筆記9-10.3-- 公鑰(非對稱加密)、混合加密理論《introduction to modern cryphtography》

  • 寫在最前面
  • 8.1 公鑰加密理論
    • 隨機(jī)預(yù)言機(jī)模型(Random Oracle Model,ROM)

寫在最前面

主要在 哈工大密碼學(xué)課程 張宇老師課件 的基礎(chǔ)上學(xué)習(xí)記錄筆記。

內(nèi)容補(bǔ)充:駱婷老師的PPT
《introduction to modern cryphtography》–Jonathan Katz, Yehuda Lindell(現(xiàn)代密碼學(xué)——原理與協(xié)議)中相關(guān)章節(jié)
密碼學(xué)復(fù)習(xí)筆記 這個(gè)博主好有意思

初步筆記,如有錯(cuò)誤請指正

快速補(bǔ)充一些密碼相關(guān)的背景知識(shí)


請?zhí)砑訄D片描述

8.1 公鑰加密理論

  1. 本節(jié)學(xué)習(xí)用于保護(hù)信息的完整性和真實(shí)性的消息認(rèn)證碼(MAC)和抗碰撞的哈希函數(shù)(CRHF)。

  2. 目錄:公鑰加密的定義和安全,陷門排列,選擇密文攻擊安全,在隨機(jī)預(yù)言機(jī)模型中從陷門排列到公鑰加密。

  3. 私鑰密碼學(xué)局限性

    • 密鑰分發(fā)需要通信各方在物理上會(huì)面;
    • U U U個(gè)用戶的密鑰的數(shù)量 Θ ( U 2 ) \Theta(U^2) Θ(U2)
    • 開放系統(tǒng)的安全通信:基于私鑰密碼學(xué)的解決方案無法充分處理開放系統(tǒng)中的安全通信問題,在開放系統(tǒng)中通信各方不能物理上會(huì)面,或只能暫時(shí)交互;
    • 注:私鑰密碼學(xué)中的一個(gè)核心問題就是密鑰分發(fā)與管理問題。
  4. Needham-Schroeder 協(xié)議

    • Needham–Schroeder Symmetric Key Protocol:在開放網(wǎng)絡(luò)中雙方通過一個(gè)可信的第三方建立一個(gè)會(huì)話密鑰(session key);
    • 密鑰分發(fā)中心(Key Distribution Center,KDC)作為可信的第三方(Trusted Third Party,TTP),與通信雙方Alice和Bob在事前分別建立了對稱密鑰;
    • KDC根據(jù)Alice的請求,生成一個(gè)新的 k k k 會(huì)話密鑰(session key),分別用與Alice和Bob分別共享的密鑰來加密并發(fā)送給Alice; E B o b ( k ) E_{Bob}(k) EBob?(k) 作為一個(gè)來訪問Bob所需的憑證(ticket);
    • 用于MIT’s Kerberos 協(xié)議 (in Windows);
    • 優(yōu)點(diǎn):每一方只需要存儲(chǔ)一個(gè)密鑰;不需要更新通信雙方密鑰(因?yàn)椴捎眯碌臅?huì)話密鑰);
    • 弱點(diǎn):單點(diǎn)失效,一旦KDC被破壞,則整個(gè)系統(tǒng)都不安全。
  5. Merkle難題(無需可信第三方的密鑰交換)

    • Alice準(zhǔn)備 2 32 2^{32} 232 個(gè)難題 P u z z l e i \mathsf{Puzzle}_i Puzzlei?,并且發(fā)送給Bob;難題如下:

      P u z z l e i ← E n c ( 0 96 ∥ p i ) ( “Puzzle?#” x i ∥ k i ) , \mathsf{Puzzle}_i \gets \mathsf{Enc}_{(0^{96}\|p_i)}(\text{``Puzzle \#''} x_i \| k_i), Puzzlei?Enc(096pi?)?(“Puzzle?#”xi?ki?),,其中 E n c \mathsf{Enc} Enc 是 128位加密, p i ← { 0 , 1 } 32 p_i \gets \{0,1\}^{32} pi?{0,1}32 并且 x i , k i ← { 0 , 1 } 128 x_i,k_i \gets \{0,1\}^{128} xi?,ki?{0,1}128。

      注:每個(gè)難題中明文包括一個(gè)隨機(jī)數(shù)和一個(gè)密鑰,用一個(gè)密鑰加密;

    • Bob隨機(jī)選擇一個(gè)難題 P u z z l e j \mathsf{Puzzle}_j Puzzlej?,并且在 2 32 2^{32} 232 時(shí)間內(nèi)猜測 p j p_j pj? ,獲得 x j , k j x_j,k_j xj?,kj? 并將 x j x_j xj? 發(fā)送給 Alice。

    • Alice 按照 x j x_j xj?查詢謎題,并且使用 k j k_j kj? 作為密鑰。

    • 敵手需要 2 32 + 32 2^{32+32} 232+32 時(shí)間,是誠實(shí)方所需時(shí)間復(fù)雜性的二次方。

    • 在誠實(shí)方和敵手之間存在更好的差距嗎?如果將加密方法看作是一個(gè)黑盒預(yù)言機(jī),那么二次差距是最好的。

    • Merkle難題的缺點(diǎn)是謎題數(shù)量太大,獲得密鑰的代價(jià)太大;

    • 注:Merkle當(dāng)時(shí)是UC的一名本科生,這是他的一門課程設(shè)計(jì)申請。

  6. 公鑰革命

    • 在1976年,Whitfield Diffie 和 Martin Hellman 發(fā)表了 “New Directions in Cryptography” (密碼學(xué)的新方向)。在這篇論文中,提出公鑰加密方案、陷門(Trap door)和數(shù)字簽名等概念。論文原文鏈接
    • 非對稱(Asymmetric)或公鑰(public-key)加密方案:
      • 公鑰(Public key)作為加密密鑰;(注:接收方產(chǎn)生,發(fā)送方持有)
      • 私鑰(Private key)作為解密密鑰; (注:接收方產(chǎn)生,接收方持有)
    • 公鑰原語(Public-key primitives):
      • 公鑰加密(Public-key encryption)
      • 數(shù)字簽名(Digital signatures) (不可抵賴性,non-repudiation)
      • 交互式密鑰交換(Interactive key exchange)
    • 優(yōu)點(diǎn):
      • 在公開信道上密鑰分發(fā)
      • 減少保存大量密鑰的需求
      • 使得在開放系統(tǒng)的安全成為可能
    • 缺點(diǎn):慢兩到三個(gè)數(shù)量級,針對公鑰分發(fā)的主動(dòng)攻擊
      • 注:如何保證Alice得到的公鑰真的是Bob的公鑰?
  7. 公鑰加密定義

    • 密鑰生成(Key-generation)算法: ( p k , s k ) ← G e n (pk,sk) \gets \mathsf{Gen} (pk,sk)Gen, 密鑰長度 ≥ n \ge n n
    • 明文空間: M \mathcal{M} M p k pk pk 相關(guān);(注:公鑰加密方案通常以數(shù)學(xué)難題為基礎(chǔ),明文與公鑰之間并不完全獨(dú)立)
    • 加密(Encryption)算法: c ← E n c p k ( m ) c \gets \mathsf{Enc}_{pk}(m) cEncpk?(m).
    • 解密(Decryption)算法: m : = D e c s k ( c ) m:= \mathsf{Dec}_{sk}(c) m:=Decsk?(c), 或者輸出 ⊥ \perp .
    • 需求: Pr ? [ D e c s k ( E n c p k ( m ) ) = m ] ≥ 1 ? n e g l ( n ) \Pr[\mathsf{Dec}_{sk}(\mathsf{Enc}_{pk}(m)) = m] \ge 1 - \mathsf{negl}(n) Pr[Decsk?(Encpk?(m))=m]1?negl(n). (注:公鑰加密方案通常以數(shù)學(xué)難題為基礎(chǔ),存在解密不成功的可能。)
  8. 對竊聽者的安全 = CPA

    • 由于公鑰是公開的,敵手不僅能竊聽,而且能夠加密任意明文。
    • 在敵手和挑戰(zhàn)者間竊聽不可區(qū)分實(shí)驗(yàn) P u b K A , Π e a v ( n ) \mathsf{PubK}^{\mathsf{eav}}_{\mathcal{A},\Pi}(n) PubKA,Πeav?(n):
      • 挑戰(zhàn)者生成密鑰 ( p k , s k ) ← G e n ( 1 n ) (pk,sk) \gets \mathsf{Gen}(1^n) (pk,sk)Gen(1n)。
      • 敵手 A \mathcal{A} A 被給予 p k \mathbf{pk} pk 以及 E n c p k ( ? ) \mathbf{\mathsf{Enc}_{pk}(\cdot)} Encpk?(?) 預(yù)言機(jī)的訪問,輸出相同長度的 m 0 , m 1 m_0, m_1 m0?,m1? 。
      • 挑戰(zhàn)者隨機(jī)生成 b ← { 0 , 1 } b \gets \{0,1\} b{0,1}。將挑戰(zhàn)密文 c ← E n c p k ( m b ) c \gets \mathsf{Enc}_{pk}(m_b) cEncpk?(mb?) 發(fā)送給敵手 A \mathcal{A} A。
      • A \mathcal{A} A 繼續(xù)訪問預(yù)言機(jī) E n c p k ( ? ) \mathbf{\mathsf{Enc}_{pk}(\cdot)} Encpk?(?) 并且輸出 b ′ b' b。
      • 如果 b ′ = b b' = b b=b A \mathcal{A} A 成功 P u b K A , Π e a v = 1 \mathsf{PubK}^{\mathsf{eav}}_{\mathcal{A},\Pi}=1 PubKA,Πeav?=1,否則 0。
    • 定義: Π \Pi Π 是 CPA-secure, 如果 ? \forall ? ppt A \mathcal{A} A, ? \exists ? n e g l \mathsf{negl} negl 使得 Pr ? [ P u b K A , Π c p a ( n ) = 1 ] ≤ 1 2 + n e g l ( n ) \Pr\left[\mathsf{PubK}^{\mathsf{cpa}}_{\mathcal{A},\Pi}(n)=1\right] \le \frac{1}{2} + \mathsf{negl}(n) Pr[PubKA,Πcpa?(n)=1]21?+negl(n)。
  9. 公鑰加密的安全屬性

    • 對稱加密可以加密32比特消息,產(chǎn)生32比特密文,例如,使用一次一密。在公鑰系統(tǒng)中能夠做到同樣的嗎?
    • 一個(gè)確定性的公鑰加密方案在竊聽者出現(xiàn)時(shí)是安全的?
    • 如果 Π \Pi Π 在竊聽者出現(xiàn)時(shí)是安全的,那么 Π \Pi Π 也是CPA安全的? 是否是多重加密安全的?
    • 完美保密的公鑰加密是可能的嗎?(注:不可能)
  10. 密鑰長度比較

    NIST(美國國家標(biāo)準(zhǔn)技術(shù)研究所)推薦可比較的密鑰長度 (按比特) 。NIST 認(rèn)為一個(gè)112比特的有效密鑰長度直到2030年是可接受的,但是推薦 128 比特或更長的密鑰。

    對稱密鑰(AES)RSA/DHECC
    56512112
    801024160
    1122048224
    1283072256
    1927680384
    25615360512
  11. 混合加密(Hybrid Encryption)構(gòu)造

    • 為了加速加密,采用私鑰加密方案 Π ′ \Pi' Π (數(shù)據(jù)封裝機(jī)制,data-encapsulation mechanism, DEM) 與公鑰加密方案 Π \Pi Π (密鑰封裝機(jī)制, key-encapsulation mechanism, KEM) 一起。
    • Π h y = ( G e n h y , E n c h y , D e c h y ) \Pi^{\mathsf{hy}} = (\mathsf{Gen}^{\mathsf{hy}}, \mathsf{Enc}^{\mathsf{hy}}, \mathsf{Dec}^{\mathsf{hy}}) Πhy=(Genhy,Enchy,Dechy):
    • G e n h y \mathsf{Gen}^{\mathsf{hy}} Genhy: ( p k , s k ) ← G e n ( 1 n ) (pk,sk) \gets \mathsf{Gen}(1^n) (pk,sk)Gen(1n). 注:只需提前生成公鑰加密方案所需密鑰
    • E n c h y \mathsf{Enc}^{\mathsf{hy}} Enchy: p k pk pk and m m m.
      • k ← { 0 , 1 } n k \gets \{0,1\}^n k{0,1}n. 注:生成私鑰加密密鑰
      • c 1 ← E n c p k ( k ) c_1 \gets \mathsf{Enc}_{pk}(k) c1?Encpk?(k), c 2 ← E n c k ′ ( m ) c_2 \gets \mathsf{Enc}'_{k}(m) c2?Enck?(m). 注:用公鑰加密的公鑰加密私鑰加密密鑰,用私鑰加密密鑰加密消息。
    • D e c h y \mathsf{Dec}^{\mathsf{hy}} Dechy: s k sk sk and ? c 1 , c 2 ? \langle c_1,c_2\rangle ?c1?,c2??.
      • k : = D e c s k ( c 1 ) k := \mathsf{Dec}_{sk}(c_1) k:=Decsk?(c1?). 注:用公鑰加密中私鑰解密獲得私鑰加密密鑰
      • m : = D e c k ′ ( c 2 ) m := \mathsf{Dec}'_k(c_2) m:=Deck?(c2?). 注:用私鑰加密密鑰獲得明文
    • 問題:混合加密方案是公鑰加密還是私鑰加密?
  12. 混合加密安全

    • 定理:如果 Π \Pi Π 是一個(gè)CPA安全的公鑰加密方案,并且 Π ′ \Pi' Π 是竊聽者不可區(qū)分的私鑰加密方案,那么 Π h y \Pi^{\mathsf{hy}} Πhy 是CPA安全的公鑰加密方案。
    • 這里對于私鑰加密方案的安全性要求只是竊聽者不可區(qū)分的,不要求是CPA安全的,因?yàn)?strong>私鑰加密密鑰是每次加密時(shí)隨機(jī)產(chǎn)生的新密鑰,私鑰加密的加密預(yù)言機(jī)提供的結(jié)果無法被利用。
    • 整個(gè)方案安全證明的思路是利用各方案之間不可區(qū)分性,以及不可區(qū)分性所具有的傳遞性(transitiviy)。
    • 目標(biāo)是證明 (1) ? p k , E n c p k ( k ) , E n c k ′ ( m 0 ) ? \langle pk,\mathsf{Enc}_{pk}(k),\mathsf{Enc}_{k}'(m_0)\rangle ?pk,Encpk?(k),Enck?(m0?)? 與(2) ? p k , E n c p k ( k ) , E n c k ′ ( m 1 ) ? \langle pk,\mathsf{Enc}_{pk}(k),\mathsf{Enc}_{k}'(m_1)\rangle ?pk,Encpk?(k),Enck?(m1?)? 之間對于不同明文的不可區(qū)分性。為此,先觀察(1) ? p k , E n c p k ( k ) , E n c k ′ ( m 0 ) ? \langle pk,\mathsf{Enc}_{pk}(k),\mathsf{Enc}_{k}'(m_0)\rangle ?pk,Encpk?(k),Enck?(m0?)? 與(3) ? p k , E n c p k ( 0 n ) , E n c k ′ ( m 0 ) ? \langle pk,\mathsf{Enc}_{pk}(0^n),\mathsf{Enc}_{k}'(m_0)\rangle ?pk,Encpk?(0n),Enck?(m0?)? 之間對于不同公鑰加密明文(私鑰加密密鑰)之間由于公鑰加密方案不可區(qū)分性也是不可區(qū)分的;同理,(2) ? p k , E n c p k ( k ) , E n c k ′ ( m 1 ) ? \langle pk,\mathsf{Enc}_{pk}(k),\mathsf{Enc}_{k}'(m_1)\rangle ?pk,Encpk?(k),Enck?(m1?)? 與(4) ? p k , E n c p k ( 0 n ) , E n c k ′ ( m 1 ) ? \langle pk,\mathsf{Enc}_{pk}(0^n),\mathsf{Enc}_{k}'(m_1)\rangle ?pk,Encpk?(0n),Enck?(m1?)? 之間也是不可區(qū)分的。(3) ? p k , E n c p k ( 0 n ) , E n c k ′ ( m 0 ) ? \langle pk,\mathsf{Enc}_{pk}(0^n),\mathsf{Enc}_{k}'(m_0)\rangle ?pk,Encpk?(0n),Enck?(m0?)? 與(4) ? p k , E n c p k ( 0 n ) , E n c k ′ ( m 1 ) ? \langle pk,\mathsf{Enc}_{pk}(0^n),\mathsf{Enc}_{k}'(m_1)\rangle ?pk,Encpk?(0n),Enck?(m1?)? 之間由于私鑰加密方案不可區(qū)分性也是不可區(qū)分的。最后,根據(jù)不可區(qū)分性所具有的傳遞性,證明混合加密方案的不可區(qū)分性。
  13. 混合加密范式應(yīng)用

    • 共享文件訪問,Alice用自己的對稱密鑰加密文件,Bob的公鑰加密對稱密鑰
    • 密鑰托管,Alice用托管服務(wù)器的公鑰加密對稱密鑰,領(lǐng)導(dǎo)從托管服務(wù)器獲得私鑰來解鎖
  14. 陷門函數(shù)(Trapdoor Function

    • 陷門函數(shù)(Trapdoor function): 易于計(jì)算,在缺乏特定信息(陷門)時(shí)難以求逆,即帶有陷門的單向函數(shù)。
    • 1982年,姚期智在論文《Theory and Applications of Trapdoor Functions》中提出,從任意陷門函數(shù)中可構(gòu)造一個(gè)公鑰加密方案。
  15. 函數(shù)族(Families of Functions

    • Π = ( G e n , S a m p , f ) \Pi = (\mathsf{Gen}, \mathsf{Samp}, f) Π=(Gen,Samp,f) 是一個(gè)函數(shù)組,如果:
      • 參數(shù)生成(Parameter-generation)算法: I ← G e n ( 1 n ) I \gets \mathsf{Gen}(1^n) IGen(1n)。參數(shù) I I I定義了定義域(domain) D I \mathcal{D}_I DI?和值域(range) D R \mathcal{D}_R DR?。注:這里產(chǎn)生了一個(gè)具體的函數(shù)參數(shù)。
      • 采樣(sampling)算法: x ← S a m p ( I ) x \gets \mathsf{Samp}(I) xSamp(I),均勻隨機(jī)地產(chǎn)生一個(gè) x x x。
      • 確定性賦值(evaluation)算法: y : = f I ( x ) y := f_I(x) y:=fI?(x)。
    • 這里強(qiáng)調(diào)采樣算法是因?yàn)楹竺嬉獙W(xué)習(xí)的數(shù)論難題的輸入是要滿足某些條件的。
  16. 陷門排列族

    • 一組多項(xiàng)式時(shí)間算法 Π = ( G e n , S a m p , f , I n v ) \Pi = (\mathsf{Gen}, \mathsf{Samp}, f, \mathsf{Inv}) Π=(Gen,Samp,f,Inv) 是一個(gè)陷門排列族(family of trapdoor permutations,TDP),如果:
      • 參數(shù)生成(parameter generation)算法 G e n \mathsf{Gen} Gen, 輸入 1 n 1^n 1n,輸出 ( I , t d ) (I,\mathsf{td}) (I,td) ∣ I ∣ ≥ n |I| \ge n In。其中, ( I , t d ) (I, \mathsf{td}) (I,td) 定義了集合 D I = D t d \mathcal{D}_I = \mathcal{D}_{\mathsf{td}} DI?=Dtd?。注:陷門排列族是一個(gè)函數(shù)集合,參數(shù)生成算法產(chǎn)生一個(gè)具體陷門排列所需的參數(shù)。
      • G e n I \mathsf{Gen}_I GenI? 只輸出 I I I。 ( G e n I , S a m p , f ) (\mathsf{Gen}_I, \mathsf{Samp}, f) (GenI?,Samp,f) 是 OWP。其中的 S a m p \mathsf{Samp} Samp是采樣函數(shù),用于獲得函數(shù)的輸入 x ← D I x \gets \mathcal{D}_I xDI?。
      • 一個(gè)確定性求逆算法 I n v \mathsf{Inv} Inv,對于 ? ( I , t d ) \forall (I,\mathsf{td}) ?(I,td) 并且 ? x ∈ D I \forall x \in \mathcal{D}_{I} ?xDI?, $ \mathsf{Inv}_{\mathsf{td}}(f_I(x))=x$。注:可求逆
    • 核心斷言:確定性多項(xiàng)式時(shí)間算法 h c \mathsf{hc} hc Π \Pi Π 的一個(gè)核心斷言(hard-core predicate),如果 ? \forall ? ppt A \mathcal{A} A ? \exists ? n e g l \mathsf{negl} negl 使得 $ \Pr[\mathcal{A}(I,f_I(x)) = \mathsf{hc}_I(x)] \le \frac{1}{2} +\mathsf{negl}(n)$。
    • 定理:給定一個(gè)陷門排列族 Π = ( G e n , S a m p , f , I n v ) \Pi = (\mathsf{Gen}, \mathsf{Samp}, f, \mathsf{Inv}) Π=(Gen,Samp,f,Inv),則存在一個(gè)帶有核心斷言的陷門排列族 Π ^ = ( G e n ^ , S a m p , f , I n v ) \widehat{\Pi} = (\widehat{\mathsf{Gen}}, \mathsf{Samp}, f, \mathsf{Inv}) Π =(Gen ,Samp,f,Inv)。注:證明與單向函數(shù)部分關(guān)于核心斷言的定理類似。
  17. TDP例題

    • 如果答案是肯定的,則需要反證法證明, f ′ f' f若不是TDP,那么 f f f也不是;
    • 如果答案是否定的,則需要給出一個(gè)有效的求逆方法。
  18. 從TDP到公鑰加密方案

    • 從一個(gè)帶有核心斷言 h c \mathsf{hc} hc的陷門排列族 Π ^ = ( G e n ^ , S a m p , f , I n v ) \widehat{\Pi} = (\widehat{\mathsf{Gen}}, \mathsf{Samp}, f, \mathsf{Inv}) Π =(Gen ,Samp,f,Inv)來構(gòu)造一個(gè)公鑰加密方案:
      • G e n \mathsf{Gen} Gen: ( I , t d ) ← G e n ^ (I, \mathsf{td}) \gets \widehat{Gen} (I,td)Gen 輸出公鑰 I I I 和私鑰 t d \mathsf{td} td。
      • E n c \mathsf{Enc} Enc: 輸入 I I I m ∈ { 0 , 1 } m \in \{0,1\} m{0,1},選擇一個(gè) x ← D I x\gets \mathcal{D}_I xDI? 并且輸出 ? f I ( x ) , h c I ( x ) ⊕ m ? \langle f_I(x), \mathsf{hc}_I(x)\oplus m \rangle ?fI?(x),hcI?(x)m?
      • D e c \mathsf{Dec} Dec: 輸入 t d \mathsf{td} td ? y , m ′ ? \langle y, m'\rangle ?y,m?,計(jì)算 x : = f I ? 1 ( y ) x:= f^{-1}_I(y) x:=fI?1?(y) 并且輸出 h c I ( x ) ⊕ m ′ \mathsf{hc}_I(x)\oplus m' hcI?(x)m。
    • 定理:如果 Π ^ = ( G e n ^ , f ) \widehat{\Pi}=(\widehat{Gen},f) Π =(Gen ,f) 是 TDP,并且 h c \mathsf{hc} hc Π ^ \widehat{\Pi} Π 的 HCP ,那么構(gòu)造 Π \Pi Π 是 CPA安全的。
    • 問題:這個(gè)方案是安全的嗎? E n c I ( m ) = f I ( m ) \mathsf{Enc}_{I}(m) = f_I(m) EncI?(m)=fI?(m) D e c t d ( c ) = f I ? 1 ( c ) \mathsf{Dec}_{\mathsf{td}}(c) = f^{-1}_I(c) Dectd?(c)=fI?1?(c)。
  19. 證明

    • h c I ( x ) \mathsf{hc}_I(x) hcI?(x) 是偽隨機(jī)的。將 A h c \mathcal{A}_{\mathsf{hc}} Ahc? for h c \mathsf{hc} hc 規(guī)約到 A \mathcal{A} A for Π \Pi Π。
    • Pr ? [ A h c ( I , f I ( x ) ) = h c I ( x ) ] = \Pr[\mathcal{A}_{\mathsf{hc}}(I,f_I(x))=\mathsf{hc}_I(x)] = Pr[Ahc?(I,fI?(x))=hcI?(x)]= 1 2 ? ( Pr ? [ b ′ = b ∣ z = h c I ( x ) ] + Pr ? [ b ′ ≠ b ∣ z ≠ h c I ( x ) ] ) . \frac{1}{2}\cdot (\Pr[b'=b|z=\mathsf{hc}_I(x)]+\Pr[b'\neq b|z\neq \mathsf{hc}_I(x)]). 21??(Pr[b=bz=hcI?(x)]+Pr[b?=bz?=hcI?(x)]).
    • 上面的公式的含義是 A h c \mathcal{A}_{\mathsf{hc}} Ahc?成功得到核心斷言包含兩種情況:
      • 當(dāng) z z z是核心斷言,則 A \mathcal{A} A面對的是方案 Π \Pi Π A \mathcal{A} A成功( b ′ = b b'=b b=b),輸出的 z z z就是核心斷言;
      • 當(dāng) z z z不是核心斷言,則 A \mathcal{A} A面對的挑戰(zhàn)密文與 Π \Pi Π中是相反的, A \mathcal{A} A失敗( b ′ ≠ b b'\neq b b?=b),輸出的 z  ̄ \overline{z} z就是核心斷言;
  20. 證明(續(xù))

    • Pr ? [ b ′ = b ∣ z = h c I ( x ) ] = Pr ? [ P u b K A , Π e a v ( n ) = 1 ] = ε ( n ) \Pr[b'=b|z=\mathsf{hc}_I(x)] = \Pr[\mathsf{PubK}^{\mathsf{eav}}_{\mathcal{A},\Pi}(n)=1]=\varepsilon(n) Pr[b=bz=hcI?(x)]=Pr[PubKA,Πeav?(n)=1]=ε(n)注: A \mathcal{A} A實(shí)驗(yàn)成功。
    • 如果 z ≠ h c I ( x ) z \neq \mathsf{hc}_I(x) z?=hcI?(x), m ′ = m b ⊕ h c  ̄ I ( x ) = m b  ̄ ⊕ h c I ( x ) m' = m_b\oplus \overline{\mathsf{hc}}_I(x) = m_{\overline}\oplus \mathsf{hc}_I(x) m=mb?hcI?(x)=mb?hcI?(x),這意味著 m b  ̄ m_{\overline} mb? 被加密了。
    • Pr ? [ b ′ = b ∣ z ≠ h c I ( x ) ] = Pr ? [ P u b K A , Π e a v ( n ) = 0 ] = 1 ? ε ( n ) \Pr[b'=b|z\neq \mathsf{hc}_I(x)] = \Pr[\mathsf{PubK}^{\mathsf{eav}}_{\mathcal{A},\Pi}(n)=0]=1-\varepsilon(n) Pr[b=bz?=hcI?(x)]=Pr[PubKA,Πeav?(n)=0]=1?ε(n)。 注: A \mathcal{A} A實(shí)驗(yàn)失敗了。
    • Pr ? [ b ′ ≠ b ∣ z ≠ h c I ( x ) ] = ε ( n ) \Pr[b'\neq b|z\neq \mathsf{hc}_I(x)] =\varepsilon(n) Pr[b?=bz?=hcI?(x)]=ε(n)。
    • Pr ? [ A h c ( I , f I ( x ) ) = h c I ( x ) ] = 1 2 ? ( ε ( n ) + ε ( n ) ) = ε ( n ) \Pr[\mathcal{A}_{\mathsf{hc}}(I,f_I(x))=\mathsf{hc}_I(x)] = \frac{1}{2}\cdot (\varepsilon(n)+\varepsilon(n)) = \varepsilon(n) Pr[Ahc?(I,fI?(x))=hcI?(x)]=21??(ε(n)+ε(n))=ε(n)。 注:根據(jù)上一頁的公式。
    • 至此,我們學(xué)習(xí)了基于陷門排列的公鑰加密方案,但只能加密一個(gè)比特,如何加密一個(gè)更長的明文?后面學(xué)習(xí)隨機(jī)預(yù)言機(jī)模型設(shè)定下的公鑰加密方案。
  21. 在公鑰設(shè)定中CCA情景

    • CCA
      • 敵手 A \mathcal{A} A 觀察由 S \mathcal{S} S 發(fā)送給 R \mathcal{R} R 的密文 c c c 。
      • A \mathcal{A} A S \mathcal{S} S 或自己的名義發(fā)送 c ′ c' c R \mathcal{R} R
      • A \mathcal{A} A 根據(jù)從 c ′ c' c 中解密出的 m ′ m' m 來推斷 m m m。
    • 情景
      • 用口令來登陸在線銀行:試錯(cuò),從銀行反饋中獲得信息。
      • 郵件回復(fù)中包含解密出的文本的引用。
      • 密文的可鍛造性,例如,在拍賣中將其他人的出價(jià)翻倍。
  22. 對CCA/CCA2的安全定義

    • CCA/CCA2 不可區(qū)分實(shí)驗(yàn) P u b K A , Π c c a ( n ) \mathsf{PubK}^{\mathsf{cca}}_{\mathcal{A},\Pi}(n) PubKA,Πcca?(n)
      • ( p k , s k ) ← G e n ( 1 n ) (pk,sk) \gets \mathsf{Gen}(1^n) (pk,sk)Gen(1n).
      • A \mathcal{A} A 給定輸入 p k pk pk 和預(yù)言機(jī)訪問 D e c s k ( ? ) \mathsf{Dec}_{sk}(\cdot) Decsk?(?),輸出相同長度的 m 0 , m 1 m_0, m_1 m0?,m1?
      • b ← { 0 , 1 } b \gets \{0,1\} b{0,1}。挑戰(zhàn)密文 c ← E n c p k ( m b ) c \gets \mathsf{Enc}_{pk}(m_b) cEncpk?(mb?) A \mathcal{A} A
      • 在CCA2中, A \mathcal{A} A 除了 c c c 之外還可以訪問 D e c s k ( ? ) \mathsf{Dec}_{sk}(\cdot) Decsk?(?),并輸出 b ′ b' b 。注:CCA 也被稱作午餐攻擊。CCA2 也被稱為適應(yīng)性的 CCA。
      • 如果 b ′ = b b' = b b=b,那么 A \mathcal{A} A 成功, P r i v K A , Π c c a = 1 \mathsf{PrivK}^{\mathsf{cca}}_{\mathcal{A},\Pi}=1 PrivKA,Πcca?=1,否則 0。
    • Π \Pi Π 是 CCA/CCA2安全的,如果 ? \forall ? ppt A \mathcal{A} A, ? \exists ? n e g l \mathsf{negl} negl 使得 Pr ? [ P u b K A , Π c c a ( n ) = 1 ] ≤ 1 2 + n e g l ( n ) \Pr\left[\mathsf{PubK}^{\mathsf{cca}}_{\mathcal{A},\Pi}(n)=1\right] \le \frac{1}{2} + \mathsf{negl}(n) Pr[PubKA,Πcca?(n)=1]21?+negl(n).
  23. 例題

  24. CCA2安全加密技術(shù)進(jìn)展

    • 零知識(shí)證明(Zero-Knowledge Proof):復(fù)雜并不可實(shí)踐。(例如,Dolev-Dwork-Naor)
    • 隨機(jī)預(yù)言機(jī)模型(Random Oracle model):有效,但并不踏實(shí) (將 CRHF 當(dāng)作 RO)。 (例如,RSA-OAEP 和 Fujisaki-Okamoto)
    • DDH(決策性Diffie-Hellman)假設(shè)和UOWHF(全域單向哈希函數(shù)):大小擴(kuò)展2倍,但可以在沒有RO和ZKP場景下證明安全 (例如,Cramer-Shoup system)。
    • CCA2安全意味著明文感知(Plaintext-aware):敵手在不知道明文的情況下,不能產(chǎn)生有效的密文。
    • 開放問題:如何構(gòu)造一個(gè)與“書本上RSA”一樣有效的,基于RSA問題的CCA2安全的方案。

隨機(jī)預(yù)言機(jī)模型(Random Oracle Model,ROM)

  1. 隨機(jī)預(yù)言機(jī)模型(Random Oracle Model,ROM

    • 為了在實(shí)踐中實(shí)現(xiàn)CPA安全和CCA安全的公鑰加密方案,引入了一個(gè)更強(qiáng)大的隨機(jī)對象,稱為隨機(jī)預(yù)言機(jī)(Random Oracle Model)。
    • 隨機(jī)預(yù)言機(jī)(RO):一個(gè)真隨機(jī)函數(shù)( H H H)對每個(gè)可能的查詢回答一個(gè)隨機(jī)應(yīng)答。
      • 一致性:如果 H H H曾經(jīng)在運(yùn)行中為一個(gè)輸入 x x x 輸出 y y y,那么它一直對相同的輸入輸出相同的答案。
      • 無人“知道”整個(gè)函數(shù) H H H
    • 隨機(jī)預(yù)言機(jī)模型(ROM):存在一個(gè)公開的RO。與此相對的,不存在RO的情況,稱作標(biāo)準(zhǔn)模型。
    • 方法論:在ROM中構(gòu)造可證明的安全。
      1. 在ROM中,一個(gè)方案被設(shè)計(jì)并被證明是安全的。
      2. H H H 用一個(gè)哈希函數(shù) H ^ \hat{H} H^,例如 SHA256。
    • 無人嚴(yán)格地聲明隨機(jī)預(yù)言機(jī)存在。
    • 存在某些方案,在ROM中被證明是安全的,但無論如何將隨機(jī)預(yù)言機(jī)實(shí)例化都不是安全的。
    • 使用ROM,很容易實(shí)現(xiàn)可證明安全,同時(shí)通過正確的實(shí)例化來保持高效。
  2. ROM的簡單例子

    • 由于RO “強(qiáng)大的隨機(jī)性”,其可以充當(dāng)或構(gòu)造之前學(xué)習(xí)過得密碼學(xué)原語,包括為單向函數(shù)、抗碰撞哈希函數(shù)、偽隨機(jī)函數(shù)等。

    • 一個(gè) RO 將 n 1 n_1 n1? 比特輸入映射為 n 2 n_2 n2? 比特輸出。

    • RO 作為 OWF,進(jìn)行如下實(shí)驗(yàn):

      1. 選擇一個(gè)RO H H H

      2. 選擇一個(gè)隨機(jī)的 x ∈ { 0 , 1 } n 1 x \in \{0,1\}^{n_1} x{0,1}n1? ,并且賦值 y : = H ( x ) y := H(x) y:=H(x)

      3. 敵手 A \mathcal{A} A 被給予 y y y,如果輸出 x ′ x' x: H ( x ′ ) = y H(x')=y H(x)=y,則成功;

        解釋:如果敵手成功求逆,則意味著敵手“事先”詢問過RO;

    • RO 作為 CRHF,進(jìn)行如下實(shí)驗(yàn):

      1. 選擇一個(gè)RO H H H

      2. 敵手 A \mathcal{A} A 成功,如果其輸出 x , x ′ x, x' x,x 滿足 H ( x ) = H ( x ′ ) H(x)=H(x') H(x)=H(x) ,但是 x ≠ x ′ x\neq x' x?=x

        解釋:如果敵手找到碰撞,則意味著 H H H不是隨機(jī)的,因?yàn)閮蓚€(gè)隨機(jī)輸出不可能相同。

    • 從一個(gè)RO構(gòu)造PRF : n 1 = 2 n n_1=2n n1?=2n, n 2 = n n_2=n n2?=n.

      • F k ( x ) = def H ( k ∥ x ) , F_k(x) \overset{\text{def}}{=} H(k\| x), Fk?(x)=defH(kx), ∣ k ∣ = ∣ x ∣ = n . |k|=|x|=n. k=x=n.

        解釋:如果 F F F不是偽隨機(jī)的,則 H H H也可以與真隨機(jī)相區(qū)分。

  3. CPA安全

    • 思路:PubK CPA = PrivK + (Secret Key = TDP + RO)
    • 實(shí)現(xiàn)CPA安全的公鑰加密方案,可以基于一個(gè)安全的私鑰加密方案,其中私鑰加密的密鑰由RO得到,通過TDP傳遞生成密鑰所用的隨機(jī)量;
    • 構(gòu)造:
      • G e n \mathsf{Gen} Gen: p k = I pk = I pk=I, s k = t d sk = \mathsf{td} sk=td.
      • E n c \mathsf{Enc} Enc: r ← { 0 , 1 } ? r \gets \{0,1\}^* r{0,1}?, 輸出 ? c 1 = f I ( r ) , c 2 = H ( r ) ⊕ m ? \langle c_1= f_I(r), c_2 = \mathsf{H}(r)\oplus m\rangle ?c1?=fI?(r),c2?=H(r)m?.
      • D e c \mathsf{Dec} Dec: r : = f t d ? 1 ( c 1 ) r := f^{-1}_{\mathsf{td}}(c_1) r:=ftd?1?(c1?), 輸出 H ( r ) ⊕ c 2 \mathsf{H}(r)\oplus c_2 H(r)c2?.
    • 定理:如果 f f f 是 TDP, 并且 H H H 是 RO,則構(gòu)造是 CPA 安全的。
    • 解釋:私鑰加密方案只需要是竊聽下安全,因?yàn)槊看渭用芏际歉怕市缘?#xff0c;每次私鑰加密密鑰都是重新生成的。該方案不是CCA安全的,因?yàn)榇鄹拿芪目梢灾苯佑绊懨魑摹?/li>
    • 用RO的必要性:由于 r r r的部分信息可能通過TPD泄漏,如果以一個(gè)PRG來替換掉RO,則由于種子的部分信息已知,PRG的輸出也不在是偽隨機(jī)的,加密方案也不再安全。
  4. 基于私鑰加密的CCA安全

    • 思路:PubK CCA = PrivK CCA + (Secret Key = TPD + RO)
    • 實(shí)現(xiàn)CCA安全的公鑰加密方案,可以基于一個(gè)CCA安全的私鑰加密方案,其中私鑰加密密鑰由RO得到,通過TDP傳遞生成密鑰所用的隨機(jī)量;
    • 構(gòu)造:
      • Π ′ \Pi' Π 是一個(gè)安全私鑰加密方案。
      • G e n \mathsf{Gen} Gen: p k = I pk = I pk=I, s k = t d sk = \mathsf{td} sk=td.
      • E n c \mathsf{Enc} Enc: k : = H ( r ) , r ← D I k := H(r), r \gets D_I k:=H(r),rDI?, 輸出 ? c 1 = f I ( r ) , c 2 = E n c k ′ ( m ) ? \langle c_1= f_I(r), c_2 = \mathsf{Enc}'_k(m)\rangle ?c1?=fI?(r),c2?=Enck?(m)?.
      • D e c \mathsf{Dec} Dec: r : = f t d ? 1 ( c 1 ) r := f^{-1}_{\mathsf{td}}(c_1) r:=ftd?1?(c1?), k : = H ( r ) k:=H(r) k:=H(r), 輸出 D e c k ′ ( c 2 ) \mathsf{Dec}'_k(c_2) Deck?(c2?).
    • 定理:如果 f f f 是 TDP, Π ′ \Pi' Π 是 CCA 安全的,并且 H H H 是 RO,那么構(gòu)造是 CCA 安全的。
    • 解釋:公鑰加密方案的CCA安全性來自私鑰加密方案的CCA安全性。
  5. 在ROM中基于TPD的CCA安全

    • 思路:PubK CCA = TDP + 2 RO (一個(gè)用于加密,一個(gè)用于MAC)
    • 實(shí)現(xiàn)CCA安全的公鑰加密方案,可以通過RO來構(gòu)造一個(gè)CPA安全的公鑰加密方案,以明文和密文一起作為輸入來生成MAC標(biāo)簽。
    • 構(gòu)造:
      • G e n \mathsf{Gen} Gen: p k = I pk = I pk=I, s k = t d sk = \mathsf{td} sk=td
      • E n c \mathsf{Enc} Enc: r ← D I r \gets D_I rDI?,輸出 ? c 1 = f I ( r ) , c 2 = H ( r ) ⊕ m , c 3 = G ( c 2 ∥ m ) ? \langle c_1=f_I(r), c_2 = H(r)\oplus m, c_3=G(c_2\|m)\rangle ?c1?=fI?(r),c2?=H(r)m,c3?=G(c2?m)?
      • D e c \mathsf{Dec} Dec: r : = f t d ? 1 ( c 1 ) r := f^{-1}_{\mathsf{td}}(c_1) r:=ftd?1?(c1?), m : = H ( r ) ⊕ c 2 m := H(r)\oplus c_2 m:=H(r)c2?。如果 G ( c 2 ∥ m ) = c 3 G(c_2\|m) = c_3 G(c2?m)=c3? 輸出 m m m,否則 ⊥ \perp 。
    • 定理:如果 f f f 是 TDP, G , H G,H G,H 是 RO,那么構(gòu)造是 CCA 安全的。
    • 解釋:其CCA安全性在于對密文的任何篡改,都無法通過MAC驗(yàn)證。
  6. 私鑰加密 vs. 公鑰加密

    私鑰加密公鑰加密
    密鑰雙方接收者
    最弱攻擊竊聽者CPA
    概率性CPA/CCA一直
    對CPA的假設(shè)OWFTDP
    對CCA的假設(shè)OWFTDP+RO
    效率
http://www.risenshineclean.com/news/47958.html

相關(guān)文章:

  • 如何快速做網(wǎng)站排名網(wǎng)絡(luò)營銷優(yōu)化培訓(xùn)
  • 哪些網(wǎng)站可以做詳情頁企業(yè)關(guān)鍵詞大全
  • 印刷網(wǎng)站模板下載湛江百度seo公司
  • wordpress模板自媒體seo推廣軟件排行榜前十名
  • 網(wǎng)站認(rèn)證打的錢怎么做分錄重慶百度推廣seo
  • 合同 制作 網(wǎng)站網(wǎng)絡(luò)營銷好找工作嗎
  • 文章博客媒體網(wǎng)站模板小學(xué)生收集的新聞10條
  • wordpress 網(wǎng)站主題太原seo團(tuán)隊(duì)
  • 加盟網(wǎng)站開發(fā)費(fèi)用谷歌seo培訓(xùn)
  • 登陸國外的網(wǎng)站要這么做百度推廣投訴人工電話
  • 自助式建網(wǎng)站游戲推廣員上班靠譜嗎
  • 廣西建設(shè)職業(yè)學(xué)院官網(wǎng)網(wǎng)站網(wǎng)絡(luò)營銷策劃案怎么寫
  • 第三方微信網(wǎng)站建設(shè)全國人大常委會(huì)
  • 馬尾網(wǎng)站建設(shè)百度推廣沒有效果怎么辦
  • 無線網(wǎng)絡(luò)管理系統(tǒng)長沙seo網(wǎng)絡(luò)推廣
  • 免費(fèi)網(wǎng)站建設(shè)那個(gè)好鏈接檢測工具
  • 軟件推薦網(wǎng)站溫州seo排名公司
  • 株洲網(wǎng)站建設(shè)什么是網(wǎng)站seo
  • 高端網(wǎng)站建設(shè)注意網(wǎng)絡(luò)營銷案例ppt
  • 深圳市seo網(wǎng)站設(shè)計(jì)多少錢國外服務(wù)器免費(fèi)ip地址
  • adobe網(wǎng)站制作合肥正規(guī)的seo公司
  • 商業(yè)網(wǎng)站建設(shè)規(guī)劃書網(wǎng)絡(luò)營銷工具介紹
  • 電商網(wǎng)站用php做的嗎網(wǎng)絡(luò)營銷的表現(xiàn)形式有哪些
  • 網(wǎng)站虛擬主機(jī)購買教程seo公司網(wǎng)站推廣
  • 建設(shè)局網(wǎng)站施工合同范本上海網(wǎng)站建設(shè)哪家好
  • 企業(yè)網(wǎng)站建設(shè)開發(fā)費(fèi)用seo基礎(chǔ)知識(shí)培訓(xùn)
  • 如何設(shè)計(jì)好的網(wǎng)頁杭州網(wǎng)站seo外包
  • 做私彩網(wǎng)站需注意什么電商怎么做新手入門
  • 可以做公司網(wǎng)站廊坊快速優(yōu)化排名
  • 做的網(wǎng)站在百度搜索不到怎么樣免費(fèi)做網(wǎng)站