汕头大学应用密码学期末复习资料.docx
《汕头大学应用密码学期末复习资料.docx》由会员分享,可在线阅读,更多相关《汕头大学应用密码学期末复习资料.docx(18页珍藏版)》请在冰豆网上搜索。
汕头大学应用密码学期末复习资料
2019年汕头大学应用密码学期末复习资料
(本次考试题型全部是问答题,有的题中包含计算,无选择填空,共八道大题)
PS:
本复习资料仅代表2019年考试内容,老师年年会微调考试内容,但大体方向不变。
本资料删去无用内容,所有出现的内容均为重点,基本涵盖了所有内容。
资料由往年师兄师姐的精华加以整理,内容以老师PPT为主,加本人的考后整理增加部分复习要点。
第一章概述
信息安全的目标和背景,为什么要学密码学?
密码学是信息安全学科的核心,密码学就是研究与信息安全相关方面诸如保密性、完整性、实体鉴别、抗抵赖性的数学理论与技术。
信息安全的三个基本目标(考题):
保密性:
消息能够被安全地传送,即窃听者不能阅读发送的消息
完整性:
消息的接收者应该能够验证正在传递的消息过程中有没有被修改,入侵者不能用假消息代替合法的消息。
可用性:
即保证信息和信息系统随时为授权者提供服务,而不要出现非授权者滥用却对授权者拒绝服务的情况
信息安全技术产生的前提(考题):
不可靠的网络传输
阐述古典密码学中的两种主要技术以及公钥密码学思想。
答:
代换(Substitution)和置换(Permutation)是古典密码学中两种主要的技术。
代替技术就是将明文中每一个字符替换成另外一个字符从而形成密文,置换技术则是通过重新排列明文消息中元素的位置而不改变元素本身从而形成密文。
公钥密码的思想:
密码系统中的加密密钥和解密密钥是可以不同的。
由于并不能容易的通过加密密钥和密文来求得解密密钥或明文,所以可以公开这种系统的加密算法和加密密钥,用户则只要保管好自己的解密密钥。
密码算法的安全性(考题)
无条件安全:
无论破译者有多少密文,给出无限的资源,他也无法解出对应的明文。
计算上安全:
破译的代价超出本身的价值,破译的时间超出了信息的有效期。
对称密码又可以分成:
流密码和分组密码
分组密码每次对一块数据(Block)加密
流密码每次对一位或一字节加密
第二章数论基础
1.掌握Euclid辗转相除法
2.解一次同余计算式
(不会单独出一道题考你,会整合在RSA那章中出现,两个方法都必须掌握)
(a,b)即表示求a,b的最大公约数
计算实例如下图
解一次同余式
若(a,m)=1,则一次同余式ax≡b(modm)有唯一解
第三章古典密码学
(该部分内容需要了解,但不会考,可以帮助你理解后面的维吉妮亚算法)
1.简述密码分析者对密码系统的四种攻击。
答:
密码分析者对密码系统的常见的攻击方法有:
1)唯密文攻击:
攻击者有一些消息的密文,这些密文都是采用同一种加密方法生成的。
2)已知明文攻击:
攻击者知道一些消息的明文和相应的密文。
3)选择明文攻击:
攻击者不仅知道一些消息的明文和相应的密文,而且也可以选择被加密的明文。
4)选择密文攻击:
攻击者能选择不同的被加密的密文,并得到对应的明文。
1)几种典型的单表密码体制
单表密码体制:
如果明文中不同的位置的同一明文字母在密文中对应的密文字母相同,则称其为单表密码体制。
代表性的单表密码
1-1加法密码算法,又称移位密码算法,容易受唯密文攻击
1-2乘数(multiplicative)或乘法密码,m=26,a-1是a的乘法逆元C是密文,P是明文,转换函数E(X)明文转密文,D(X)密文转明文
1-3仿射(affine)密码
密钥短语(KeyWord)密码:
是一种以单词为密钥的换字表
移位密码、乘数密码、仿射密码算法都是替换密码的特例
单表替换密码分析:
2)利用语言的统计特性
频率特征:
偏用现象,频数,使用频率
连接特征:
后连接:
q…u、前连接:
x的前面总是i,e很少是o和a、间断连接:
在e和e之间,r的出现频率最高;
重复特征:
两个字符以上的字符串重复出现的现象,叫做语言的重复特征。
多表密码体制
如果明文中不同的位置的同一明文字母在密文中对应的密文字母不同,则称其为多表密码体制。
维吉尼亚密码(考题,解释何为维吉妮亚算法,如何破解维吉妮亚算法)
维吉利亚密码,要懂加密和解密方法,看特性求最可能的长度是多少。
Kasiski测试法(重码分析法):
(用的就是重码测试和重合指数来分析的密文的,本人在考试的时候忘了这两个名字谁对应谁,都是重开头的难免搞混,这里内容有限,请自行看PPT理解破解过程)
间距是密钥长度整数倍的相同子串有相同密文。
密文中两个相同的子串对应的明文相同的可能性很大.
偶然重复和真重复
概念:
Vigenere是一种多表加法代替密码!
(本人考试的时候用了100个字来解释这句话)
重合指数
重合指数为数学计算用的函数的一种,用于计算密文中选中两个相同字母的概率。
能够分析密码,是否是单表加密还是多表加密,IC为0.0385时更接近维吉尼亚加密,根据维吉尼亚密码可以进行密钥分析破解,当IC接近0.0687的时候即破解成功。
记为IC,英语文章的IC=0.0687
第四章现代密码学的应用PGP(考题)
对称与非对称加密的区别
对称加密:
加密解密使用密钥相同,加密解密速度快,明文长度通常大于或等于密文长度,主要用于加密解密,不可用于数字签名。
不对称加密:
加密解密使用密钥不相同,加密解密速度慢,明文长度通常小于密文长度,主要用于加密解密,数字签名等。
解释对称密码体制和公钥密码体制,并阐述这两种密码体制的优缺点?
对称密码体系:
对称密码体系的的优点是算法处理速度快,适合于加密大量数据。
缺点是密钥的分配与管理复杂:
密钥量大,容易泄漏。
安全强度弱于公钥密码体制。
公钥密码体制(考题):
公钥密码体制:
加密和解密使用不同的钥匙,从一个钥匙推出另一个钥匙在计算上不可行,每个钥匙都可以做加密和解密。
优点是密钥分发、管理方便;密钥量少;支持数据签名,安全强度高于对称密码体系。
缺点是算法复杂、处理速度慢。
适于加密少量数据和分配对称密码体系的密钥。
现代密码学应用的范例——PGP(电子邮件在传输中使用的SMTP协议)
PGP使用了对称加密和不对称加密的方法,为什么将不对称和对称加密整合在一起?
PGP使用的主要的对称加密算法是:
DES\AES\TWOFISH
PGP使用的主要不对称加密算法是:
RSA\DH
不对称和对称整合在一起:
1保持了对称加密算法速度快的特点
2同时具有公钥算法密钥分配方便的特点。
PGP工作原理(考题)
第一步,数字签名。
用SHA-1算法生成电子邮件信息的消息摘要,然后将生成的消息摘要用发送方的私钥加密,形成发送方的数字签名。
第二步,压缩。
用ZIP程序压缩输入消息和数字签名,减少要传输的最终消息长度。
第三步,加密。
用对称密钥将第二步的压缩输出加密。
第四步,数字信封。
用接收方的公钥加密第三步加密所用的对称密钥。
第五步,64进制编码。
对第四步的输出进行64进制编码。
PGP加密流程(考题)
PGP解密流程:
(考题)
数字签名的原理和作用分别是什么?
(考题)
答:
数字签名的原理是:
利用Hash函数计算数据消息摘要;利用发送方的私钥加密该摘要;将该加密的摘要与原文一起发送,接收方对其进行验证,判断其真伪;
数字签名的作用是:
防止对电文的否认与抵赖,发现攻击者对电文的非法篡改,保护数据完整性。
【基于Hash数字签名方案的验证:
签名和原始文件可以分开处理,验证算法需要文件的Hash值,而无须直接指导原始文件的内容。
】
PGP数字签名为什么和hash函数一起使用?
HASH函数:
MD5,SHA1
如果直接对明文进行数字签名将会速度非常慢,并且会生成大量的数据。
对明文使用一种hash函数,产生特定长的数据,称为消息摘要,PGP使用签名算法对消息摘要进行签名,PGP将签名和明文一同传输。
这样签名的速度加快了,而且只会产生少量的数据。
PGP解决了什么问题?
PGP的功能:
1消息加密(被人偷看,发错地址)
2数字签名(无法确认来源)
3完整性确认(无法确认是否被篡改)
4数据压缩(使用PKZIP算法压缩处理后编码密文比明文更短,信息更加杂乱无章,对攻击的抵御能力更强)
公共密钥分发的证明有多少种模型?
为什么这很重要?
模型:
①金字塔模型②直接信任模型③信任网络模型(间接信任)
因为:
如果没有信任模型,公钥可能被伪造,如果C通过假冒的公钥窃听或者篡改A和B通信,就有可能造成损失和损害。
PGP中的私钥保护
私钥应该存放在本地,并且用口令进行加密保存
第五章对称密码体系
AES对称的分组密码也称为块密码
分组密码的填充与模式(考题)
一个AES块是16字节(128位)如果分块数据长度不足就需要填充
分组密码运行模式主要有哪几种?
并简要说明什么是CBC模式?
(考题记住两个就好\CBC)
答:
分组密码的运行模式主要有四种:
电子密码本ECB模式、分组反馈链接CBC模式、密文反馈链接CFB模式和输出反馈链接OFB模式。
在CBC模式下,明文被加密前要与前面的密文进行异或运算后再加密,因此只要选择不同的初始向量,相同的明文加密后会形成不同的密文,这是目前应用最广泛的模式。
CBC加密后的密文是上下文相关的,但明文的错误不会传递到后续分组,但如果一个分组丢失,后面的分组将全部作废(同步错误)。
ECB电子密码本模式:
特点:
简单、有利于并行计算、误差不会被传递、可能对明文进行主动攻击、安全性不高。
CBC模式,密码分组链接
特点:
不容易主动攻击,不利于并行计算,误差传递,需要初始向量IV,安全性好于ECB,适合传输长度长的报文
CFB密码反馈模式
OFB输出反馈模式
流密码(理解线性反馈的概念,如何产生随机流,理解特征多项式的作用)
随机位的测试(考题,三种都考,本人只记住了两种,以为够用了,没想到考了3个)
1.单个位测试,计算流中1或者0的个数。
2.连续串测试。
3.扑克牌测试。
第六章单向散列函数
(本章为本人失算的一章,事前只记住了性质,结果考了一道大题+3小问)
性质(考题)
实现数据的完整性(真实性)构造指纹函数
性质一:
该指纹函数要能处理不同长度的数据(甚至任意长度)
性质二:
该指纹函数的输出(数据指纹)长度要固定
性质三:
该指纹函数的计算应该方便快捷。
性质四:
该指纹函数的计算具有单向性。
性质五:
给定一个消息,要找到另一个消息的指纹与给定消息的指纹的一致,是不可能的。
性质六:
找到任意两个的指纹一致的消息,是不可能的。
(包含五)
该指纹函数记为h(x),具有以下的性质:
h(x)的输入x为任意长度
h(x)的输出长度固定
h(x)的计算方便快捷
h(x)的计算具有单向性
对于给定x,找到y<>x,且h(y)=h(x)在计算不可行
找到一对数(x,y),h(x)=h(y)在计算上不可行(包含5)
单向散列函数如何验证签名过程(考题)
如何攻击单向散列函数(考题)
请自行从ppt中寻找答案
第七章不对称加密RSA(会生成和加密和解密攻击和破解)
(考题,最重要的一章,分值最大的一章,也是本人最遗憾的一章,本人在考前逆元算的66的,到考试中,老师要求自行选择素数进行计算!
我找了最简单的3,5,7,11,每次算出来的私钥和公钥都是重复一样的,这里建议大家事先准备一组素数计算公钥私钥,加解密破解过程,考试直接默写。
)
公钥密码的特性
特性一:
加密和解密使用不同的钥匙
特性二:
从一个钥匙推出另一个钥匙在计算上不可行
特性三:
每个钥匙都可以做加密和解密
用途:
可以用于签名
Euler函数
RSA生成步骤:
RSA的缺点:
受到素数产生技术的限制,产生密钥很麻烦。
分组长度太大,为保证安全性,n至少也要600比特以上,使运算代价很高,尤其是速度较慢;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。
攻击RSA(考题)
2)暴力攻击,计算上不可行
3)数学攻击
RSA的安全性基于什么?
(考题)
DH密码(Diffie-Hellman密钥交换)(必考考题,有问答有考生成过程)
Ø请具体阐述使用Diffie-Hellman协议产生一个会话密钥的具体过程(考题)。
步骤如下:
已知p、g
(1)爱丽丝选择一个大的随机数x,使得
(2)鲍勃选择另一个大的随机数y,使得
。
(3)爱丽丝发送R1给鲍勃。
注意,爱丽丝不发送x的值,只发送R1。
(4)鲍勃发送R2给爱丽丝。
也要注意,鲍勃不发送y的值,只发送R2。
(5)爱丽丝算出
。
(6)鲍勃也算出
。
K是会话的对称密钥。
中间人攻击(考题):
这种攻击从一端加密,在另一端解密,在中间匹配结果。
第一步:
P1和P2通过DH算法加密进行通信,P3(中间人)在监听他们,首先得到n和g值。
第二步:
P1选择X1的值,P2选择Y2的值,P3选择X3和Y3的值,不必和相应的X1和Y2相同。
第三步:
P1计算A1的值,P2计算B2的值,P3计算A3和B3的值。
第四步:
P3截获P1和P2相互发的A1和B2,然后将A3发给P2,B3发给P1。
第五步:
P1计算密钥K11,P2计算K22,P3计算K31和K32,而其中K11=K32,K22=K31。
第六步:
P3截获P1发的信息,用K32解密后阅读,再通过K31加密后发给P2。
而P1和P2根本不知道有P3在监听而以为是他们两个直接在通信。
很高兴你复习到了最后,里面所有标注考题的都是当年考试的原题真题,本人在考后第一时间对考试复盘,如果你得到了这份文档,希望你分享给你的同学,说不定他也正在苦恼该如何复习。
不过你以为考试到这里就结束了吗?
其实还有最后一题,老师的友情赠送题(12分),就是设计一套安全方案,题目来自最后一次实验,如果能够提前准备,考试的时候默写,岂不妙哉。
.