「Algebraic ECCs」: Linear Codes and Finite Fields
Topics Covered:
Linear Algebra over $\{0, 1\}$
- Generator Matrices
- Parity-Check Matrices
Linear Algebra not Working over $\{0, 1, 2, 3\}$
Finite Fields and Linear Codes
Topics Covered:
Linear Algebra over $\{0, 1\}$
Linear Algebra not Working over $\{0, 1, 2, 3\}$
Finite Fields and Linear Codes
Topics Covered:
Topics:
Topics:
Topics:
Topics:
Topics covered:
Note: The second half of Lecture 5, Number Theory, is contained in Lecture 6.
Topics:
Topics:
Science wins either way.
Topics:
Everything you’ve ever wanted is on the other side of fear.
Topics:
上一节介绍了基于PRFs的MAC构造和基于随机的MAC:
本节我们将介绍抗碰撞的MAC(MACs from collision resistance)。
第一部分介绍了什么是抗碰撞 (Collision Resistance),以及基于C.R.的MAC的安全性。
第二部分介绍了生日悖论,如何用生日攻击寻找2-way collision 和3-way collision.
第三部分介绍了Merkle-Damgarg范式(如果压缩函数h是C.R.,那么构造出的哈希函数H就是C.R.)以及如何构建C.R.的压缩函数(Davies-Meyer压缩函数).
最后一部分介绍了HMAC (Hash MAC)和一种针对MAC验证的timing attack and defense.
这篇文章主要介绍消息验证码,即MAC (Message Auth. Code)。
文章首先介绍了secure MAC的模型和安全定义,当攻击者能伪造出新的msg/tag对时,MAC就不再安全。
文章的第二部分介绍了基于PRF的MAC构造,根据相关定理,只要PRF的输出空间足够大,且这是一个安全的PRF,则基于PRF的MAC就是安全的。
但基于PRF的MAC只能计算固定消息大小的MAC,如何利用这个工具构造出更大消息空间的MAC?
文章后半部分给出了一些主流的MAC构造:
此外,文章还介绍了MAC Padding技术。
作为BlockCipher的第二篇文章。
第一部分介绍了块密码中的抽象概念PRF和PRP的安全定义。
第二部分介绍了两个概念,一个是抵抗one-time key的语义安全,另一个是抵抗many-time key(CPA)的语义安全。
在one-time key中,每条消息都使用新的密钥,类似于流密码中的OTP。介绍了不能抵抗CPA的ECB模式,还阐述了能抵抗CPA的det. CTR模式。
在many-time key中,同一条密钥可以用于加密多条消息,攻击者可以轻易具备CPA能力,文中说明了如果确定性的加密算法,则不能抵抗CPA,而random IV或者unique nonce的方式则可以抵抗CPA。
这篇文章介绍了块密码。
文中主要分为四个部分。
第一个部分解释了块密码的基础概念,包括抽象概念PRF(伪随机函数)和PRP(伪随机置换)的定义及其安全定义。
第二个部分介绍了经典块密码DES,包括DES的Feistel网络,支撑Feistel网络的Luby-Rackoff定理,triple-DES和对DES的一些攻击方法。特别是有效的中间相遇攻击。
第三个部分介绍了目前流行的块密码AES,包括AES的结构和一些攻击方法等。
最后一小部分介绍了用PRG构造PRF,再利用Feistel网络变成块密码。
Stream Cipher的第三篇文章。
文章主要分为两部分,前部分逐步定义Secure PRG的定义,通过引入statistical test(统计测试)和Advantage(优势)得出当且仅当PRG is unpredictable,PRG is secure的结论。
后部分介绍了密码学中的一个重要概念Semantic Security的定义,通过引入 computationally indistinguishable(计算上不可区分)的概念给出定义,并证明了OTP的语意安全和在安全PRG条件下的流密码的语意安全,得出如果流密码中使用的PRG is secure,那么流密码就具备semantic security。
文章开头,也简单介绍了密码学中negligible和non-negligible的含义。
作为Stream Cipher的第二篇文章。
第一部分分析了基于Stream Cipher的两种攻击:第一种是Two time pad,第二种是对与其完整性的攻击,即流密码是可被篡改的。
第二部分具体说明了一些使用流密码加密的例子。包括分析基于软件的RC4流密码、基于硬件的CSS流密码和现代的安全流密码:eStream中的Salsa20。
Stream Cipher的第一部分:介绍了One Time Pad和Stream Cipher中的PRG。
其中OTP部分叙述了什么是Perfect Secrecy?为什么OTP很难在实践中应用?
Stream Cipher部分中,本文主要阐述了什么是PRG?Stream Cipher的另一种安全的定义(依靠PRG的unpredictable)。
本文后半部分,详细阐述了一种weak PRG——线性同余生成器,它是如何工作的?它为什么不安全?如何攻击它?
本系列是学习Dan Boneh教授的Online Cryptography Course。
这是Dan教授的第一讲:对密码学的一些Introduction。