现代密码学_第二讲 传统密码技术
- 格式:pdf
- 大小:10.26 MB
- 文档页数:63
现代密码学总结第一讲绪论•密码学是保障信息安全的核心•安全服务包括:机密性、完整性、认证性、不可否认性、可用性•一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。
•现代密码学分类:•对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 •非对称密码体制:(又称为双钥密码体制或公开密钥密码体制)典型算法:RSA、ECC第二讲古典密码学•代换密码:古典密码中用到的最基本的处理技巧。
将明文中的一个字母由其它字母、数字或符号替代的一种方法。
(1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26)(2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26)(3)单表代换、多表代换Hill密码:(多表代换的一种)——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵}——加密c = p * K mod 26 解密p = c * K-1 mod 26Vigenere密码:查表解答(4)转轮密码机:•置换密码•••:将明文字符按照某种规律重新排列而形成密文的过程列置换,周期置换•密码分析:•统计分析法:移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法•重合指数法• 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065• 实际使用CI 的估计值CI ’:L :密文长。
fi :密文符号i 发生的数目。
第三讲 密码学基础第一部分 密码学的信息论基础• Shannon 的保密通信系统模型发送者接收者信源分析者加密解密安全信道无噪信道安全信道MM MCK K密钥源发送者接收者信源分析者加密解密无噪信道安全信道MM MC KK ’密钥源无噪信道•一个密码体制是一个六元组:(P, C, K 1, K 2, E, D )P--明文空间 C--密文空间 K 1 --加密密钥空间K2 --解密密钥空间E --加密变换D --解密变换对任一k∈K1,都能找到k’∈K2,使得D k’ (E k (m))=m,m M. •熵和无条件保密•)(1log)()(≥=∑i iaixpxpXH设随机变量X={xi | i=1,2,…,n}, xi出现的概率为Pr(xi) ≧0, 且, 则X的不确定性或熵定义为熵H(X)表示集X中出现一个事件平均所需的信息量(观察前);或集X中每出现一个事件平均所给出的信息量(观测后).•设X={x i|i=1,2,…,n}, x i出现的概率为p(x i)≥0,且∑i=1,…,n p(x i)=1;Y={y i|i=1,2,…,m}, y i出现的概率为p(y i)≥0,且∑i=1,…,m p(y i)=1;则集X 相对于集Y的条件熵定义为•X视为一个系统的输入空间,Y视为系统的输出空间,通常将条件熵H(X|Y)称作含糊度,X和Y之间的平均互信息定义为:I(X,Y)=H(X)-H(X|Y)表示X熵减少量。
密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。
1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。
比如所有的英文字母、全部的中文字符就是典型的明文字母表。
准确一点,明文信源还应当包含明文字母的概率分布。
如果用X表示明文字母表,则它的元素x∈X则就是明文字母。
在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。
所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。
2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。
密文字母表可以与明文字母表相同,也可以不同。
3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。
通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。
加密方法的组合复杂度取决于在此方法下密钥的数量。
如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。
加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。
由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。
除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。
安全第2讲——现代密码学入门上一讲介绍了凯撒加密、单字母替换加密、Vigenere加密三种古典加密方法,在计算机辅助下进行攻击,它们几乎都不堪一击。
但实际上,对程序员们来说,这三种加密方法、或者从它们衍生出的加密方法,依然是经常使用的方法,只不过它们不被用于商用系统,也不被用于对自身机密信息的保护。
我们自己编写一些好玩的小程序,想进行简单鉴权,我们还是会优先想到凯撒加密等算法。
对商用系统,或者对个人机密信息保护的系统,则要求使用现代加密算法。
下面介绍一些现代密码学的入门知识。
1、算法的表示加密方案涉及到三种算法,分别是:(1)密钥产生算法Gen;(2)加密算法Enc;(3)解密算法Dec;2、取值空间的表示取值空间常用手写体的大写字母表示,分别为:(1)明文空间M;(2)密文空间C;(3)密钥空间K;3、具体取值的表示具体取值有三种,用小写字母表示,分别为:(1)明文m;(2)密文c;(3)密钥k;4、随机值的表示随机值也有三种,常用打印体的大写字母表示,分别为:(1)明文随机值M;(2)密文随机值C;(3)密钥随机值K;5、出现概率的表示出现概率有三种,分别为:(1)Pr[K=k]表示密钥k的出现概率,即Gen算法生成k的概率;(2)Pr[M=m]表示明文m的出现概率;(3)Pr[C=c]表示密文c的出现概率;6、算法的使用(1)k:=Gen(),k∈K解释:通过执行Gen算法,我们可以得到密钥k,得到的密钥属于密钥空间K。
(2)对于k∈K、m∈M,则c:=Enc(k, m),c∈C解释:通过执行Enc算法,输入密钥k和原文m,可以得到密文c,得到的密文属于密文空间C。
有的的Enc算法,对于给定的密钥k和原文m,生成固定的密文c;但也有Enc算法,对于给定的密钥k和原文m,每次执行生成的密文c不同。
(3)对于k∈K、m∈M,则m:=Dec(k, Enc(k, m))解释:对于通过Enc,传入参数密钥k和原文m,得到的密文c;我们可以使用Dec,传入参数密钥k和密文c,可以得到原文m。