网络安全08试题A卷-2010
- 格式:doc
- 大小:68.50 KB
- 文档页数:5
大 连 理 工 大 学课 程 名 称: 网络安全 试 卷: A 考试形式 闭卷 授课院 (系): 软件学院 考试日期: 年 月 日 试卷共 页1 选择填空题(每空选择一项正确答案, 每空2分, 共30分) (1) φ(N)是N 的Euler 函数, φ(15)的值是 ( ) A )14; B )6; C )8; D )16(2) X = 5 mod 9, X =2 mod 7, X =4mod 19 则X=( ) A )14 B )41 C )32 D )23(3) Diffie-Hellman 协议所协商的会话密钥的保密性质基于( ) A )合数模的二次剩余问题难解;; B )多项式求根问题难解; C )离散对数问题难解 D )因子分解问题难解。
(4) 以下哪个密码方案用于提供数据完整性保证?( ) A )RSA 加密方案; B )ElGamal 加密方案;C )基于MD5的HMAC 方案;D )DES 加密方案。
(5) 以下哪个密码方案可向第三方保证数据完整性?( ) A )对称加密方案;B )消息认证码(如HMAC )方案; C )数字签名方案;D )公钥加密方案。
(6) 以下哪个密码方案只能向协议的参与者保证数据完整性?( ) A )对称加密方案;B )消息认证码(如HMAC )方案; C )数字签名方案;D )公钥加密方案。
(7) 以下关于单字节栈溢出攻击的陈述哪一个正确? ( )姓名: 学号: 院系: 级 班装订线A)既适用于大头机器也适用于小头机器;B)既不适用于大头机器也不适用于小头机器;;C)只适用于大头(big-endian)机器;D)只适用于小头(little-endian)机器;(8) 数字签名方案常需要先对消息进行散列、再对散列值进行签字计算,这时对散列函数有以下要求( )A)抗冒充B)抗泄密C)抗冲突D)抗惟密钥攻击(9) 关于RSA方案y=M e mod N(M是消息)以下哪个断言正确?( )A)该方案无条件保密;B)如果离散对数问题难解, 则该方案保密;C)如果因子分解问题难解, 则该方案保密;D)该方案不能保密(10)入侵检测系统(IDS)按照其识别入侵的方式分为两类A. 基于主机和基于网络的IDSB. 操作系统内核和应用层的IDSC. 基于误用和基于规范(或称基于反常的)IDSD. 基于边界网关和基于非边界网关的IDS(11)以下哪项描述精确适合于公钥加密方案A. 从公钥推断私钥在计算上是困难的B. 从私钥推断公钥在计算上是困难的C. 消息发送方和接收方使用不同的密钥D. 消息发送方和接收方使用相同的密钥(12)数字证书的本质目的在于A. 发布用户的公钥B. 发布用户的身份标识C. 发布用户公钥并以一种可核实的方式将该公钥与其合法持有者的身份标识联系起来.D. 发布用户私钥并以一种可核实的方式将该私钥与其合法持有者的身份标识联系起来.(13) 因子分解问题难解这一事实是指A. 不存在这样一种有效算法, 从给定的任何正整数N计算出N的一个素因子B. 给定任何一个正整数N, 不存在这样一种有效算法从N计算出N的一个素因子C. 不存在这样一种有效算法, 判定给定的任何正整数N是否为一个素数D. 给定任何一个正整数N, 不存在这样一种有效算法判定N是否为一个素数(14) 数字签名方案在实际应用中常常是先用一个(公开约定的函数H)对消息M进行散列, 然后再对散列的结果H(M)进行签字. 这时以下方案不适合作为上面的这类HA. MD5B. SHAC. SHA-1D. H(x)=x的非0位的个数(15) 字典攻击的含义是指:A.根据字典进行攻击B. 在线猜测口令C.根据常识准备候选口令的集合, 并根据记录的协议消息来推断集合中哪些口令可能是真实的口令.D. 根据常识准备候选口令的集合, 并通过主动篡改协议消息以及带来的响应来推断集合中哪些口令可能是真实的口令.2. 问答题(每小题5分,20分)(1)根据检测(识别)入侵的方法不同, 入侵检测系统IDS分为哪两类? 各有什么特点?(2)根据保护目的(或保护对象)不同, 入侵检测系统分为哪两类? 各有什么特点?(3)以下C程序存在一处能导致溢出攻击的缺陷, 请指出该缺陷的位置, 说明理由并说明如何改正(为说明方便, 左面的数字表示行号).①#define MAX_BUFFER_SIZE 256②void routine(char* p){ /*p[]是内容来自外部的字符串*/③int i, x; char *q;④char buffer[MAX_BUFFER_SIZE];⑤q=(char*)malloc(MAX_BUFFER_SIZE);⑥if(q==NULL) return;⑦strcpy(q, p);⑧if( q[strlen(q)-1]>’A’)⑨for(i=strlen(q)-1; i>=0; i--) uppercase(q[i]);⑩free(q);return;}(4) 问题同上, 程序如下:①#define MAX_BUFFER_SIZE 256②void routine(char* p){ /*p[]是来自外部的子符串*/③char buffer[MAX_BUFFER_SIZE];④int i, n;⑤n = strlen(p)<=MAX_BUFFER_SIZE+1 ? strlen(p) : MAX_BUFFER_SIZE;⑥for( i=0; i<n; i++){⑦buffer[i] = p[i];⑧lowercase(p[i]);……}(1) (5分)现有以下公钥加密方案,其中:公钥pk=(e,N,H,G)、N是两个(保密的)素数的乘积,e是和Euler函数φ(N)互素的一个正整数;私钥sk=d,d是满足方程ed=1 mod φ(N)的一个正整数,φ(N)保密。
明文消息M是1到N-1之间的整数,加密算法E(pk, M)如下:计算y = M e mod N;输出密文y;请写出相应的解密算法D(sk, y)。
(2) (10分)证明以上你所给出的解密算法是正确的,即若y=E(pk, M)则必有D(sk, y)=M。
(3) (5分)U#1,U#2,U#3是三个网络用户,都应用以上加密方案, 每个用户分别具有以上加密方案的公开模数N1, N2, N3且这三个模数两两互素, 三个用户的RSA公钥都是3, 即e1=e2=e3=3. 如果某个发送方将一个明文M(0<M<N1, N2, N3)用U#1,U#2,U#3的公钥加密然后将密文y1=M3 mod N1, y2=M3 mod N2, y3=M3 mod N3通过网络分别发送给U#1,U#2,U#3. 设想你截获了以上三个密文, 于是无须知道U#1,U#2,U#3的私钥就可以有效破译出消息M, 为什么?请用明确的算法过程予以说明.(4)(5分)G是q阶循环群,g是G的生成子,q是k位素数;H:{0,1}+→Z q是一个抗冲突的散列函数。
一个签字方案的组成算法如下:公钥/私钥生成算法KG(k, G, g, q):x←$Z q*; y←g-x; vk←y; sk←x; return(vk,sk);公钥和私钥分别是vk和sk。
签名算法Sig H(sk, M)如下, 其中sk=x:K←$Z q; r←g K; h←H(M,r); s←(K+xh)mod q; return(r,h,s);给出验证算法Vf H(vk, M, (r,h,s)), 其中vk=y.(5)(5分)证明以上你给出的算法是正确的.下面是一个基于口令的密钥交换协议,其中g 、p 、H 公开约定,p 是素数、1<g<p 、H 是单向散列函数(例如MD5或SHA/SHA1);E 是对称加密方案的加密算法。
A 、B 通过该协议认证对方的身份并计算出共同的会话密钥K S =)mod ||||||||(p g V U B A H xy 。
A(pw ) pw 是A 、B 共享的口令字 B(pw )随机生成x ;U←g x mod p; A, E(pw , U) 解密出U;随机生成y ; V ←g y mod p;E(pw , V), H(sk B ||10) sk B ←H(A||B||U||V||U ymod p);解密出V;sk A ←H(A||B||U||V||V xmod p);验证消息的第二个分量=? H(sk A ||2);H(sk A ||01)验证该消息=?H(sk B ||1);(1)(5分)协议终止时,A 和B 分别计算出H(sk A ||0)和H(sk B ||0)并以此为其生成的会话密钥,证明H(sk A ||0)=H(sk B ||0);(2)(5分)如果H 不是单向函数而是一个容易计算逆映像的函数,以上协议不能抵抗字典攻击,为什么?(3)(5分)下面的密钥交换协议与上面的协议很相似,但把原来放在密文外面被单独散列的A||B||U||V||g xy mod p 放到密文内部。
写出K m 的算术表达式;B 如何计算出同一个K m ? (4)(5分)修改后的协议并非安全,请给出一条可行的攻击途径.A(pw ) pw 是A 、B 共享的口令字 B(pw )随机生成x ;U←g x mod p; A, E(pw , U) 解密出U;随机生成y ; V ←g y mod p;E(pw , A||B||U||V||U ymod p||10)解密出V; K m ←V x mod p;E(K m , A||B||U||V||V x mod p||01)。