密码学简答题及计算题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简答题及计算题

1.RSA 算法中n =11413,e =7467,密文是5859,利用分解11413=101×113,求明文。

解:10111311413n p q =⨯=⨯=

()(1)(1)(1001)(1131)11088n p q ϕ=--=--=

显然,公钥e=7467,满足1<e <()n ϕ,且满足gcd(,())1e n ϕ=,通过公式1mod11088d e ⨯≡求出1mod ()3d e n ϕ-≡=,

由解密算法mod d m c n ≡得3mod 5859mod114131415d m c n ≡==

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("%d",&a);

scanf("%d",&b);

printf("the greatest common factor of %d and %d is ",a,b); printf("%d\n",Gcd(a,b));

}

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

4.利用欧拉定理可简化大指数的幂运算,计算21000 000 mod99

gcd(2,99)=1

φ(99)=φ(9*11)=φ(32*11)=9*(1-1/3)*11=66

1000000=16666*60+40

21000 000 mod99≡216666*60+40 mod99≡240 mod99≡10244 mod99≡344mod99≡672mod99≡34

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

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

相关文档
最新文档