密码学习题

更新时间:2024-06-23 10:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、 凯撒要和马克。安东尼(Marc Antony)在台伯河(Tiber River)或者在竞技场(Coliseum

arena)安排一次会议,凯撒送去了密文EVIRE,安东尼不知道密钥,他尝试所有的可能。会面地点在哪里?

解:移位密码的加密过程:X|?X+K (mod 26) E V I R E E V I R E 4 21 8 17 4 4 21 8 17 4 R I v e r a r e n a 17 8 21 4 17 0 17 4 13 0 -13 -13 -13 -13 -13 4 4 4 4 4

经验证2处地方都成立,但Coliseum arena的长度为13,暗示密钥长度为13. ∴会面地点在台伯河(Tiber River)

2、 密文UCR是由仿射函数9x+2(mod 26)加密的。求明文。 解:y=9x+2(mod 26)?x=

1(y-2)(mod26). 9*K≡1(mod26)?K=3(为乘法逆元) 9∴x≡3(y-2)=3y-6≡3y+20(mod26)

∴U:3*20+20(mod26) ≡2?c;C:3*2+20(mod26) ≡0?a; R:3*17+20(mod26) ≡19?t ∴明文为:cat

3、 用仿射函数5x+7(mod 26)加密howareyou.。解密函数是什么?并检验。 解:x ≡

1(y-7) (mod26);5K ≡1(mod26)?K=21 5∴x ≡21 (y-7) (mod26) ≡21y+9

4、 选择明文攻击,明文是hahaha,密文是NONONO。确定加密函数。

解:7(h),0(a)分别被映射成13(N),14(O),有如下等式:

7α+β≡13和β≡14(mod 26), 7α≡-1≡25(mod 26)解得α=11。 ∴加密函数为x|?11X+14

5、 密文CRWWZ由模26下的仿射密码加密的,明文以ha开头,解密。(參考2) 解:由已知有:7α+β≡2和β≡17(mod 26),7α≡-15≡11(mod26)解得α=9。 W:9*x1+17≡22(mod26) Z:9*x2+17≡25(mod26)解得x1=15, x2=24 ∴明文为: happy

6、 对明文先用仿射密码加密,再用仿射密码加密,这样做比用一次仿射密码加密有优势吗?why? 解:第一次:x|→α1x+β1 (mod26)

第二次:x|→αx2+β2 (mod26),把αx1+β1 代入得: x|→α2[α1x+β1 (mod26)]+β2 (mod26)

∴x|→α1α2x (mod26)+ α2β1(mod26)+β2 (mod26) ∴x|→α1α2x+ α2β1+β2 (mod26)

∵gcd(α1,26)=1,gcd(α2,26)=1. ∴gcd(α1, α2,26)=1

令α3=α1α2, β3=α2β1+β2 ∴x|→α3x+β3 (mod26)

7、 用模27下仿射密码,有多少可能的密钥?在模29下呢? 解:①x=

1(y-β)(mod27);gcd(α,27)=1?α=1,2,4,5,7,8,10,11,13,14,16,á1(y-β)(mod29);gcd(α,29)=1?α=1,2,3,4,5,6,7,8,…… á17,19,20,22,23,25,26;α*K≡1(mod27) ②x=

8、 用仿射密码加密一消息。令a=0,b=1,…z=25,同时还有?=26, ;=27, “=28,!=29。加密函数是x|→αx+β(mod30),α、β为整数。 a. 对α 刚好有8种可能的选择。 b.用α=10,β=0,找出2个明文字母,它们的密

文字母是相同的。 解:a. x=

1(y-β)(mod30);gcd(α,30)=1?α=1,7,11,13,17,19,23,29 á1b. x=y(mod30);10*K≡1(mod30)?K=????/

10令y=0,则x=3,6,9,…,27

