新开的专栏为《Introduction to modern cryptography》的学习笔记。由于目前主要的研究内容为公钥密码学,因此会先学习大体介绍然后直接跳入到公钥密码学的学习,至于其他的内容,如果有空余时间也会更新上来。
Chapter 1 1.私钥加密双方提前共享密钥key,用相同的key来进行加密解密。
Kerckhoff’s principle:
The cipher method must not be required to be secret, and it must
be able to fall into the hands of the enemy without inconvenience.
即安全不应该依赖于加密方案的保密,应该只依赖于密钥的保密。
包容的老虎通过向前移动字母表中的字母的第3位来加密。
(2)移位密码和充分的密钥空间原理移动字母和字母表进行对应。由于可能的移动总共有26种(即字母表字母数),因此当拿到密文后,可以很轻易的进行暴力破解,找出具有实际语义的信息。
(3)按单字母顺序排列的替换密码定义明文字母到密文字母的映射,这是任意的。攻击者可以根据常见字母的频率高低,可以提前确定一些字母。因此必须保证密钥空间足够大才可以抵抗这种攻击。
(4)对移位密码的改进攻击计算出所有字母的概率平方和,如下图所示。
让 q i q_{i} qi指代密文中第i个字母的频率,如果密钥为k,那么可以知道 q i = p i + k q_{i}=p_{i+k} qi=pi+k,因此计算:
找出使得 I k ≈ 0.065 I_{k}approx0 .065 Ik≈0.065的k。
明确描述可能存在的威胁以及需要什么样的安全保证。
(2)精确的假设大多数现代密码结构不能被无条件地证明是安全的;这样的证明将需要解决计算复杂度理论中的问题,而这些问题在今天似乎还远远没有得到回答。
(3)安全证明上述两个原则允许我们实现我们的目标,即提供一个严格的证明,即一个构造在某些特定的假设下满足给定的定义。这样的证明在密码学的背景下尤其重要,因为有一个攻击者正在积极地试图“破坏”某些方案。相对于定义和假设,安全证明提供了一个足够的保证,即攻击者不会成功。