现代密码学4.2--消息验证码/MAC
生活随笔
收集整理的這篇文章主要介紹了
现代密码学4.2--消息验证码/MAC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
現代密碼學4.2--消息驗證碼/MAC
- 定義
- 安全性
博主正在學習INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些筆記供自己回憶,如有錯誤請指正。整理成一個系列現代密碼學,方便檢索。
- 第二章定義了完美安全及其對應的密碼方案“一次一密”,
- 第三章介紹了
- 3.1-3.3 計算安全,PRG和基于PRG構造的滿足計算安全的密碼方案;
- 3.4-3.5 CPA安全,PRF和基于PRF構造的滿足CPA安全的密碼方案
- 3.6 基于PRG和PRF構造的流密碼和分組密碼;
- 3.7 CCA安全,對非CCA安全密碼方案的攻擊
- 第四章介紹消息驗證碼/MAC
- 4.1節先介紹了什么是消息完整性
- 4.2節將介紹MAC的定義以及安全性定義
定義
- Gen:在雙方交流前,首先用生成密鑰算法Gen生成一個密鑰kkk,雙方共享
- MACk(m)_k(m)k?(m):Alice想發送一個信息mmm給Bob,需要先計算t←t\leftarrowt←MACk(m)_k(m)k?(m),將(m,t)(m,t)(m,t)一起發送給Bob。
- Vrfyk(m,t)_k(m,t)k?(m,t):
- Bob收到(m,t)(m,t)(m,t)后,驗證ttt是否等于MACk(m)_k(m)k?(m),如果等于則輸出b=1b=1b=1。
- 確定性算法,?n,?k←\forall n,\forall k\leftarrow?n,?k← Gen(1n),?m∈{0,1}?(1^n),\forall m\in \{0,1\}^*(1n),?m∈{0,1}?,都有Vrfyk(m,_k(m,k?(m,Mack(m))=1_k(m))=1k?(m))=1。
- fixed-length MAC:m∈{0,1}l(n)m\in \{0,1\}^{l(n)}m∈{0,1}l(n)
安全性
- 給敵手MAC oracle:MACk(?)_k(\cdot)k?(?)
- 對于方案的"break":敵手對于任何信息,能輸出(m,t)(m,t)(m,t),且需滿足2個條件:
- Vrfyk(m,t)=1_k(m,t)=1k?(m,t)=1
- 敵手沒有問過MACk(?)_k(\cdot)k?(?)這個明文信息mmm
滿足以上安全性的MAC被稱為在自適應選擇信息攻擊下存在不可偽造性的,existentially unforgeable under an adaptive chosen-message attack,即Pr[MAC-forgeA,Π(n)=1≤_{\mathcal{A},\Pi}(n)=1\leA,Π?(n)=1≤ negl(n)(n)(n)]。
總結
以上是生活随笔為你收集整理的现代密码学4.2--消息验证码/MAC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现代密码学4.1--消息完整性
- 下一篇: 现代密码学5.3--Hash and M