9、 用αX+β加密,但gcd(α,26)=d>1,证明:如果X1=X2+(26/d),那么αX1+β≡αX2+β(mod26)。这说明在这种情况下解密是不唯一的。 解:αx1+β≡α[X2+(26/d)]+ β(mod26)≡αX2+α(26/d)+ β(mod26) ≡αX2+ β(mod26)

X2=

11(y2-β) (mod26) X2+(26/d)=X1=(y1-β) (mod26) áá10、一门语言中只有字母a和b,a出现的频率上0.1,b是0.9。一消息用维吉内尔密码

加密(在模2下)密文是BABABAAABA。

a.证明:密钥的长度可能是2。B.利用字母频率的信息,确定密钥并解密消息。 解:移位,得到相同字母的对数:

原串: B A B A B A A A B A

B A B A B A A A B A 相同字母对数:2 B A B A B A A A B A 相同字母对数:6 B A B A B A A A B A 相同字母对数:2 B A B A B A A A B A 相同字母对数:5 当位移数是2时,相同字母对数最多,∴密钥长度为2。 观察第1,3,5,7,9位: A:1次,B:4次 观察第2,4,6,8,10位:A:5次,B:0次 b?B,密钥第一项为a,b?A,密钥第二项为b。 解密:b b b b b b a b b b

11、一门语言中只有字母a、b、c3个字母,出现的频率分别为0.7,0.2,0.1。密文

ABCBABBBAC是用维吉内尔密码加密的。假设密钥长度为1,2或者3。证明:密钥的长度很可能是2,并确定最有可能的密钥。 解:移位,得到相同字母的对数:

原串: A B C B A B B B A C

A B C B A B B B A C 相同字母对数:2

A B C B A B B B A C 相同字母对数:3 A B C B A B B B A C 相同字母对数:1 当位移数是2时,相同字母对数最多,∴密钥长度为2。 观察第i,i+2,……看哪个字母出现的频率最高。

观察第1,3,5,7,9位: A:3次,B:1次,C:1次 观察第2,4,6,8,10位:A:0次,B:4次,C:1次 a?A,密钥第一项为a;a?B,密钥第二项为B。

解密:a a c a a a b a a b [解密:A=a+?(mod3),B=b+?(mod3);……]

?913?12、密文YIFZMA是通过矩阵??23??的希尔密码加密的,求明文。

???313??913?解:M=??249?? ?23?? ,M-1 = ?????(24 8)???313??=(24x3+8x24 24x13+8x9)(mod26)=(4 20) ??249??313? (5 25) ??249??=(5x3+25x24 5x13+25x9) (mod26)=(17 4)

?? (12 0) ???313??=(12x3 12x13) (mod26)=(10 0) ??249?∴明文为:e u r e k a 注:A为要加密的消息(写成行向量),M为加密矩阵,则加密过程为:AM≡B(mod26) 解密过程为:A=B右乘M的逆(mod26)

13、密文GEZXDS通过2X2矩阵的希尔密码加密得到的,明文是solved,求加密矩阵M。 解:密文:G E Z X D S 6 4 25 23 3 18

明文:s o l v e d 18 14 11 21 4 3

?1121??ab??2523? AM=??43????cd??=??318??mod26

??????A?1=-

151?35??3?21???? (mod26)=?2211?? (-51K=1mod26?K=1) ??411??????35??2523??123?M=??2211????318??mod26≡??112??

??????14、 Eve夺得Bob的希尔密码机,使用的是模26下的2X2矩阵M,她试图用选择明文攻击,发现明文ba加密成HC,zz加密成GT。求M。

解:密文:H C G T 7 2 6 19

明文:b a z z 1 0 25 25 AM=???10??ab??72?1?1?????≡mod26;=A25??????2525??cd??619??250??10????mod26=??251??2525?? ????(注:25K=1(mod26)?K=25)

?10??72??72?M=??2525????619??mod26=??135??

??????15、a.密文ELNI是用2X2矩阵的希尔密码加密得到的,明文是don't。求加密矩阵。

b.假设密文是ELNK,明文仍是don't,求加密矩阵。

