简答题及计算题
1.RSA算法中n=11413,e=7467,密文是5859,利用分解11413=101×113,求明文。
解:n?p?q?101?113?11413
?(n)?(p?1)(q?1)?(100?1)(113?1)?11088
显然,公钥e=7467,满足1<e<?(n),且满足gcd(e,?(n))?1,通过公
式d?e?1mod11088求出
d?e?1mod?(n)?3, 由解密算法m?cdmodn得m?cdmodn?58593mod11413?1415
2.用C语言编写欧几里德算法的程序。 #include
unsigned int Gcd( unsigned int M, unsigned int N ) {
unsigned int Rem; while( N > 0 ) {
Rem = M % N; M = N; N = Rem; }
return M; }
void main() {
int temp; int a,b;
scanf(\ scanf(\
printf(\ printf(\ }
3.用欧几里德算法计算gcd(1024,888)。
1024=888*1+136 gcd(888,136) 888=136*6+72 gcd(136,72) 136=72*1+64 gcd(72,64) 72=64*1+8 gcd(64,8) 64=8*8+0 gcd(8,0) gcd(1024,888)=8
1
4.利用欧拉定理可简化大指数的幂运算,计算21000 000 mod99 gcd(2,99)=1
φ(99)=φ(9*11)=φ(32*11)=9*(1-1/3)*11=66 1000000=16666*60+40
000
21000 mod99≡216666*60+40 mod99≡344mod99≡672mod99≡34
mod99≡240
mod99≡10244
5.设Z2[x]的两个元a(x)=2x4+2,b(x)=x5+2,求gcd[a(x),b(x)]=g(x),并找出s(x),t(x)使g(x)=s(x)a(x)+t(x)b(x)。
x5+2≡2x(2x4+2)+(2x+2) 2x4+2≡(x3+2x2+x+2)(2x+2)+1
1≡2x4+2-(x3+2x2+x+2)(2x+2)
≡2x4+2-(x3+2x2+x+2)[(x5+2)-2x(2x4+2)]
≡(2x4+4x3+2x2+4x+1)(2x4+2)+(2x3+x2+2x+1)(x5+2) ≡(2x4+x3+2x2+x+1)(2x4+2)+(2x3+x2+2x+1)(x5+2) 所以,g(x)=1,s(x)=2x4+x3+2x2+x+1,t(x)=2x3+x2+2x+1。
6.(韩信点兵问题)有兵一队,若列成五行纵队,则末行一人;成六行纵队,则末行五人;成七行纵队,则末行四人;成十一行纵队,则末行十人,求兵数。 x≡1mod5 x≡5mod6 x≡4mod7 x≡10mod11
m1 =5, m2 =6, m3 =7, m4 =11 a1 =1, a2 =5, a3 =4, a4 =10 M=5*6*7*11=2310
M1 =6*7*11=462, M2 =5*7*11=385, M3 =5*6*11=330,M4 =5*6*7=210 Mb≡1modm
462b1≡1mod5 b1≡3mod5
2
385b2≡1mod6 b2≡1mod6 330b3≡1mod7 b3≡1mod7 210b4≡1mod11 b4≡1mod11
1*3*462+5*1*385+4*1*330+1*10*210≡2111mod2310 兵数2111mod2310。 7.求置换
的逆置换。
6==(1 5 6 8 3 7 4 2)
6的逆==(1 2 4 7 3 8 6 5)
8.用维吉尼亚密码加密明文“please keep this message in secret”其中使用的密钥为“computer”试求其密文。 RZQPMXOVGFWCLQVUGMVYBRJGQDTN
9.题目:已知一下密文是由仿射密码得到的试求其明文。
“FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH” 解答:统计得出:
A:2 I:0 Q:0 Y:1 B:1 J:0 R:8 Z:0 C:0 K:5 S:3 D:7 L:2 T:0 E:5 M:2 U:2 F:4 N:1 V:4 G:0 O:1 W:0 H:5 P:2 X:2
根据统计规律我们猜想R是e加密得到的,D是t加密得到的,因为t,e出现频率较高,得到同余方程组 (4a+b)mod26=17 (19a+b)mod26=13 得到a=6
b=19仿射密码要求gcd(a,26)=1,所以此解错误。
再次猜想R是e加密的得到的,k是t加密得到的,从而得到a=3,b=5,将此解带入密文测试发现k=(3,5)正确,推出解密函数d(y)=9y-19
得到解密结果:
algorithmsarequitegeneraldefinitionsofarithmeticprocesses
3
1.简述SHA1算法。
答:SHA1也叫安全哈希算法(Secure Hash Algorithm)主要适用于数字签名标 准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的 过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。 SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。 2.简述HMAC算法。
答:HMAC是密钥相关的哈希运算消息认证码(keyed-Hash Message Authentication Code),HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。 HMAC引擎提供HMAC运算功能,发挥两方面的作用:
a)验证TPM接受的授权数据和认证数据;
b)确认TPM接受到的命令请求是已授权的请求,并且,命令在传送的过程中没有被改动过。
3.简述序列密码算法和分组密码算法的不同。 序列密码 分组密码 明文长度可以小于1字节,有记忆; 明文分成比较大的块,无记忆; 加密不仅与密钥和明文有关,还与当前每块使用相同的加密函数进行处理; 状态有关,也叫状态密码; 增加记忆模块,形成一种序列密码; 设计关键在于密钥序列产生器,使生成设计关键在于加解密算法,是明文密文的密钥序列尽可能高的不可预测性。 之间的关联在密钥控制下尽可能复杂; 4.简述DES算法中S盒的特点? 答: S盒是DES中唯一的非线性部分,DES的安全强度主要取决于S盒的安全强度。DES中8个S盒,输入均为6位,输出为4位。有以下特点: ①具有良好的非线性,即输出地每一个比特与全部输入比特有关; ②每一行包括所有16种4位二进制。
③两个输入相差1bit比特时,输出相差2bit。
④如果两个输入刚好在中间2个比特上不同,则输出至少有2个比特不同。 ⑤如果两个输入前2位不同而最后2位相同,则输出一定不同。
⑥相差6bit的输入共32对,在这32对中有不超过8对的输出相同。 5.简述AES的子密钥生成过程
答:AES首先将初始密钥输入到一个4*4矩阵中。这个4*4矩阵的每一列的4个字节组成一个字,矩阵4列的4个字依次命名为w[0]w[1]w[2]和w[3]。它们构成了一个以字为单位的数组w。
接着,对w数组扩充40个新列,构成总共44列的扩展密码数组。新列以如下的递归方式产生:
(1) 如果i不是4的倍数,那么第i列由如下等式确定:
w[i]=w[i-4] ⊕w[i-1]
(2) 如果i是4的倍数,那么第i列由如下等式确定: w[i]=w[i-4] ⊕T(w[i-1]) 其中,T是一个复杂的函数。
4
函数T由三个部分组成:自循环、字节代换和轮常量异或,这三部分的作用分别如下:
(1) 字循环:将1个字中的4个字节循环左移1个字节。 (2) 字节代换:对字循环的结果使用S盒进行字节代换。
(3) 轮常量抑或:将前两步的结果同轮常量Rcon[j]进行异或,其中J表示轮
数。
6.简述DES与AES的相同之处
答:①二者的轮函数都是由3层构成,非线性层、线性混合层、子密钥异或,只是顺序不同。
②AES的子密钥异或对应于DES中S盒之间的子密钥异或。
③AES的列混合运算的目的是让不同的字节相互影响,和DES中F函数的输
出与左边一半数据相加也有类似的效果。
④AES的非线性运算是字节代换,对应于DES中唯一的非线性运算S盒。 ⑤行移位运算保证了每一行的字节不仅仅影响其他行对应的字节,而且影响其他行所有的字节,这与DES中置换P相似。
5
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库密码学简答题及计算题在线全文阅读。
相关推荐: