现代密码学知识点整理:

  • 格式:doc
  • 大小:370.50 KB
  • 文档页数:10

来源:网络转载 第一章 基本概念

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对任意;密文

来源:网络转载 解密算法:qkckcDmkmod)()(112

密钥量:)(qq

(4)置换密码

加密算法:

kXmZZYXqq;,;对任意上的全体置换的集合为,密文

密钥量:!q

仿射密码是置换密码的特例

3.几种典型的单表古典密码体制

(1)Caeser体制:密钥k=3

(2)标准字头密码体制:

4.单表古典密码的统计分析

(1)26个英文字母出现的频率如下:

频率 约为0.12 0.06到0.09之间 约为0.04 约0.015到0.028之间 小于0.01

字母 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.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同

2.基本加密运算

(1)简单加法密码

加密算法:

),...,(,),...,(,,11nnnnqnqnnkkkXmmmZZYX对任意设,密文:

密钥量:nq

(2)简单乘法密码

密钥量:nq)(

1.简单仿射密码

密钥量:nnqq)(

2.简单置换密码

密钥量:nq)!(

(3)换位密码

密钥量:!n

(4)广义置换密码

来源:网络转载 密钥量:)!(nq

(5)广义仿射密码

密钥量:nnrq

3.几种典型的多表古典密码体制

(1)Playfair体制:

密钥为一个5X5的矩阵

加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。b.明文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,其中1ikmciii

(4)Hill体制

设明文nnZmmmm2621)...(,密文nnZcccc2621)...(,密钥为26Z上的nXn街可逆方阵nnijkK)(,则:

4.多表古典密码的统计分析

(1)分析步骤:确定密钥字的长度;确定密钥的内容

(2)确定密钥字的常用方法:Kasisiki测试法和重合指数法

Kasisiki测试法可以找出可能密钥;而重合指数法可以进一步确定密钥

kasisiki测试法步骤:a.寻找密文中长度至少为3的相同的密文片段;b.计算没对密文片段之间的距离为iddd,...,,21;c.计算可能密钥),...,,gcd(21idddm

重合指数法:

来源:网络转载 其中iipf和分别为英文字母A,B,.....,Z在长度为n的英文字符串中出现的次数,及各字符出现的概率

第三章 香农理论

1、密码体制各组成部分的熵之间的关系:

2、语言L的冗余度:

3、伪密钥

(1)定义:密码分析者得到众多可能密钥中除正确密钥之外的一个密钥

(2)对于任意一个密文,用不同的密钥进行解密,如果得到的有意义的明文越多,则伪密钥也越多。这是判断哪个密钥正确的难度就越大。

(3)对于一个密钥体制,设X是明文字母表,Y是密文字母表,并且|X|=|Y|,设LR是明文语言的冗余度,假设密钥的选取满足均匀分布,则对于任意一个场地为n的密钥字母串,当n充分大时,萎靡要的期望数目ns满足:

(4)唯一解距离

令0ns,解之:||log||log0XRKnL

一个密钥体制的唯一解距离就是密码分析者在有足够的计算时间的情况下,能够唯一的计算出正确密钥所需的密文的平均长度。

明文语言的冗余度越大,唯一解距离就越小,密码分析者在唯密文攻击的情况下就越容易求得正确的密钥。

第三章DES

(一)DES算法

1.基本参数

分组加密算法:明文和密文为64位分组长度

对称算法:加密和解密除密钥编排不同外,使用同一算法

密钥长度:有效密钥56位,但每个第8位为奇偶校验位,可忽略

密钥可为任意的56位数,但存在弱密钥,容易避开

采用混乱和扩散的组合,每个组合先替代后置换,共16轮

2.加密流程图

3.子密钥的产生

(二)分组密码的工作模式

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)、行移位(ShiftRows)、列混淆(MixColumns)和轮密钥加(AddRoundKey);最后一轮只3个阶段,缺少列混淆。

3.AES的解密

加密的逆过程

4.AES的安全性

(1)抗差分分析和线性分析(基于轨迹策略)

(2)抗穷举密钥攻击

(3)对密钥的选择没有任何限制,还没有发现弱密钥和半弱密的存在

第五章RSA

(一)公钥密码体制

1.为解决的两个问题:密钥的分配;数字签名

2.对公钥密码体制的攻击

(1)穷举法

来源:网络转载 (2)根据公钥计算私钥

(二)RSA算法

1.体制原理

(1)选取两个大素数p和q(保密)

(2)计算n=pq(公开),)1)(1()(qpn(保密)

(3)随机选取正整数e,)(1ne,满足1))(,gcd(ne,e是公开的加密密钥。

(4)计算d,满足))((mod1ned,d是保密的解密密钥。

(5)加密变换:对明文nZm,密文为nmcemod

(6)解密变换:对密文nZc,明文为ncmdmod

【解密变换是加密变换的逆变换的证明】

2.p和q选择的限制

(1)p和q的长度应该差不多

(2)11qp和都应该包含大的素因子

(3))1,1gcd(qp应该很小

(三)大素数生成

1.素数分布定定理:

设x>0,π(x)为不大于x的素数的个数,则1ln)(limxxxx。

【注:素数的分布极不均匀,素数越大,分布越稀疏。】

2.Legendra符号

设p>2是一个素数,对任意整数0a,

3.Jacobi符号

4.模n的大数幂乘的快速算法

5.StrassenSolovay素性测试

测试的主要依据:设p>2是一个素数,则对于任意整数0a,)(mod)(2/)1(papap

第六章 序列密码与移位寄存器

1.序列密码的基本原理

2.移位寄存器与移位寄存器序列

(1)基本构造

反馈移位寄存器序列:,...,...,,,210taaaa