试题一(共20分)
【说明】
密码编码学是研究把信息(明文)变换成没有密钥就不能解读或很难解读的密文的方法,密码分析学的任务是破译密码或伪造认证密码。
【问题1】(10分)
通常一个密码系统简称密码体制,请简述密码体制的构成。
密码体制由以下五个部分组成:
(1)明文空间M:全体明文的集合。
(2)密文空间C:全体密文的集合。
(3)加密算法E:一组明文M到密文C的加密变换。
(4)解密算法D:一组密文C到明文M的加密变换。
(5)密钥空间K:包含加密密钥K e和解密密钥K d的全体密钥集合。
【问题2】(3分)
根据所基于的数学基础的不同,非对称密码体制通常分为(1)、(2)、(3)。
(1)基于因子分解。
(2)基于离散对数。
(3)基于椭圆曲线离散对数。
【问题3】(2分)
根据密文数据段是否与明文数据段在整个明文中的位置有关,可以将密码体制分为(4)体制和(5)体制。
(4)分组密码。
(5)序列密码。
【问题4】(5分)
在下图给出的加密过程中,m i(i=1,2,...,n)表示明文分组,c i(i=1,2,...,n)表示密文分组,K表示密钥,E表示分组加密过程。该分组加密过程属于哪种工作模式?这种分组密码的工作模式有什么缺点?
该加密过程属于CBC的密文链接方式。
CBC的密文链接方式下:加密会引发错误传播无界,解密引发错误传播有界。CBC不利于并行计算。
拓展:密码分组链接模式(CBC)可以分为密文链接方式和明密文链接方式。
(1)CBC的密文链接方式。
密文链接方式中,输入是当前明文组与前一密文组的异或。CBC的密文链接方式下:加密会引发错误传播无界,解密引发错误传播有界,CBC不利于并行计算。
(2)CBC的明密文链接方式。
明密文链接方式中,输入是前一组密文和前一组明文异或之后,再与当前明文组异或。CBC 的明密文链接方式下:加密和解密均会引发错误传播无界。
试题二(共15分)
【说明】
RSA是典型的非对称加密算法,该算法基于大素数分解。核心是模幂运算。利用RSA密码可以同时实现数字签名和数据加密。
【问题1】(3分)
简述RSA的密钥生成过程。
选出两个大质数p和q,使得p≠q
计算p×q=n
计算φ(n)=(p-1)×(q-1)
选择e,使得1<e<(p-1)×(q-1),并且e和(p-1)×(q-1)互为质数
计算解密密钥,使得ed=1 mod(p-1)×(q-1)
公钥=e,n
私钥=d,n
公开n参数,n又称为模
消除原始质数p和q
【问题2】(4分)
简述RSA的加密和解密过程。
设定C为密文,M为明文:
加密:
C=M e mod n
解密:
M=C d mod n
【问题3】(4分)
简述RSA的数字签名过程。
设M为明文,M的签名过程为:
签名:M d mod n
验证签名:(M d)e mod n
【问题4】(4分)
在RSA中,已获取用户密文C=10,该用户的公钥e=5,n=35,求明文M。
M=5
解:已知n=35,得到p和q分别为5和7;
计算φ(n)=(p-1)×(q-1)=24
已知公钥e=5,又由于私钥d满足ed=1mod(p-1)×(q-1),因此d=5
明文M=C d mod n=105 mod 35=5
试题三(英10分)
【说明】
阅读下面程序,回答问题1至问题3。
【问题1】(3分)
上述代码能否输出“This is a test”?上述代码存在什么类型的隐患?
不能。(1分)
代码存在缓冲区溢出错误。(2分)
【问题2】(4分)
造成上述隐患的原因是?
(1)function()函数将长度为128字节的字符串拷贝到只有16字节的缓冲区中去。(2分)(2)strcpy()函数进行字符串拷贝时,没有进行缓冲区越界检查。(2分)
【问题3】(3分)
给出消除该安全隐患的思路。
防范缓冲溢出的策略有:
·系统管理防范策略:关闭不必要的特权程序、及时打好系统补丁。(1分)
·软件开发的防范策略:正确编写代码、缓冲区不可执行、改写C语言函数库、程序指针完整性检查、堆栈向高地址方向增长等。(2分)
试题分析
C语言程序在内存中分为三个部分:程序段、数据段和堆栈。程序段里存放程序的机器码和只读数据;数据段存放程序中的静态数据;动态数据则通过堆栈来存放。在内存中,它们的位置如下图所示。
Function()函数将长度为128字节的字符串拷贝到只有16字节的缓冲区中去;而调用
strcpy()函数进行字符串拷贝时,没有进行缓冲区越界检查。
下图中可以看到执行function()函数前后的堆栈情况。
程序执行function()函数完毕时,由于缓冲区溢出,子程序的返回地址被覆盖,变成了0x41414141(AA
AA的ASCII码表示,A的ASCI码为0x41)。因此无法执行print("This is a test\n")语句。此时,返回地址已经不正常,也无法预计会执行什么指令。
试题四(送15分)
【说明】
某公司通过PIX防火墙接入Internet,网络拓扑如下图所示。
在防火墙上利用show命令查询当前配置信息如下:
PIX#show config
nameif eth0 outside security0
function怎么记忆nameif eth1 inside security 100
nameif eth2 dmz security 40
fixup protocol (1)
fixup protocol http 80
ip address outside 61.144.51.42 255.255.255.248
ip address inside 192.168.0.1 255.255.255.0
ip address dmz 10.10.0.1 255.255.255.0
global(outside)1 61.144.51 .46
nat (inside)1 0.0.0.0 0.0.0.0
route outside 0.0.0.0 0.0.0.0 61.144.51.45 1(2)
【问题1】(4分)
解释(1)、(2)处画线语句的含义。
(1)启用FTP服务(2分)
(2)设置eth0口的默认路由,指向61.144.51.45,且跳步数为1(2分)
【问题2】(6分)
根据配置信息填写以下表格。
(3)192.168.0.1(1.5分)
(4)255.255.255.248(1.5分)
(5)eth2(1.5分)
(6)10.10.0.1(1.5分)
【问题3】(2分)
根据所显示的配置信息,由inside域发往Internet的IP分组在到达路由器R1时的源IP 地址是(7)。
(7)61.144.51.46
【问题4】(3分)
如果需要dmz域的服务器(IP地址为10.10.0.100)对Internet用户提供Web服务(对外公开IP地址为61.
144.51.43),请补充完成下列配置命令。
PIX(config)#static(dmz,outside)(8) (9)
PIX(contig)#conduit permit tcp host(10)eq
(8)61.144.51.43(1分)
(9)10.10.0.100(1分)
(10)61.144.51.43(1分)
试题分析
Fixup命令可以启用或者禁止特定的服务、协议。
题干出现的PIX配置语句含义解释如下:
PIX#show config
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论