- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试题一(共 20 分) 【说明】
密码编码学是研究把信息 (明文)变换成没有密钥就不能解读或很难解读的密文的方法, 密码分析学的任务是破译密码或伪造认证密码。
【问题 1】( 10 分)
通常一个密码系统简称密码体制,请简述密码体制的构成。
密码体制由以下五个部分组成:
(1 )明文空间M :全体明文的集合。
( 2)密文空间 C :全体密文的集合。
加密算法E: —组明文 M到密文C的加密变换。
解密算法D: —组密文C到明文M的加密变换。
密钥空间K :包含加密密钥和解密密钥的全体密钥集合。
【问题 2 】( 3 分)
根据所基于的数学基础的不同,非对称密码体制通常分为( 1)、(2)、(3)。
( 1 )基于因子分解。
( 2 )基于离散对数。
( 3)基于椭圆曲线离散对数。
【问题 3】(2 分)
根据密文数据段是否与明文数据段在整个明文中的位置有关, 可以将密码体制分为 (4)
体制和( 5)体制。
( 4)分组密码。
( 5)序列密码。
【问题4】(5 分)
在下图给出的加密过程中,(1,2 ,)表示明文分组,(1 ,2)表示密文分组,K表示密钥,
E表示分组加密过程。该分组加密过程属于哪种工作模式?这种分组密码的工作模式有什么
缺点?
该加密过程属于的密文链接方式。
的密文链接方式下:加密会引发错误传播无界,解密引发错误传播有界。不利于并行计算。
拓展:密码分组链接模式()可以分为密文链接方式和明密文链接方式。
(1) 的密文链接方式。
密文链接方式中,输入是当前明文组与前一密文组的异或。 的密文链接方式下:加密会引发
错误传播无界,解密引发错误传播有界,不利于并行计算。
(2) 的明密文链接方式。
明密文链接方式中, 输入是前一组密文和前一组明文异或之后, 再与当前明文组异或。 的明
密文链接方式下:加密和解密均会引发错误传播无界。
试题二(共15分)
【说明】
是典型的非对称加密算法,该算法基于大素数分解。核心是模幕运算。利用密码可以同
时实现数字签名和数据加密。
【问题 1】( 3 分)
简述的密钥生成过程。
选出两个大质数p和q,使得p刊
计算px
计算 0 (n)=(1) x (1)
选择e,使得1e(1) x (1),并且e和(1) x 1)互为质数
计算解密密钥,使得 1 (1) x(1)
公钥, n
私钥, n
公开 n 参数, n 又称为模
消除原始质数 p 和 q
【问题 2 】( 4 分)
简述的加密和解密过程。
设定 C 为密文, M 为明文:
加密:
n
解密:
n
【问题 3 】( 4 分)
简述的数字签名过程。
设 M 为明文, M 的签名过程为:
阅读下面程序,回答问题
阅读下面程序,回答问题 1至问题3。
签名:
验证签名:()e n
【问题4】(4分)
在中,已获取用户密文 10,该用户的公钥5 , 35,求明文M。
5
解:已知35,得到p和q分别为5和7;
计算 0(n) =(1) X (1)=24
已知公钥5,又由于私钥d满足1 (1) X (1),因此5
明文 105 35=5
试题三(英10分)
【说明】
void functiOA(€har
( charbufifet{16]# vtrcpyfbufi刼曲I
}
vwd main()
{
nut,
char buffej|i28J, fbc(i=04l 27.1++) bufiafij ^A: bufiferl】27HX fiwcii(in(buffer)# 话甘 test\n*T)#
i
j
【问题1】(3分)
上述代码能否输出“ a ” ?上述代码存在什么类型的隐患?
不能。(1分)
TOC \o 1-5 \h \z 代码存在缓冲区溢出错误。 (2分)
【问题2】(4分)
造成上述隐患的原因是?
(2 分)(1) ()函数将长度为128字节的字符串拷贝到只有 16
(2 分)
(2) ()函数进行字符串拷贝时,没有进行缓冲区越界检查。 (2分)
【问题3】(3分)
给出消除该安全隐患的思路。
防范缓冲溢出的策略有:
?系统管理防范策略:关闭不必要的特权程序、及时打好系统补丁。 ( 1分)
C语言函数库、程序指针完
C语言函数库、程序指针完
整性检查、堆栈向高地址方向增长等。 (
整性检查、堆栈向高地址方向增长等。 (2分)
试题分析
C语言程序在内存中分为三个部分: 程序段、数据段和堆栈。程序段里存放程序的机器码和
只读数据;数据段存放程序中的静态数据;动态数据则通过堆栈来存放。在内存中,它们的
位置如下图所示。
下图中可以看到执行()函数前后的堆栈情况。
程序执行()函数完毕时,由于缓冲区溢出,子程序的返回地址被覆盖,变成了
0的码表示,A的码为0x41 )。因此无法执行 (” a \n
文档评论(0)