解:a.密文:E L N I -125*K≡1(mod26)?K=21 4 11 13 8 明文:d o n t 3 14 13 19 AM=??18??314??ab??411??1?9???????=mod26;= A????????1319??cd??138??1311??918??411??109?????mod26=??138??1323?? 1311?????? M=?? b.密文:E L N K 4 11 13 10

明文:d o n t 3 14 13 19

AM=??18??314??ab??411??1?9???????=mod26;= A????????1319??cd??1310??1311?M=??

?918??411??1019??????mod26= ??????1311??1310??1319??12?16、矩阵??3-4??用于希尔密码的加密矩阵,求2个明文,加密成相同的密文。

?? 解:

12??x,y)???3-4??=?x?3y,2x?4y?mod26

??111112X1+3y1≡(2X1+4y1) (mod26) ∵密文相同 ∴0≡(X1+y1) (mod26)

即满足:X1+y1=0或X1+y1=26

共有 种可能,如:X1=12,y1=14……

17、设a,b,c,d,e,f是模26下的整数,考虑下面希尔密码和仿射密码的组合,将一块

明文表示成(x,y)模26,相应的密文(u,v)是(x y)???ab??+(e f) ≡(u v) (mod 26) ??cd?如何用选择明文攻击这个系统,目标是找到密钥a,b,c,d,e,f,要明确说明你选择的明文和如何恢复密钥的。 解:

18、(课外)已知明文的什为x1,x2,x3,x4,加密后满足条件:(x1+2x2,3x2,x3+2x4,3x4)=(16,9,23,12)。求明文。

解:

19、(课外2.6)密钥:apple 明文:meet at the bookstore 解:去掉重复的单词,得到aple,这些字母用于一个5X5矩阵的开头,余下的用字母表中剩下的字母填充,其中i和j作为同一个字母.

加密方法为: ①2个字母不同行不同列,对每个字母用和该字母同行并和另一字母同列的字母代替. ②2个字母同行,用右边的字母代替. ③2个字母同列,用下边的字母代替.

a p l e b me et at th eb ok st or ex c d f g h NL GY EQ UG BA IM TU KU LY I k m n o q r s t u v w x y z

20、(课外)明文:Are you ready 关键字:kaiser 矩阵(P19下)

A D F G X A p g c e n D b q o z r F s l a f t G m d v i w X k u y x h

解:①字母用它所在的行和列的标记代替 A r e y o u r e a d y FF DX AG XF DF XD DX AG FF GD XF

②用关键字kaiser标记矩阵的列,组成如下矩阵: ③对列进行调整,按字母顺序排列: K a i s e r a e i k r s F F D X A G F A D F G X X F D F X D F X D X D F D X A G F F X F A D F G G D X F D X G F ④按照列的次序来读字母,得到密文:

FF XD AX FD DA XF XD GG DF XF GF (??)

21、(课件)(1)求DES中IP(?i16(g))

原串:abcdefabcdefabcd

二制位:10101011 11001101 11101111 10101011 11001101 11101111 10101011 11001101 查(IP)表(P75初始置换表)得:

10110110 00000000 10110110 11111111 11111111 01101101 11111111 01101101 16进制:b6 00 b6 ff ff 6d ff 6d

22、(课件)求DES中S(?i12(g))

原串:abcdefabcdef

二制位:101010 111100 110111 101111 101010 111100 110111 101111 (6位1组) 查(P78S盒)表: s1 s2 s3 s4 s5 s6 s7 s8

查表得: 6 2 3 8 13 11 15 13 二进制:0110 0010 0011 1000 1101 1011 1111 1101 16进制:6 2 3 8 d b f d

1223、(课件)设DES的input=?16i(g),等价的K1??i(g),求R1。

input abcdefabcdefabcd K1 abcdefabcdef 其二进制位分别是: input二进制

10101011 11001101 11101111 10101011 11001101 11101111 10101011 11001101 K1二进制

