第一章
    
    
    
    
     经典密码学介绍
    
   
    
     
    
   
    
     1.1
    
    
     密码学和现代密码学
    
   
a.现代密码学与古典密码学的区别:
    
    
   
    
     
    
   
    
     1.2
    
    
     对称密钥加密的基本设置
    
   
a.
    
    
   
    
    
   
    
     b.
    
    
     加密的语法
    
   
    
     密钥产生算法
    
    
     Gen
    
    
     :一种概率算法
    
   
    
     加密算法
    
    
     Enc
    
    
     :
    
    
    
    
     输入密钥
    
    
     k
    
    
     ,明文
    
    
     m
    
    
     ,输出密文
    
    
     c
    
    
     。
    
    
    
    
     记为
    
    
     Enc
    
    
     k
    
    
     (
    
    
     m
    
    
     )
    
   
    
     解密算法
    
    
     Dec
    
    
     :
    
    
    
    
     输入密钥
    
    
     k
    
    
     ,密文
    
    
     c
    
    
     ,
    
    
    
    
     输出明文
    
    
     m
    
    
     。记为
    
    
     Dec
    
    
     k
    
    
     (c)
    
   
    
     c.Kerckhoffs
    
    
     原则
    
   
    
     1)
    
    
     内容:加密方案本身不必保密,唯一需要保密的是通信双方共享的秘密密钥
    
   
    
     2)
    
    
     理由:
    
    
     1.
    
    
     与维护算法的保密性相比,通信各方非常容易的维护短小密钥的保密性
    
   
    
     2.
    
    
     密钥一旦暴露,诚实参与方将非常容易改变密钥而不是替换算法
    
   
    
     3.
    
    
     一旦多对人员需要加密他们的通信,对参与方而言
    
   
    
     d.
    
    
     开放密码学设计优势:
    
   
    
     
     
    
   
    
     e.
    
    
     攻击场景:
    
   
    
    
   
    
   
    
     
    
   
    
     1.3
    
    
     古典密码
    
    
     (
    
    
     都是唯密文攻击
    
    
     )
    
   
    
     a.
    
    
     凯撒密码:移动
    
    
     3
    
    
     个位置
    
   
    
     >>
    
    
     密钥空间充分性原则:任何安全的加密方案必须拥有一个能抵御穷举搜索的密钥空间
    
   
    
     
    
   
    
     b.
    
    
     单字母替换
    
   
    
     >>
    
    
     一种对移位加密改进的攻击:
    
   
    
     用
    
    
     pi
    
    
     表示在普通英文文本中第
    
    
     i
    
    
     个字母的概率,则有Σ
    
    
     p
    
    
     i
    
    
     2
    
    
     =0.065
    
   
    
     用
    
    
     qi
    
    
     表示在密文中第
    
    
     i
    
    
     个字母的概率,则有
    
    
     I
    
    
     j
    
    
     =
    
    
     Σ
    
    
     p
    
    
     i
    
    
     *q
    
    
     i+j
    
   
    
     若
    
    
     I
    
    
     k
    
    
     =0.065
    
    
     ,则得到密钥为
    
    
     k
    
   
    
     c.
    
    
     多字母移位加密
    
    
     (Vigenere
    
    
     加密
    
    
     )
    
   
    
     1)
    
    
     密文中一个单词出现
    
    
     2
    
    
     次或多次,我们可以认为这些距离的最大公约数是周期
    
    
     t
    
    
     或
    
    
     t
    
    
     的倍数
    
   
    
     2)
    
    
     巧合指数法:若密钥长度为
    
    
     t
    
    
     ,说明
    
    
     c
    
    
     1
    
    
     ,
    
    
     c
    
    
     1+t
    
    
     ,
    
    
     c
    
    
     1+2t
    
    
     ……
    
    
     是同样的移位加密
    
   
    
     则对于序列
    
    
     c
    
    
     1
    
    
     ,
    
    
     c
    
    
     1+r
    
    
     ,
    
    
     c
    
    
     1+2r
    
    
     ……
    
    
     ,若
    
    
     S
    
    
     r
    
    
     =
    
    
     Σ
    
    
     q
    
    
     i
    
    
     2
    
    
     =0.065
    
    
     ,则
    
    
     r=t
    
    
     为周期
    
   
    
     否则
    
    
     S
    
    
     r
    
    
     =
    
    
     Σ
    
    
     q
    
    
     i
    
    
     2
    
    
     =
    
    
     Σ
    
    
     (1/26)
    
    
     2
    
    
     =0.038
    
   
    
     d.
    
    
     关于密码设计的经验
    
   
    
     
    
   
    
     
    
   
    
     
    
   
    
     1.4
    
    
     现代密码学的基本原则
    
   
    
     
     
    
   
    
    
   
    
     >>
    
    
     如何形式化的描述对称密钥加密所需要的加密方案
    
   
如果没有敌手能从密文中计算任何关于明文的函数,则加密方案是安全的
    
     >>
    
    
     安全定义的通用形式
    
   
如果特定的敌手不能完成特定的攻破,则对给定任务的一个密码学方案是安全的
    
     >>
    
    
     规约方法
    
   
    
     若给定假设
    
    
     X
    
    
     时正确的,根据给定的定义,构造方案
    
    
     Y
    
    
     是安全的
    
   
 
