第一二章作业
1.信息安全的四个目标是什么
1)机密性
2)完整性
3)认证性
4)不可否认性
2.密码学的定义是什么
密码学是一门涉及数学,计算机信息科学的综合学科,是编码学和密码分析学的统称。
3.密码体制由哪五部分组成?安全性通常由哪部分决定?
明文.密文.加密算法.解密算法.密钥 五部分组成
安全性通常由密钥决定。
4.根据密钥的使用情况的不同,密码体制通常分为哪两类?
对称密码体制和非对称密码体制
第三章作业
即 字母转数字时:先转数字,再按通常情况下的数字转化-1
数字转字母时:先按通常情况下数字+1,再转字母
题目:
1.希尔(Hill)密码
加密密钥为一个nxn的非奇异矩阵,解密密钥为这个矩阵的逆矩阵。
逆矩阵的求法:
先求矩阵A的伴随矩阵
注意:伴随矩阵是(-1)^(i+j)x代数余子式,最后再对这个矩阵求转置
再用伴随矩阵除以|A|得到逆矩阵
注意:因为后面有mod26 所以任意除法都可以看做分子分母同时乘分母的逆元(mod26),这样就可以把除法化成乘法。
加密就是用英文字母转化为对应数字然后乘以矩阵即可
2.早期密码学主要是通过字符的哪两种操作实现的?
换位 和 代换
3.周期置换密码
加密密钥为(1 5 6 2 3) 解密密钥则为(3 2 6 5 1)
具体解释为原字符串第一个字母放在第五个位置
原字符串第五个位置放在第六个位置
...
原字符串第三个位置放在第一个位置
4.移位密码
加密密钥为k=x
即将原字符串字母转化为数字之后,再加上密钥k 模 26 得到的数字转化为字母即为加密后的密文
5.仿射密码
加密密钥为(p,q)
加密方式为 字母转数字后得到x
s=(x×p+q) mod 26
解密密钥为 (y,q)
y=3 mod 26的逆元
解密时就用 (s-q)×y mod26即为解密密文
6.维吉尼亚密码
加密密钥为一串数字
先将字母转化为数字,再将其分组,分组长度为加密密钥数字的长度,再将其进行移位密码处理
例如:
明文 | A | B | C |
---|---|---|---|
加密密钥 | X | Y | Z |
密文(mod26) | A+X | B+Y | C+Z |
第四章作业
分组密码是一类对称密码
1.分组密码的设计要实现哪两个目标?
扩散和混乱
2.分组密码算法的非线性性质主要有哪部分实现?
S盒。S盒是许多算法唯一的非线性部件,它的密码强度直接决定了整个算法的安全强度。
S变换(代替)
S盒起到混乱的作用
,P盒起到扩散的作用
3.雪崩效应
雪崩效应指的是输入(明文或密钥)即使只有很小的变化,也会导致输出产生巨大的变化现象。
4.DES的S3盒的输入是101101,求输出
b1b2b3b4b5b6=101101
行对应b1b6=11=3
列对应b2b3b4b5=0110=4
所以对应S3盒的3行6列
注意:S盒的行和列都是从0开始计数的。
5.DES面临哪些攻击
穷搜索攻击
线性分析
差分分析
6.DES和AES的分组长度是多少?有效密钥长度呢?
DES的分组长度:64位 密钥长度:56位
AES的分组长度:128比特 密钥长度:可为128,192,256比特
7.除了子密钥异或,DES的一轮迭代还包含哪三种操作?
选择拓展运算和选择压缩运算
8.写出DES一轮迭代的算法表达式,并画出一轮迭代的框图。
9.画出AES的加密算法框图
10.AES一轮迭代主要包含哪四种操作?
轮密钥加 字节代换 行位移 列混淆
11.DES是面向比特的操作,那AES呢?
AES是面向字节的操作
第五章作业
1.反馈移位寄存器主要包括哪两个部分?
是由 n位的寄存器
和 反馈函数
组成的
2.序列密码(流密码)的安全强度主要取决于什么
密钥流的随机性
3.
4.n级线性反馈移位寄存器寄存器能够生成的序列最大周期是多少
2^n -1
5.用BM算法破译n级线性反馈移位寄存器,需要已知多长的密钥流?
2n
第六章作业
1.哈希函数是用来做什么的?
哈希函数的这种单向特征和输出数据的长度固定的特征使得它可以生成消息或其他数据块的“数据指纹”,因此在数据完整性认证和数字签名等领域有广泛的应用,在现代密码学中起着重要作用。**
2.什么是哈希函数的单向性?
单向性指的是从一个明文到密文的不可逆映射,即只有加密过程,不能解密。
3.什么叫哈希函数的抗弱碰撞性和抗强碰撞性?
抗弱碰撞性:
对于给定的消息M1,要发现另一个消息M2,满足H(M1)=H(M2)在计算上是不可行的。**
抗强碰撞性:
找任意一对不同的消息M1,M2,使H(M1)=H(M2),在计算上是不可行的。**
4.MD5和SHA1分别产生多长的哈希值?
MD5:128比特
SHA1:160比特
5.MD5和SHA1将消息分成多长的消息分组?
512位
6.生日悖论和集合相交问题是用来攻击什么的?
哈希函数
第七章作业
1.什么叫做陷门单向函数?
2.RSA算法、EIGamal算法和ECC算法的安全性分别依赖于什么数学困难问题?目前安全的密钥长度至少是多少比特?
RSA算法:大整数因子分解的困难性。
ElGamal算法:求解有限域上的离散对数问题的困难性
ECC算法:基于椭圆曲线上的离散对数问题的难解性。
目前的安全密钥至少为256位
3.RSA算法和ElGamal
RSA算法:
1)参数:
选定两个大素数p,q
n=pxq
f(n)=(p-1)(q-1)
随机选一个数字e,满足e和f(n)互素
计算d=emodf(n)的逆元
则公钥为(e,n) 私钥为d
可以销毁p,q
2)加解密:
要加密消息m,则计算c=m^e mod n
若要解密消息c,则计算m=c^dmod n
ElGamal算法:
1)参数:
选定一个大素数p
g
为Zp的生成元
随机选一个数x
小于p
计算y=g^x mod p
则公钥为(p,y,g),密钥为x
2)加解密:
首先选择一个数k 令k小于p-1
c1=g^k mod p
c2=m×y^k mod p
则密文为(c1,c2)
解密时用私钥计算
m=c2(c1^x)^-1 modp
4.数域筛法和指数积分法分别是用来攻击什么的?
RSA 和 ElGamal
5.相对于对称密码,非对称密码的优缺点?
**优点:**
密钥分发简单
需秘密保存的密钥量减少
可以满足互不认识的人之间的私人谈话的保密性的要求
可以实现数字签名和认证
**缺点:**
公钥密码算法比对称密码算法慢
公钥密码算法提供更多的信息对算法进行攻击
有数据拓展
公钥密码算法一般建立在对一个特定的数学难题的求解上,这种困难往往只是一种设想
第八章作业
1.数字签名的用途
数字签名是利用数学方法和密码算法对该电子文档进行关键信息提取并进行加密而形成的.
2.数字签名与手写签名的不用之处
3.一个普通的数字签名方案由哪五部分构成
**P.S,K,Sig,Ver**
P:明文空间 S:签名空间 K:密钥空间 Sig:签名算法 Ver:验证算法
4.数字签名方案应用哈希函数的优点是什么
可以增强安全性
RSA 签名方案和 ElGamal签名方案
第九章作业
1.一个三层的密钥层次结构里密钥分为哪三层?
1)会话密钥
2)密钥加密密钥
3)主密钥