现代密码学知识点整理:
- 格式:doc
- 大小:1.06 MB
- 文档页数:16
word
1 第一章 根本概念
1. 密钥体制组成局部:
明文空间,密文空间,密钥空间,加密算法,解密算法
2、一个好密钥体制至少应满足的两个条件:
〔1〕明文和加密密钥计算密文容易;在密文和解密密钥计算明文容易;
〔2〕在不知解密密钥的情况下,不可能由密文c推知明文
3、密码分析者攻击密码体制的主要方法:
〔1〕穷举攻击 〔解决方法:增大密钥量〕
〔2〕统计分析攻击〔解决方法:使明文的统计特性与密文的统计特性不一样〕
〔3〕解密变换攻击〔解决方法:选用足够复杂的加密算法〕
4、四种常见攻击
〔1〕唯密文攻击:仅知道一些密文
〔2〕明文攻击:知道一些密文和相应的明文
〔3〕选择明文攻击:密码分析者可以选择一些明文并得到相应的密文
〔4〕选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文
【注:以上攻击都建立在算法的根底之上;以上攻击器攻击强度依次增加;密码体制的安全性取决于选用的密钥的安全性】
第二章 古典密码
(一)单表古典密码
1、定义:明文字母对应的密文字母在密文中保持不变
2、根本加密运算
设q是一个正整数,}1),gcd(|{};1,...,2,1,0{*qkZkZqZqqq
〔1〕加法密码
加密算法:
kXmZZYXqq;,;对任意,密文为:qkmmEckmod)()(
密钥量:q
(2)乘法密码
加密算法:
kXmZZYXqq;,;*对任意,密文为:qkmmEckmod)(
解密算法:qckcDmkmod)(1
密钥量:)(q
(3)仿射密码
加密算法:
),(;},,|),{(;21*2121kkkXmZkZkkkZYXqqq对任意;密文 word
2 qmkkmEckmod)()(21
解密算法:qkckcDmkmod)()(112
密钥量:)(qq
(4)置换密码
加密算法:
kXmZZYXqq;,;对任意上的全体置换的集合为,密文
)()(mmEck
密钥量:!q
仿射密码是置换密码的特例
3.几种典型的单表古典密码体制
(1)Caeser体制:密钥k=3
(2)标准字头密码体制:
4.单表古典密码的统计分析
〔1〕26个英文字母出现的频率如下:
频率
字母 e t,a,o,i.n,s,h,r d,l c,u,m,w,f,g,y,p,b v,k,j,x,q,z
【注:出现频率最高的双字母:th;出现频率最高的三字母:the】
〔二〕多表古典密码
1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同
〔1〕简单加法密码
加密算法:
),...,(,),...,(,,11nnnnqnqnnkkkXmmmZZYX对任意设,密文:
),...,()(11nnkkmkmmEc
密钥量:nq
〔2〕简单乘法密码
密钥量:nq)(
1.简单仿射密码
密钥量:nnqq)(
2.简单置换密码 word
3 密钥量:nq)!(
〔3〕换位密码
密钥量:!n
〔4〕广义置换密码
密钥量:)!(nq
〔5〕广义仿射密码
密钥量:nnrq
3.几种典型的多表古典密码体制
(1)Playfair体制:
密钥为一个5X5的矩阵
21mm对应的密文21cc确实定:
21mm和同行或同列,如此1c为1m后的字符,2c为2m后的字符;假如21mm和既不同行也不同列,如此21cc在21mm所确定的矩形的其他两个角上,1c和1m同行,2c和2m同行。
(2)Vigenere体制
设明文nmmmm...21,密钥nkkkk...21如此密文:nkcccmEc...)(21,
其中nikmciii,...2,126mod)(
当密钥长度比明文长度短时,密钥可周期性地重复利用。
(3)Vernam体制
设明文......21immmm,密钥......21ikkkk其中,1)2(,iGFkmii如此密文......21icccc,其中1ikmciii
(4)Hill体制
设明文nnZmmmm2621)...(,密文nnZcccc2621)...(,密钥为26Z上的nXn街可逆方阵nnijkK)(,如此:
26mod26mod1cKmmKc
4.多表古典密码的统计分析
(1)分析步骤:确定密钥字的长度;确定密钥的内容
(2)确定密钥字的常用方法:Kasisiki测试法和重合指数法
Kasisiki测试法可以找出可能密钥;而重合指数法可以进一步确定密钥
iddd,...,,21),...,,gcd(21idddm word
4 重合指数法:
065.0)1()1()(2512250iiiiicpnnffxI
其中iipf和分别为英文字母A,B,.....,Z在长度为n的英文字符串中出现的次数,与各字符出现的概率
第三章 香农理论
1、密码体制各组成局部的熵之间的关系:
)()()()|(CHMHKHCKH
2、语言L的冗余度:
||log12XHRLL
3、伪密钥
(1)定义:密码分析者得到众多可能密钥中除正确密钥之外的一个密钥
(2)对于任意一个密文,用不同的密钥进展解密,如果得到的有意义的明文越多,如此伪密钥也越多。这是判断哪个密钥正确的难度就越大。
(3)对于一个密钥体制,设X是明文字母表,Y是密文字母表,并且|X|=|Y|,设LR是明文语言的冗余度,假设密钥的选取满足均匀分布,如此对于任意一个场地为n的密钥字母串,当n充分大时,萎靡要的期望数目ns满足:
1||||LnnRXKs
(4)唯一解距离
令0ns,解之:||log||log0XRKnL
一个密钥体制的唯一解距离就是密码分析者在有足够的计算时间的情况下,能够唯一的计算出正确密钥所需的密文的平均长度。
明文语言的冗余度越大,唯一解距离就越小,密码分析者在唯密文攻击的情况下就越容易求得正确的密钥。
第三章 DES
〔一〕DES算法
分组加密算法:明文和密文为64位分组长度
对称算法:加密和解密除密钥编排不同外,使用同一算法 word 5 密钥长度:有效密钥56位,但每个第8位为奇偶校验位,可忽略
密钥可为任意的56位数,但存在弱密钥,容易避开
采用混乱和扩散的组合,每个组合先替代后置换,共16轮
2.加密流程图
3.子密钥的产生
word
6 (二)分组密码的工作模式
1.分类
电码本(ECB)模式
密码分组(CBC)模式
密码反应(CFB)模式
输出反应(OFB)模式
计数器模式(CTR)
2.总评
〔1〕ECB模式简单、高速,但最弱,易受重发和替换攻击,一般不采用。
〔2〕CBC,CFC,OFB模式的选用取决于实际的特殊需求。
〔3〕明文不易丢信号,对明文的格式没有特殊要求的环境可选用CBC模式。需要完整性认证功能时也可选用该模式。
〔4〕不易丢信号,或对明文格式有特殊要求的环境,可选用CFB模式。
〔5〕信号特别容易错,但明文冗余特别多,可选用OFB模式。
第四章 AES
1.AES的理论根底
(1)AES的字节运算
AES中一个字节是用有限域GF(28)上的元素表示 ,通过倍成函数xtime〔〕实现
(2)AES的字运算
AES中的32位字表示为系数在有限域GF(28)上的次数小于4的多项式,即012233)(axaxaxaxa
2.AES加密
〔1〕AES密码是一种迭代式密码结构,但不是 Feistel 密码结构
〔2〕对于AES算法,算法的轮数依赖于密钥长度:将轮数表示为Nr,当Nk =4时,Nr=10;当Nk =6时,Nr=12;当Nk =8时Nr=14 。【其中:密钥的列数记为Nk, Nk =密钥长度〔bits〕÷32(bits) 。 Nk可以取的值为4、6和8,对应的密钥长度分别为128位、192位和256位】
〔3〕加密过程:〔以128位为例〕
AES需迭代十轮,需要11个子密钥。
前面9轮完全一样,每轮包括4阶段,分别是字节代换〔SubBytes〕、行移位〔Shift Rows〕、列混淆〔Mix Columns〕和轮密钥加〔Add Round Key〕;最后一轮只3个阶段,缺少列混淆。 word 7
3.AES的解密
加密的逆过程
4.AES的安全性
〔1〕抗差分分析和线性分析〔基于轨迹策略〕
〔2〕抗穷举密钥攻击
〔3〕对密钥的选择没有任何限制,还没有发现弱密钥和半弱密的存在
第五章 RSA
(一)公钥密码体制
1.为解决的两个问题:密钥的分配;数字签名
2.对公钥密码体制的攻击
(1)穷举法
(2)根据公钥计算私钥
(二)RSA算法
1.体制原理
(1)选取两个大素数p和q〔某某〕
(2)计算n=pq(公开),)1)(1()(qpn〔某某〕