复习目录)
- 题型
- 第一章
- 密码算法的安全性分类
- 密码分析的难易程度
- 凯撒密码加密原理
- 古典密码中仿射变换的解密变换
- 第二章
- 流密码的组成和特点
- 流密码的基本思想
- 第三章
- 分组密码的CBC工作模式,以及该模式的加密示意图
- AES中字节求逆
- 雪崩效应
- 分组密码的安全设计原则及实现方法
- 第四章
- RSA算法
- 椭圆曲线密码倍乘计算方法
- RSA算法中私钥的计算
- ECC加密体制算法
- 第五章
- 使用ElGamal数字签名体制,进行签名与验证计算
- 数字签名的作用和特点
- 使用加密和签名的先后关系及原因
- 第六章
- 杂凑函数的应用场景
- 攻击单向杂凑函数的方式
- 杂凑函数的作用
- 杂凑函数的性质
- 第七章
- 认证技术的相关概念
- 第八章
- 基于D-H密钥交换协议计算生成通信双方的共享密钥
- 计算出Shamir秘密分割门限方案的秘密数据
- 第九章
- 一种具体的不经意传输协议
- 无信任双方共同产生共享的随机序列的密码协议
- 第十章
- 双线性对运算的性质
- 可证明安全的定义
- 第十一章
- 5种密码学新方向或新技术
- 5种后量子公钥密码
题型
- 单项选择 2 * 10道
- 判断 2 * 5道
- 简答 5 * 4道
- 计算 10 * 3 道
- 综合设计 20 * 1道
第一章
信息安全系统的特征
- 信息的机密性保证
- 由加密算法完成
- 信息的真实性认证
- 由认证算法和配套的协议完成
- 承诺的不可否认性
- 由数字签名算法、配套的协议和仲裁机构完成
密码算法的安全性分类
-
无条件安全性
- 即使密码分析者拥有无限的计算资源和密文,都没有足够的信息恢复出明文,那么这个算法就具有无条件安全性。
-
计算安全性
-
如果算法用现在或者将来的可用资源都不能破译,那么,这个算法被认为是计算安全的。也就是说,算法的计算安全性是可以通过计算复杂性(或者说攻击复杂性)来衡量, 通常来讲,可以用三种方式来衡量对算法的计算复杂性:
1)数据复杂性:用于攻击算法所需要输入的数据量。
2)时间复杂性:以执行某特定的基本步骤所需时间为单元,完成攻击过程所需要的总时间单元数。
3)空间复杂性:以某特定的基本存储空间为单元,完成攻击过程所需要的总存储单元数。
-
-
可证明安全性
- 把所提协议或方案的安全性规约到某种数学困难问题上。
密码分析的难易程度
-
对敌手攻击能力的Kerckhoffs假设:
假设敌手知道:
-
所使用的的密码算法;
包括5个方面
-
加密算法Ek(m)
-
解密算法Dk©
-
明文空间M
-
密文空间C
-
密钥空间K
Ek:M→C
-
-
知道明文的概率分布规律;
-
知道密钥的概率分布规律;
-
知道所有可能的破译方法。
-
-
三类主要的攻击方法
分类方法:按敌手可利用知识的类别分类
-
唯密文攻击:
敌手除加密算法、明文和密钥的概率分布规律外,还知道很多由同一个密钥加密的密文。
-
已知明文攻击:
敌手除具备唯密文攻击的条件外,还知道许多密文对应的明文。
-
选择明文(密文)攻击:
敌手除具备已知明文攻击的条件外,还可以任意选择对他有利的明文(密文),并能够得到相应的密文(明文)。
-
-
难易程度:选择明文(密文)攻击难度最低,已知明文攻击次之,唯密文攻击难度最大
-
最基本的破译方法:对密钥的穷举攻击
穷举攻击就是逐一利用每个可能的密钥对密文进行解密测试,并将解密结果最合理的那个密钥判断为正确密钥。
凯撒密码加密原理
-
凯撒密码是一种替换加密技术
-
单表代换密码
利用预先设计的固定代换规则,对明文逐字符或字符组进行代换的密码
- 代换规则只有一种,因而与密钥和被加密的明文字符的序号无关。故相同的明文字符组一定产生相同的密文字符组。
-
Caesar密码(凯撒密码)是一种对英文字母逐字母的密码。
-
将英文字母转化为数字的方法:—转换为该字母的序号
英文 A B C D … U V W X Y Z
数字 0 1 2 3 … 20 21 22 23 24 25
加密变换为:
c = E₃(m) = (m+3) mod 26, 0 ≤m≤25
即:
明文字母 A B C D … U V W X Y Z
密文字母 D E F G … X Y Z A B C
解密变换为: m = D₃© = (c - 3) mod 26. 0 ≤ m ≤ 25
古典密码中仿射变换的解密变换
第二章
流密码的组成和特点
-
流密码有记忆性,内部含有记忆元件
-
同步流密码的关键是密钥流产生器。一般可以将其看成一个参数为k的有限状态自动机,有一个输出符号集z、一个状态集∑、两个函数φ和Ψ一个初始状态σ。组成。
-
同步流密码的加密器分成密钥流产生器和加密变换器两个部分。
-
移位寄存器是流密码产生密钥流的一个主要组成部分。
-
密钥流生成器可分解为驱动子系统和非线性组合子系统,驱动子系统常用一个或多个线性反馈移位寄存器来实现,非线性组合子系统用非线性组合函数来实现。
流密码的基本思想
第三章
分组密码的CBC工作模式,以及该模式的加密示意图
- 特点
- 明文分组的统计特性得到了隐蔽
- 具有有限的错误传播特性
- 具有自同步功能
- 典型应用
- 数据加密
- 完整性认证和身份认证
AES中字节求逆
雪崩效应
雪崩效应,指加密算法(尤其是块加密和加密散列函数)的一种理想属性。雪崩效应是指当输入发生最微小的改变(例如,反转一个二进制位)时,也会导致输出的不可区分性改变(输出中每个二进制位有 50%的概率发生反转)。
其概念最早可以追溯到香农提出的扩散原则
-
扩散原则
使得每个明文比特和密钥比特影响尽可能多的密文比特,以隐藏明文的统计特性和结构规律。
分组密码的安全设计原则及实现方法
-
分组密码的安全原则:混乱、扩散
-
混乱原则
-
扩散原则
-
实现方法
-
DES分组密码实现性能
软件实现慢、硬件实现快;可全部用布尔电路实现
-
安全性:可以成功地对DES进行穷举攻击。
第四章
RSA算法
- 课堂练习1:
假设需要加密的明文信息为m=85,选择:e=7,p=11,q=13,求密文c
》》》》》》》》》》使用φ(n)
n=pxq=11x13=143
φ(n)=(p-1)x(q-1)=10x12=120
edmod120=1
120 = 7x17+1
7 = 7x1
1 = 120 - 7x17
故d = -17
即d = 103
c = m^7mod 143 = 123
- 课堂练习2:
已知RSA算法中,素数p=5,q=7,模数n=35,公开密钥e=5,密文c=10,求明文m
》》》》》》》》》使用φ(n)
n = pxq = 35
φ(n)=(p-1)x(q-1)=4x6=24
edmod24=1
24 = 4x5+4
5 = 1x4+1
4 = 4x1
1 = 5 - 1x4
= 5 - (24-(4x5))
= 5x5 -24
故 d = 5
m = c ^ 5 mod 35 = 5
椭圆曲线密码倍乘计算方法
RSA算法中私钥的计算
利用广义欧几里得定理
ECC加密体制算法
-
基于困难问题
- 有限域椭圆曲线群上的离散对数问题
-
椭圆曲线密码算法
第五章
使用ElGamal数字签名体制,进行签名与验证计算
数字签名的作用和特点
签名的作用有两点:
一是签名难以否认,从而确认了文件已签署的事实,二是因为签名不易仿冒,从而确定了文件的真实性。数字签名也一样,它确定以下两点:
信息是由签名者发出的;
信息自签名后没有作过任何修改。
这样数字签名就可以用来防止电子信息被修改而作伪;或冒用别人名义发送信息;或发出后又加以否认等情况的发生。
数字签名的作用
签名的不可伪造性,确保消息的完整性
数字签名有两种功效:
一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。
二是数字签名能确定消息的完整性。 因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。 不同的文件将得到不同的数字摘要。
- 数字签名应满足的条件
使用加密和签名的先后关系及原因
第六章
杂凑函数的应用场景
- 数据完整性检验
- 用于数字签名
- 密钥推导
- 伪随机数生成
- 区块链
攻击单向杂凑函数的方式
- 暴力破解:寻找与原消息产生同一散列值的不同消息(抗弱无碰撞性)
- 生日攻击:并非寻找生成特定散列值的消息,而是找到散列值相同的两条消息,而散列值可以任意(抗强无碰撞性)。
杂凑函数的作用
将任意长度的报文m压缩成固定长度的报文摘要H(m)的函数
杂凑函数的性质
-
单向性(求第一原像不可行)
给出一个杂凑值z,求出一个m,使H(m) = z 成立,在计算上是不可行的。
-
弱无碰撞性(求第二原像不可行)
任意给定一个报文m1,找出另一个不同的报文m2,使得H(m2) = H(m1) 在计算上不可行。
-
强无碰撞性
找出具有相同杂凑值H(m1) = H(m2)的两份不同的报文m1和m2,在计算上是不可行的。
- 若一个杂凑函数具有强无碰撞性,则一定具有弱无碰撞性!
- 若一个杂凑函数不具有弱无碰撞性,则一定不具有强无碰撞性!
第七章
认证技术的相关概念
-
认证包括消息认证和身份认证。
-
消息认证:消息的完整性认证。“用户”检验它收到的文件是否遭到第三方有意或无意的篡改。
根据应用对象不同,“用户”的概念可以是:
- 文件的接收者
- 文件的阅读者
- 一个被登录的设备(如密码机等)
-
身份认证:是让验证者相信正在与之通信的另一方就是所声称的那个实体,即真实性认证。
- 目的是防止伪装。
- 身份认证协议是一个实时的过程,即协议执行时证明这确实在实际地参与,并自始至终地执行协议规定的动作。仅在成功完成协议时才确信证明者的身份。而持续的确信还要另想办法。这点与消息认证不同。
-
采用密码技术实现消息认证和身份认证是信息系统安全的基础,是实现信息的机密性和系统访问控制的前提。
-
对称密码体制(包括序列密码、分组密码)、杂凑函数和公钥密码体制都可以实现消息的完整性认证。
-
序列密码实现的消息认证
-
利用序列密码实现消息的完整性认证方法很多,这里仅以加密装置的沟通为例来说明收发双方共享密钥的一致性。
-
对于无明密文反馈的序列密码,可直接将最初产生的若干乱数明传过去,收方检验收到的乱数与本密码机产生的对应乱数一致,这里序列密码所产生的最初乱数就是收发双方共享的密钥的认证码。显然如果所明传的最初乱数是64比特,则收发双方密码机的可共享密钥不一致的概率是2的64方分之1。
-
-
分组密码实现的消息认证
- 加密装置的沟通
- 当收发双方共享的会话密钥一次一变时,发方可利用该密钥对全0明文分组加密并将所得的 密文结果传给收方。
- 收方将收到的密文与他对全0明文分组加密的结果比较,若相同,则相信双方所共享的会话密钥是一致的,从而实现了共享密钥的完整性认证。
- 当会话密钥在若干时间内固定不变时,在该密钥的生存期内,发方每次可产生一个随时变化的明文分组(例如实时产生的随机数或通信次数计数器的值),对该明文分组加密并将明文和密文传给收方。
- 收方收到的明文加密,所得密文与收到的密文比较,从未实现了共享密钥的完整性认证。
- 注意:上述两种方法重点注意的地方是,所产生密文必须随时间变化而变化,以防止攻击者重放攻击。
- 加密装置的沟通
-
CBC模式实现的消息完整性认证技术
- 利用分组密码算法实现消息完整性认证地前提和方法:
- 文件的制造者和校验者共享一个密钥;
- 文件的明文必须具有校验者预先知道的冗余度;
- 文件的制造者用共享密钥对具有约定冗余度的明文用适当的方式加密;
- 文件的校验者用共享密钥对密文脱密,并检验约定冗余度是否正确。
- 利用分组密码算法实现消息完整性认证地前提和方法:
-
杂凑函数实现的消息认证
-
公钥密码体制实现的消息认证
-
数字信封
- 使用在保护电子邮件安全的PGP协议中的“数字信封"的方法,实现了消息的机密性、真实性和完整性。
-
-
身份认证:分为弱认证和强认证两种类型
- 弱认证:使用口令(password)、口令段(passphrase)、口令驱动的密钥。
- 强认证:通过向验证者展示与证明者实体有关的秘密知识来证明自己的身份。在协议执行过程中通信线路完全被监控的情况下,对手也不会从中得到证明者秘密的信息。这种类型也称为挑战响应和应答识别(challenge-response identification)。
- 挑战是指由一方随机选取秘密选取的数发送给另一方,而应答是对挑战的回答。
- 应答应该与实体的秘密及对方挑战有关系。
-
人机认证:
人机认证是指密码设备的使用者在进入密码设备时进行身份认证的控制过程。认证过程可以基于非对称密码体制实现,也可以基于对称密码体制实现。
-
产品防伪
第八章
基于D-H密钥交换协议计算生成通信双方的共享密钥
计算出Shamir秘密分割门限方案的秘密数据
第九章
一种具体的不经意传输协议
无信任双方共同产生共享的随机序列的密码协议
-
掷硬币协议
-
1、利用平方根掷硬币
-
2、利用单向函数掷硬币
-
3、利用二次剩余掷硬币
-
第十章
双线性对运算的性质
可证明安全的定义
第十一章
5种密码学新方向或新技术
- 身份基加密(IBE)
- 属性基加密(ABE)
- 全同态加密
- 动态加密
- 联邦学习
- 智能安全
- 量子计算
- 区块链
- 格密码
5种后量子公钥密码
后量子密码学,又称抗量子计算密码学
专门研究能够抵抗量子计算机的加密算法。
- 多变量密码学
- 多变量密码学时应用了有限域F上多元多项式的密码学,包括对称加密和非对称加密。
- 当研究对象是非对称加密,又叫做多变量公钥密码学,缩写MPKC。此外,由于它常使用二次多项式,因此又可缩写为MQ。
- 编码密码学
- 是应用了编码理论与纠错码的密码学。
- 其中最早、最有代表性是McEliece密码系统。
- 格密码学
- 是在算法构造本身或其安全性证明中应用到格的密码学。
- 经典的格密码学加密算法包括GGH加密方案(基于CVP,已遭破解)和NTRU解密方案(基于SVP)。
- 由于容错学习问题与格问题存在联系,因此后来基于容错学习问题(LWE)与环容错学习问题(Ring-LWE)的加密算法也属于格密码学的范畴。
- 散列密码学
- 散列密码学是应用散列函数的数字签名。
- 散列密码学的优点
- 数字签名的安全性只取决于散列函数,而足够长的散列函数不受量子计算机威胁。
- 缺点
- 密钥体积极大,因此一直没有被主流密码学界所采纳。
- 许多散列密码系统的私钥是有状态的,签名后都必须更新私钥的计数器,保证同一状态不可重用,否则签名方案就会遭到攻击者破解。例如,将同一私钥同时在两台机器上使用,就会造成巨大的安全问题。SPHINCS签名解决了这一问题。
- 超奇异椭圆曲线同源密码学
- 超奇异椭圆曲线同源密码学是利用超奇异椭圆曲线与超奇异同源图的数学性质的密码学,可以实现超奇异同源密钥交换(SIDH),具有前向安全性。