10101011 11001101 11101111 10101011 11001101 11101111 根据DES算法:

1、进行初始置换(IP P75初始置换表) 10110110 00000000 10110110 11111111 L0 11111111 01101101 11111111 01101101 R0 2、根据IP结果,得到L0和R0

L0 10110110 00000000 10110110 11111111 转换16进制: 0x b6 00 b6 ff

R0 11111111 01101101 11111111 01101101 转换16进制: 0x ff 6d ff 6d

3、第一轮加密函数(加密R0) {E(R0)查扩展置换表P75}

3.1对R0进行E运算 E运算查表(E(R0)查扩展置换表P75)得:

E(R0) 111111 111110 101101 011011 111111 111110 101101 011011(6位1组) K1二进制 101010 111100 110111 101111 101010 111100 110111 101111 3.2将E运算结果和K1异或运算

异或: 010101 000010 011010 110100 010101 000010 011010 110100 3.3 进行S运算:

S运算 010101 000010 011010 110100 010101 000010 011010 110100 对应s表 S1 S2 S3 S4 S5 S6 S7 S8 查S表: 12 1 4 3 15 1 10 10 转换为二进制(得到Ci)

1100 0001 0100 0011 1111 0001 1010 1010 二进制 11000001 01000011 11110001 10101010 3.4 进行P运算,查表(P77(4)):

10101001 11000111 11100100 10000001 4.与L0进行异

加密函数结果: 10101001 11000111 11100100 10000001

L0: 10110110 00000000 10110110 11111111 异或 00011111 11000111 01010010 01111110 转换成16进制: 1 f c 7 5 2 7 e 所以: R1= 1fc7527e

[题1] (课件) 已知移位密码中密文为IREADABOOK,密钥K=11,试解密。

[解] 由IREADABOOK ? 8 17 4 0 3 0 1 14 14 10 ? 23 6 19 15 18 15 16 3 3 25 ? X G T P S P Q D D Z 得明文为:XGTPSPQDDZ。

[题2] (课件) 已知仿射密码中明文为IREADABOOK,密钥K=(11,7),试加密。

[解] 由IREADABOOK ?8 17 4 0 3 0 1 14 14 10 ?17 13 0 8 15 8 19 6 6 14 ?RNAIPITGGO 得密文为:RNAIPITGGO。

[例] (课件) 9?1mod26?3,11?1mod123?56。

[题4] (课件)已知仿射密码中密文为IREADABOOK,密钥K=(11,7),试解密。

?1[解] (ⅰ) 先求得11mod26?19;故解密变换为:x?19(y?7)mod26

(ⅱ)从而由IREADABOOK ?8 17 4 0 3 0 1 14 14 10

?19 8 21 23 2 23 16 3 3 5 ?TIVX CXQDDF 得明文为TIVX CXQDDF

3 (课件)希尔密码

在希尔密码(Hill Cipher)中有 (1)密钥K?M?GLm(Z26);

(2)加密变换为(y1y2?ym)?(x1x2?xm)M; (3)解密变换为(x1x2?xm)?(y1y2?ym)M?1。

[题5] (课件) 已知希尔密码中明文为IREADABOOK,密钥K=??题有错)

[解] 由 IREADABOOK ? 8 17 4 0 3 0 1 14 14 10

?3?(17 13)??2??3?(6 14)??2?6??36??36??36???????||(0 8)||(15 8)||(19 6)?27??27??27??| 7????????6??? 25 4 7???36??(本?,试加密。27??

1、RSA算法中n=11413,e=7467,密文是5859,利用分解11413=101X113,求明文。 解:c=5859,de≡1(mod(100X112))?d=3,m=

cd?5859(mod11413)

3

2、假设RSA的模数是n=55=5X11,加密指数是e=3. a.找到解密指数d; b.假设gcd(m,55)=1,证明:如果是

c?m(mod55)是密文,那么明文

3m?cd?(mod55)。不要引用RSA的结论,直接证明这个特殊的例子。

解:a.3d≡1(mod40)?d=27;

cd?(me)d?m?mde1?k?(n)?m*mk?(n)?m*1?m(mod55)

k

3、RSA中n=437,e=3,密文是75,相应的明文是8或者9,不分解n确定到底上哪一个。 解:

c?md?(modn) 75?m(mod437)?8?512(mod437)

d34、天真的Nelson接收到一个单个的密文,对应于于消息m。他的分开模数和加密指数是n和e,因为其系统只使用过一次,他觉得过意不去,同意解密发给他的任何密文,只要不是c,并将结果返回给提问者。不怀好意的Eve发给他密文

2c(modn),说明Eve怎样找到m.

e解:

5、为了增加安全性,Bob选取n和2个加密指数e1,e2,请求Alice加密他的消息m,Alice先设计

c?me(modn),然后计算c?c11e212(modn),接着将c2发给Bob,这种双重加

密相对于单个的加密真的提高安全性吗?如果模为n1,n2时是否安全?

解:c2(?me1(modn))e2e(modn)?me1e2(modn),令e?e1e2,则c2?m(modn)?安全性并未提高,当n不同时将增加破解难度.

6、指数e=1和e=2不应该用在RSA中,为什么? 解:

e?1时,c?m(modn)?m(modn),加密后密文与明要文相同;e?2时,e不满足gcd(e,(p?1)(q?1))?11

7、Alice如下使用RSA。她要加密一条由若干字母组成的消息,先对字母赋值a=1,b=2,…,z=26,然后对每个字母进行加密。例如,如果消息是cat,她计算

ee3(modn),

e1(modn),20(modn),然后发送加密消息给Bob,说明Eve如何不分解n就恢复消息。

特别的,假设n=8881,e=13,Eve截获到4461 794 2015 2015 3603,不分解8881恢复明文。 解:

8、设p=7919,q=17389,e=66 909 025,计算表明

e2?1(mod(p?1)(q?1))。Alice 用n=pq加

密指数是e的RSA加密消息m=12 345,为使得加密非常安全,又用n和e对密文加密了一遍,最终Alice发送的密文是什么?不通过计算证明。 证:12345应用加密公式即可

1、密码学:密码编码学、密码分析学 2、攻击方式:(1)唯密文:密文副本;(2)已知明文:密文的副本和相应明文;(3)选择

明文:接触加密机;(4)选择密文:接触解密机

3、现代密码学中的一个最要假设是Kerckhoffs原则:在评估一个密码系统的安全性时,必须假定敌方知道所用的加密方法。

4、加密/解密方法可分为两个范畴:对称密钥和公钥。在公钥密码学中有两种类型的密码:流密码和分组密码。

5、在蛮力攻击中,密钥的长度直接和搜索整个密钥空间所需的时间相关。(质点攻击) 6、密码学的现实目标:机密性、数据完整性、鉴别、不可抵赖性。

7、密码学的应用:数字签名、身份识别、密钥建立、秘密分享、安全协议、电子现金、游戏。

8、最流行的密码系统之一是替换密码。

9、一个好的密码系统抵抗统计分析所需的两条性质:扩散和混淆;混淆:密钥不是和明文简单相关。

10、一次一密是一种不可攻破的密钥系统。

11、差分密码分析:选取合适的明文对,比较对应明文对的差分,由此得到密钥的消息。 12、一个有效的增加DES密钥大小的可能方法是双重加密。选择密钥K1、K2用Ek2(Ek1(P))加密明文P。

13、分组密码有5种常见的模式:电子密码本ECB、密码分组链接CBC、密码反馈CFB、输出反馈OFB、计数器CTR模式。

14、单向函数、字典攻击,阻止字典攻击的方法—使用添加符。 15、RSA算法(基于大数的因式分解在计算上是困难的)

(1)选择素数p和q,计算n=pq; (2)选择e:gcd(e,(p-1)(q-1))=1; (3)计算d,de≡(mod(p-1)(q-1)); (4)公开n和e,将p、q、d保密; (5)加密m:c?me(modn); (6)解密:m?c(modn)

kk?(n)?m*(m)?m*1?m(modn)d?(n)??(pq)?(p?1)(q?1),gcd(m,n)?1,de?1?k?(n),c?(m)?mded1?k?(n)16、公钥密码系统包括:可能消息(明文和密文)的集合M,密钥的集合K。这些并不上加

?(n))的三元组(e,d,n).对每一个密/解密密钥,在RSA中密钥k是一个满足ed?1(mod(密钥由一个加密函数Ek和一个解密函数Dk.Ekt Dk是M到M的映射允许明文和密文来自不

同的集合,这些部分必须满足:

(1)对任意m∈M,k∈K,Ek(Dk(m))=m,Dk(Ek(m))=m; (2)对任意的m,k,Ek(m)和Dk(m)容易计算; (3)对几乎所有的k∈K,如果仅仅知道函数Ek,找到算法计算Dk在计算上是不可行的; (4)对给定的k∈K,容易找到Ek和Dk.

17、散列函数h输入是任意长度的消息,输出是定长的消息摘要,满足: (1)对消息m,消息摘要h(m)可以迅速计算出来;(2)给定y,找

m满足h(m)?y在计算

‘'上是不可能的(h是单向的);(3)找到m1,m2满足h(m1)=h(m2)在计算上是不可行的(h是强抗碰撞的函数)

散列函数用于数字签名,检查数据的完整性。MD5,SHA-1 18、RSA签名方案 (1)Alice生成两个大素数p,q,计算n=pq.选择

e满足1?eAA??(n)和gcd(eA,?(n))?1.计算dA使得eAdA?1mod(?(n)).公布(eA,n),对dA,p,q保密(2)签名:y?md(modn);

(3)公开数对(m,y) Bob验证签名: (1)下载Alice人((2)计算z?AeA,n)

ye(modn),如果z=m,则签名有效。

19、安全协议:SSL和TLS协议

20、秘密分享方案:如果要将秘密M分拆给m个人,必须选择m-1个随机数并将它们分给m-1个人,将M?r,...,r1m?1(modn)?r(modn)给剩下的一人.

k?1km?121、电话玩牌。怎样用公钥系统实现公正发牌?(本题答案描述可能不正确,自己把握) 答:Aliice和Bob共同认可一个大素数p,Alice选择一个满足 (gcd(整数

e,p?1)?1的秘密

AeA,Bob选择一个满足 (gcd(e,p?1)?1的秘密整数eBB

Alice用

eA对52张牌进行加密9(加锁)后发给Bob,Bob选取5张牌用

eB加密后发给Alice,

Alice收到这5张牌用私密da解开自己的锁再把5张牌发给Bob,这样Bob就拿到自己的5张牌;Bob将剩下的牌用

eB加密后发给Alice,Alice选取5张自己的牌发给Bob,Bob用私

钥解密这5张牌发给Alice,这样Alice也获得了自己的5张牌,现在开始打牌吧。^○^ 22、电话抛硬币:

答:Alice选择2个模4余3的随机大素数p,q,这2个数保密,并把n=pq发给Bob,Bob选取一个随机整数x并计算y?x2(modn),将x保密,把y发给Alice,Alice知道y有

一个模n的平方根,因此她用自己知道的关于p和q的信息来找y(mod n)的4个平方根

?-?a和?b,这4个数有一个是x,但她不知道是哪一个,随机选取一个,假如Alice选的是

?b,然后把它发给Bob,如果b??x(modn),就是Alice赢了,否则就是Bob赢。如下表: Alice B0b N=pq → n Y ← y?x?2

a2?b?y → b

2Alice赢 ← b??x 或者(本行貌似有错!) Bob赢取 ← b??x

?

本文来源:https://www.bwwdw.com/article/zt23.html

Top