信息安全原理与技术第3版习题答案_第1页
信息安全原理与技术第3版习题答案_第2页
信息安全原理与技术第3版习题答案_第3页
信息安全原理与技术第3版习题答案_第4页
信息安全原理与技术第3版习题答案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《信息安全》习题参考答案

第1章

1.1主动攻击和被动攻击是区别是什么?

答:被动攻击时系统的操作和状态不会改变,因此被动攻击主要威胁信息的保密性。主动攻击则意在篡改或

者伪造信息、也可以是改变系统的状态和操作,因此主动攻击主要威胁信息的完整性、可用性和真实性。

1.2列出一些主动攻击和被动攻击的例子。

答:常见的主动攻击:重放、拒绝服务、篡改、伪装等等。

常见的被动攻击:消息内容的泄漏、流量分析等等。

1.3列出并简单定义安全机制的种类。

答:安全机制是阻止安全攻击及恢复系统的机制,常见的安全机制包括:

加密机制:加密是提供数据保护最常用的方法,加密能够提供数据的保密性,并能对其他安全机制起作

用或对它们进行补充。

数字签名机制:数字签名主要用来解决通信双方发生否认,伪造、篡改和冒充等问题。访问控制机制:

访问控制机制是按照事先制立的规则确定主体对客体的访问是否合法,防止未经授权的用户非法访问系统资

源。

数据完整性机制:用于保证数据单元完整性的各种机制。

认证交换机制:以交换信息的方式来确认对■方身份的机制。

流疑填充机制:指在数拯流中填充一些额外数据,用于防上流量分析的机制。

路由控制机制:发送信息者可以选择特殊安全的线路发送信息。

公证机制:在两个或多个实体间进行通信时,数据的完整性、来源、时间和目的地等内容都由公证机制

来保证。

1.4安全服务模型主要由几个部分组成,它们之间存在什么关系。

答:安全服务是加强数拯处理系统和信息传输的安全性的一种服务,是指信息系统为英应用提供的某些功能

或者辅助业务。安全服务模型主要由三个部分组成:支撑服务,预防服务和恢复相关的服务。

支撑服务是英他服务的基础,预防服务能够阻止安全漏洞的发生,检测与恢复服务主要是关于安全漏洞

的检测,以及采取行动恢复或者降低这些安全漏洞产生的影响。

1.5说明安全目标、安全要求、安全服务以及安全机制之间的关系。

答:全部安全需求的实现才能达到安全目标,安全需求和安全服务是多对多的关系,不同的安全服务的联合

能够实现不同的安全需求,-个安全服务可能是多个安全需求的组成要素。同样,安全机制和安全服务也是

多对多的关系,不同的安全机制联合能够完成不同的安全服务,一个女全机制也可能是多个安全服务的构成

要素。

1.6说明在网络安全模型中可信的第三方所起的作用。

答:要保i正网络上信息的安全传输,常常依赖可信的第三方,如第三方负责将秘密信息分配给通信双方,

或者当通信的双方就关于信息传输的真实性发生争执时,由第三方来仲裁。

2•1、列出小于30的素数。

2、3、5.7、11、13、17.19、23、29

2.2、若a是大于1的整数,则a的大于1的最小因子一泄是素数。

证明若a是素数,显然a的大于1的最小因子就是素数a;若a是合数,则显然除1和a外还有其它的因数,

令b是这些正因数中最小者,可以证明b不是合数而是素数,若英不然,b必有大于1且不等于b的因

数c,于是由clb和blc可知cla,即c是a的因数,又有Kc<b.这与假设b是a的大于1的最小因数

相矛盾.故b不是合数而是素数.因此,a的大于1的最小因数b是素数.

2.3、如果nl(a•b),证明a=bmodn

证明:由nl(a-b)可知存在正整数k,使得a=kn+b,其中b是1到n-l之间的正整数,所以有

amodn=b.bmodn=b•可知a,b同余,即a=bmodn

2.4、证明卜.面等式

仃J(a+h)modm=((amodm)+(bmodm))modm

证明:假设amodm=r"、bmodm="则得a=jin+r,JeZ.同样,假定

h=km+rt„keZ,于是有(a+Z?Jmodm=(jni+rfkm+rjmodrn=(rrt+rjmodm=[("mod

m)->■(bmod/?/)]mod/〃.得证。

(2)(a-b)modm=((amodnt),("modm))modm

证明:假设"modm=r“>bmodm=rbt则得a=jm+rjeZ.同样,假定h=km-f-rbfkel,于是

有(“一b)modm=(jm+q-k/n-rh)modm=(乙一rjmodm=[(amodrn)一(bmodm)]

modm,得证。

(3)(axb)modm=((amodm)x(hmodm))modm

证明:假设amodm=r„,bmodm=rh,则得a=jm+rrt,jeZ.同样,假定

?您千做》温〃丝吗婷)窿/当磨。抚制gmod..得证。住bb

a&b

(4)(t/x(Z?+c))modm=((axb)modin)+((t/xc)modm))modm

证明:1!1(1)和(3)可矢H(ax(b+c))modin=((axb)+(axc))modin=(((axb)mod

M+@xc)modm))mod〃人得证。

2.5.证明5他1是56的倍数*

2

证明:由于5,=13mod56,5bmod56=(5'x53)mod56=(13x13)mod56

三Iniod56,对同余式两边同时升到10次幕,即那么

10组

________________-

5'。mod56=(5bmod56)x(5、mod56)x....(5bmod56)mod56

lOffl

=(1mod56)x(Imod56)x....(1mod56)mod56=1mod56,所以

mod56三1mod56,从而可以写成5"°三1mod56或56|5〃)-1。

所以公研7是56的倍数。

2.6、对于整数39和63,回答下而问题

(1)它们是否互素:

解:由于gcd(39.63)=3,所以他们不互素。

(2)用欧几里德算法求它们的最大公因子:

解:用欧几里德算法的计•算过程如下:

63=1x39+24

39=1x24+15

24=1x15+9

15=1x9+6

9=lx6+3

6=2x3+0

所以39和63的最大公因子是3.

(3)25"=A-mod15是否有解。

解:由欧儿里德算法有:

25=1x15+10

15=1x10+5

10=2x5+0,可知25和15的最大公因子是5,E|jgcd(25,15)=5.1.所以不互素那么25〃三x

mod15无解。

2.7、用欧几里德算法求gcd(1997,57)和gcd(24140,16762)

3

解:对1997和57运用欧儿里德算法的过程如下:

1997-35x57+2

57=28x2+1

2=2x14-0,所以gcd(1997,57)=1

同理,对24140和16762运月欧儿里德算法的过程如下

24140=1x16762+7378

16762=2x7378+2006

7378=3x2006+1360

2006=1x1360+646

1360=2x646+68

646=9x68+34

68=2x34+0,所以gcd(24140,16762)=34

2.8、用扩展欧几里德算法求下列乘法逆元

(1)1234mod4321

用扩展欧几里德算法的汁算过程如下:

循环次数XiX.Yi(Ti)Y2(T)Y3(Ts)

Qx22

初始值—104321011234

130112341-3619

211■3619-14615

31-146152-74

41532■74■30710753

51-30710753309-10821

082三3239mod4321,所以逆元是3239

(2)24140mod40902

用扩展欧几里德和法的计算过程如下:

循环次数QXiX2vYi(Ti)Y2(L)Y3(Ts)

初始值—10409020124140

1101241401-116762

211■116762-127378

L

32-1273783一52006

433■52006-10141360

51-1014136013-19646

6213-19646-365268

79-365268326-48734

82326-48734■68810260

根据扩展欧1L里德算法没有逆元。

(3)550mod1769解:il♦算过程如下表所示:

循环次数QXiXotrYi(Ti)Y2(T2)Y3(Ts)

初始值10176901550

4

130155()1-3119

241-3119-41374

31-413745-1645

415-1645-92929

51■9292914-4516

6114~4516-237413

71-23741337-1193

8437-1193-1715501

根据扩展区几里德算刃V逆元是550

2.9、用快速指数模运算方法计算200837mod77和mod77

解:由于gcd(200&77)=1,且77=7x11,(7)=6,(11)=10,[(7),(11)]=3037三7mod30,

由欧拉定理可知2008蓊=20087mod77,设3为指数,计郛过程如下a=6HJ;2008三6nod77

0=3时20082H36mod77

a=2H't6x36=216三62mod77

a=1时36?=64mod77

a=Oir]:64x62=3968三41mod77,所以2008*三2OO87mod77=41mod77

解:由于gcd(3,77)=1,且77=7x11,(7)=6,(11)=10,[(7),(11)]=30

19971H21mod30,ill欧拉定理知3199n=321mod77,11121=(1010,1)得3?三9,3'

x9°H3(mod77)

92三4,3x4]三12(mod77)

42三16,12x16°H12(mod77)

162三25,12x251三69(mod77).即3侬'三69mod77

2.10s用费马定理求3刈(mod11)

解:由于gcd(3,11)=1,那么由费马定理得3吗3"」=Imodll,那么

3沏=3X32(X)mod11三3x(3"mod11)x(3)°modll)x....(310mod11)mod11

共20个

=3mod11=3

2.11、计算下面欧拉函数:

(1)0(41)、0(27)x饥231)、0(440)

解:(4))=41-1=40

(27)=(33)=3-32=18

(231)=(3x7x11)=(3)x(7)x(11)=(3-1)x(7-l)x(ll-l)=120

(440)=(23x5x11)=(23-22)x(5-1)x(l1-1)=160

(2)0(2)0⑹和0(3妙(1),哪一个等于|J(⑵。

解:⑵(6)=(2)x(2)x(3)=1x1x2=2

5

(3)⑷二0)(2?)=2X(2-2)=4

(12)=(3x22)=(3)g)=2x(22-2)=4

显然(3)(4)=(12)

2.12、求解下列一次同余方程

(1)3x三10(mod29)

解因为(3,29)=1,所以方程有惟一解。利用辗转相除法求得使3A+29k1成立的x、y为x=10,尸-U于

是3-104-29-(-1)=1,3-100+29(—10)=10,所以;v三100H13(mod

29)。

(2)40.v=191(mod6191)

解因为(40,6191)=1,所以方程有惟一解。利用辗转相除法求得使4(k+6191y=】成立的x、y为兀=1393,

y=-9o于是401393+6191*(—9)=1,401393191+6191(—9191)=191,所以

x=1393191=604l(mod619D

(3)258.v=131(mod348)

解因为(258,348)=6,而6131,所以方程无解。

2.14.求满足下而同余方程的解

x=l(mod5),x三5(mod6),x=4(mod7),x=10(mod11)

解:令力[1=5,〃?2=6,加3=7,阳=山1=1,的=5J3=4J4=10。贝1J/n=2310,A/l=462.4=385,

“3=330,M4=21(L

利用辗转相除法求得Afir=-2,Af/=1,W=l»W=U

所以,・丫三1•(一2)•462+5•1•385+4•1330+101210三4421三2111(mod2310)

2.15>求Zs中族非零元素的乘法逆元。

解:r=l,2-=3,3=2>4-=4

2.16.类似于表2.2,用表列出有限域GF(5)中的加法和乘法运算解:表如下:

加法01234

0()1234

112340

223401

334012

440123

乘法01234

0()0()00

1()1234

2()2413

3()3142

4()4321

a■aa1

00——

141

6

233

322

414

2.17.对于系数在乙。上的取值的多项式运算,分别计算

a、(7)+2)•(X2+5)—X2+7X-3mod(10x2+l0x+10)=9x2+7x+7

b、(6"+x+3)x(5x2+2)=(30x'+5x:,+27x2+然+6)mod(1Ox'+5寸+27』+为+6)

=5x3+7X2+2x+6

2.18.假设f(x)=x3+x+l任GF(2”)中是一个不可约多项式,a(x)=2x2+x+2,b(x)=2x?+2x+2,求a(x)b(x)

解:a(x)®b(x)=a(x)b(x)rrodf(x)=(2>:2+x+2)(2x?+2x+2)rrod(x'+x+l)

=6X3+6X2+2X+4

2.19.编程实现模n的快速指数运算。

#includestdafx.h1

#include<stdio.h>

#include<iostream.h>

intmain(intargc,char*argv[])

{intm,c,n;

printf("inputthefirstnumber:");cin»e;

printf("inputthesecondnumber:');cin»m;

printf(Minputthethirdnumber:v);cin»n;

inta=e,b=nic=l;

for(a=e;a>0:)

{if(a%2==

1)

(

a-=l;

c=(c*b)%n;

if(a=0)

cout«c«endl;

)

elseif(a%2==0)

a=a/2;

b=(b*b)%n;

}

)

return0;

2.2()、编写实现扩展欧儿里德算法求最大公因子利乘法逆元。

7

^include''stdafx.hv

#include<iostream.h>

intmain(intargc,char*argv[])

(

intm.d;

cout«"inputthefirstnumber:1«endl;

cin»m;

cout«Hinputthesecondnumber:"«endl;

cin»d;

inta[3]=(IQm}.b[3]=(0±d};

intQ;

if(b[2]%a[2]>=0)

(

Q=b[2]/a(2);

for(inti=0;i<=2;i++)

{intt[3];

a[i]=b[i];

b[i]=t[i];

)

if(b[2]=0)

(

cout«〃m和d的最大公因子是“没有逆元!〃《cndl;

)

elseif(b[2]―1)

(

cout«,zm和d的最大公因子是"是d的逆元!〃《endl;

)

}

return0;

)

第3章

3.1下式是仿射密码的加密变换

c=(3m+5)mod26,试求:

(1)该密码的密钥空间是多少

(2)求出消息“hello”对应的密文

(3)写出它的解密变换

(4)试对密文进行解密解:

(1)密钥空间为n(“)=312。

(2)hello五个字母对应的数字分别是7,4,11,11,14

8

分别加密如下:

(3*7+5)inod26-0

(3*4+5)mod26=17

(3*11+5)mod26=12

(3*11+5)mod26=12

(3*14+5)mod26=21

五个密文数字为0,17,12,12,21,对应密文是ARMMVo

(3)解密变换为m=l(c-5)nod26

3

(4)密文ARMMV五个字母对应数字分别为0,17,12,12,21

分别利用解密变换解密,解密后对应数字为7,4,11,11,14

所以得到明文为hell。。

3.2用Playfair密码加密卜面消息:

ciphersusingsubstitutionsortranspositionsarenotsecurebecauseoflanguage

characteristics.密钥为theplayfaircipherwasinventedbyCharlesWheatstone“解:

由密钥可构建如下的密钥矩阵。

THEPL

AYFI.JR

CWSNV

DB0GK

MQUXZ

将明文按照两个字母分组为:

ciphersusingsubstitutionsortranspositionsarenotsecurebecau

seoflanguagecharacteristicsx

贝1j密文为:NALELF0ENFGX0E0WPAEMPAGSOUALAYVNEGNFPAGSCFFLSGECTS

ZFHOTSFMOFUSTRGXMFOPWTYACDHPARCEANNU

3.3假设密钥为"encryption",用维吉尼亚密码加密消息symmetricschemesrequirebothpartiesto

shareacommonsecretkey<

解:

在明文下面重复写密钥字,组成密钥。

明文M:syminetricschomesroquirebothpartiestosharcacomnionsecretkey

密钥K:encryptionencr}-ptionencryptionencryptionencr)ptionencrypt

9

将明文和密钥转化为数字

明文=(18,24,12,12,4,19,17,8,2,18,2,7,4,12,4,18,17,4,16,20,8>17,4,1,14,19,7,

15,0,17,19,4,18,19,8,4,18,19,14,18,7,0,17,4,0,2,14,12,12,14,13,18,4,2,17,4,19,10,4,

24)

密钥=(4,13,2,17,24,15,19,8,14,13,4,13,2,17,24,15,19,8,14,13,4,13,2,17,24,15,

19,8,14,13,4,13,2,17,24,15,19,8,14,13,4,13,2,17,24,15,19,8,14,13,4,13,2.17,

24,15,19)

对每个明文数字和对应的密钥数字,使用G=(〃"+化)mod26加密,得到密文数字为

C=(22,11,14,3,2,8,10,16,16,21,6,21,6,3,2,7,10,12,4,7,12,4,6,18,12,8,0,23,14,

4,B21,6>9,17,3.11,15,144,&13,4,5,10.h7,21,6,17,$4,$10,&19,

17)于是密文为

WLODCIKQQVGVGDCHKMEHMEGSMIAXOEXQGJRDLPOEINEFKBHVGRGEGKITR

3.4Hill密码不能抵抗已知明文攻击,如果有足够多的明文和密文对,就能破解Hill密码。

(1)攻击者至少有多少个不同明文-密文对才能攻破该密码?

(2)描述这种攻击方案。

(1)破解一个Hilh密码至少应该有m个不同的明文・密文对。

(2)攻击方案为:假龙攻击者已经确泄了正在使用的m值,至少有m个不同的明■密文对

儿=(儿八)",…);“)

对任意的1<jS,有y=eG。如果泄义两个mx加矩阵X=()#1Y=(y),

则有矩阵方程Y=XK,其中/〃x勿矩阵K是未知密钥。假如矩阵X是可逆的,则攻击者可以算出K=4"匕

从而可以破译Hill密码(如果X不可逆,则必须重新选择m个明-密文对)。

3.5用Hi11密码加密消息加广,密钥为:

fll8、

U7)

并写出从密文森.明文的解密过程。

解:

经计算

\118

2311

设明文为Hill,则相应的明文向量为(7,8)和(11,11)。于是,相应的密文向量分别为

10

fll8)

(7,8)I=(77+24,56+56)=(23,8)

I37Jfl18)

(11,id1=(121+33,88+77)=(24,9)匕7J

因此,明文Hill的密文为XIYJo

3.6用一次-密加密消息“010H01010H001111000101010101010H0H11oooioiooor,选尼

的密钥是10010101011110101101000101000001111100100101010010,;试写出密文。

解:密文=明文㊉密钥

=01011010101100111100010101010101011011110001010001©

10010101011110101101000101000001111100100101010010

=11001111110010010001010000010100100111010100000011

3.7使用DES加密,假设明文和密钥都为(0123456789ABCDEFM=(0000000100100011

010001010110011110001001101010111100110111101111)2

(1)推导出第i轮的子密钥

(2)写出/)和Lo

(3)扩展&并计算E(RgKi

(4)将第(3)问的结果,输入到8个S盒,求出加密函数/•,

(5)推导出/?i和Li

解:

(1)将密钥K经置换选择1,得

Co=1111000011001100101010100000

Do=1010101011001100111100000000

左移1位后经置换选择2输出48为Kio

K\=000010100000001001110111100110110100100010100101

(2)初始置换后,得到

7x)=11001100000000001100110011111111

/?0=11110000101010101111000010101010

(3)用扩展卷换E将扩展为48位后,与K]异或

E(他)㊉K{=011100000001011100100010111000010101110111110000

(4)经过8个S盒输出32位

S](011100)=0000S2(000001)=0000Ss(011100)=0010S.(100010)=1000

S5(111000)=001156(010101)=1101S7(l10111)=1000S»(110000)=1100

经置换函数p,输出加密函数如下:

11

F=00111000000000000010000011101101

(5)由/、,和他计算出L]和R]

Li=/?o=l1110000101010101111000010101010

Ri=Lo㊉F=11001000101010101101000001000111

3.8在GF(2$)上{01}的逆是什么?并验证其在S盒中的输入。解:

在GF(20上{01}的逆是用二进制标识为00000001,代入S盒的变换,如下:

1101)51存川川川何

结果为01111100,用十六进制表示为{2A},与杳S盒所得到结果一致。

3.9假设AES的State矩阵的某一列分别是so={87},si={6E},52=(46},S3={A6}°经过

列混淆变换后,51={6E}映射为5*1={37},试计算验证这一结果。

解:

第一列第2个字节的代换方程为

{87}©({02}・{6E})©({03}・(46))©{A6}={37)

下面验证上面等式成立。用多项式表示为

(02)=,

{6£)=6+5+3+2+

那么

•(6.5.3+2.)=7.6,4十3十2

再模一个次数为8的不可约多项式〃7()="、+1

结果为‘+'+'+3+2

写成二进制为H011100。

同样,计算出{03}・{46)=11001010,(87)=10000111,{A6}=10100110o

因此{87}㊉({02}•{6E))®({03}>{46})㊉{A6}计算结果为

10000111

12

11011100

11001010

㊉1010011Q

00110111=(37)

3.10采用AES加密,密钥为2B7E151628AED2A6ABF7158809CF4F3C,明文为3243F6AD

885A308D313198A2E0370734

(1)写出最初的Stale的值

(2)写出密钥扩展数组中的前8个字节

(3)写出初始转密钥加后State的值

(4)写出字节代换后State的值

(5)写出行移位后的State的值

(6)写出列混淆后State的值

解:

-2B

力9

—728//

IEA7干

Jn

W2V3,中

15位15F

1//1二ABF7\5SS

iiA63E[\V.=09EF4F3E

SU6Qo8ot

密钥扩展数组中前8个字节为Wo,W(1即2b7e151628aed2a6

(1)最初的SUUC的值为:

〃328831EOj

435A3137

B=1

0F6309807

AI)WA234

(3)根据VVf(4</<7)的计算公式,分别计算出各式,然后计算出Kio

W产SubByte(RotByte(W;1)㊉Rcon[l]㊉W°

=SubByte(CF4F3C09)©(01000000)©(2B7E1516)

=(8A84EB01)㊉(01C00000)㊉(2B7E1516)

=A0FAFE17

WTWi㊉W尸(28AED2A6)㊉(A0FAFE17)=88542CBl

W«=W2㊉根=(ARF71588)㊉(88542CRI)=23A33939

WkM①W6=(09CF4F3C)㊉(23A33939)=2A6c7605所以,得到第一轮子密钥Ki为:

A088232A

FA54

A36C

FE2C3976

17B\3905

初始轮密钥加后,

B|=Bo+Kg

E

「328831E0"A08823»9g9

»DF

435A3137FA54A3s8

©

E200

F6309807FE2C39763p

Bxz

Eg2

ADwA23417Bi3905

CD4EOB8IE]

'27BFB4411

(4)经过字节代换后,sta忙的值为

11985D52

AEFlE530

「£>4E0B8

'BF41

hn4A

(5)经过行移位后,slate的值为

5L521198

30AEFlE5

04EO4828

66CBF806

(6)经过列混淆变换后,stale的值为

8119D326

E594744C

3.11对习题3.10的明文和密钥不变,采用SMS4加密。(1)求出第一轮的轮密钥rku0(2)求第一

轮加密后的明文输出是什么?

解:

(DSMS4加密算法的轮密钥由加密密钥通过密钥扩展算法生成,第一轮轮密钥rku的计算过程如

下:

①首先,将加密密钥MK=(MK°,MK,,MK2,MKJ按字分为四组,分别为

MKo=(2b7el516),MKi=(28aee/2a6),MK2=W71588),

MK3=09c/'4/3c)

已知:

FKo=(A3B\BAC6\FK严G6AA3350),FK(677D9197),用T尸(327022DC)根据(Ku,&,K2,

K3)=(MKo©FK,MKFK.,NIK2®FK?,MK,

得出恁4I,4各个的值:

MKo=00101011011111100001010100010110

FKo=10100011101100011011101011000110

两者做异或运算后,得/Co=1000100011001111101011111101oooo

14

同理汁算,可以分别得

K1=01111110000001001110000111110110

A:2=1100110010001D101000010000011111

Ky=10111011101111110110110111100000

②然后,求出厂麦网触“

固定参数CK。的十六进制表示为:00070。15,则通过异或运算A=(兔,山,色,他):&3K?㊉

心㊉CK产(00001001001101100000011000011100)o十六进制表示为:09

3606ICo

再招输出结果A分为四组进入S盒,通过查表,输出B的十六进制为;b6c83d490

利用公式L®*二B©«B<«13)®(B<«23)・«

L(B)=0001010110011010011111111000101

③最后,由公式改=用“二K,㊉方®CK厂)知,将K苗步骤②求出的ZJ(B)做异或运

算,即可得到

(B)=00010101100110100111111]1(XX)1010

Ko=10001000110011111010111111010000

rfe)=*4=10011101010101011101000001011010,十六进制表示为:9d55do5a。

(2)根据SMS4加密算法,首先将十六进制明文3243f6ad885a308d313198a2eO

370734分组:X°=(3243y6dd)X|=(885“30&/)X2=(313198c2)

Z3=@0370334)0

然后,根据第一轮轮密钥rk()的计算结果,已知加密函数F,

F(XX八X,X22,秋.可就曜㊉伙-)得到第一轮输出

数据。

①进行合成置换T运算

中间值A=(«o,tzb«2,t/3)=X,©X2㊉X3㊉必)=(110001000000100101111111

01000001)o十六进制表示为:c4097f41o

②将输出结果A分为四组进入S盒,通过查表,输出中间值B的十六进制为:bbb6

15

9e07o

③进行线性变换

由公式C=L(B)=3®(B«<2)㊉俗《(10)㊉俗18)㊉俗“<24)得,

C=L(B)=11110000101100011010000010110011o

@利用加密函数

X'=F(X_yXrXu,=X_®T(<Xa泊㊉X,©rkjf将③式

得到的结果与X。做异或运算,即

%4=(00110010010000111111011010101101)㊉(11110000101100011010

000010110011)=11000010111100100101011000011110

十六进制表示为:c2f256lco

因此,得到第一轮的输出XnX2,X34产5a308d313198a2eO370734c2f2

56

le()

第4章

4J在使用RSA的公钥体制中,已截获发给某用户的密文为elO,该用户的公钥e=5,n=35,那么明文

加等于多少?为什么能根据公钥可以破解密文?

解:n=D*Q(D和Q都星素数),『35故解出D=5,q=7:

①(n)=(p-1)*(q-l)=24:

又因为e*d=lmodO(n),而e=5故可解出d=5;

m=crfmodn=10mod35=5<>

因为RSA密码体制的安全性是基于分解大整数的困难性设计的。RSA算法的加密函数

c=nrmodn是一个单项函数,故对于解密密文的陷门是分解n=p*q,只要知道这个分解就可以

计算①(n)=(p-1)然后用扩展欧几里德算法来求计算解密私钥丸

4.2利用RSA算法运算,如果尸11,歼13,。103,对明文3进行加密•求"及密文。解:①(n)=(p-1)

*(q-l)=10*12=120

e*d"lmodO(n),而e=103故可解出d=7

n=p*q=l1*13=143

c=nrmodn=3,0!mod143=16

4.3在RSA体制中,某用户的公钥e=3|,n=3599,那么该用户的私钥等于多少?解:n=p*q(pNq都是

素数),n=3599故解出p=59,q=61;

①(n)=(p-1)*(q-l)=3480:

中d三1mod①(n),而c=31故可解出d=303L

16

4.4在1^人体制中,假设某用户的公钥是3533,尸101,尸113,现对明文9726加密和解密。解:加密过

程如下:n=p*q=U413:

①(「)=(p-1)*(q-l)=11200:

c*d」modO(n),而c=3533故可解出d=6597:

c=r.rmodn=97263533mod11413=5761:

解密过程如F:m-cdmod0=5761^mod11413=9726。

4.9公钥密码•般用于传输对称密钥,现假设A和B之间需要传输数据,A产生一个会话钥,请回答下面

问题:

(1)在事前通信发信者A应该得到什么密钥?

(2)会话钥的作用是什么?

(3)写出一个密钥分配协议,并分析其安全性。

解:(1)在事前通信发信者A应该得到会话钥;

(2)会话钥的作用是将需要传送的数据用会话钥加密:

(3)一个密钥分配协议如下:

1.AfB:Epub(IDAllN|),

2.B-A:Epua(NillN2),

3.A—*B:Epub(N2+l),

4.B—>A:Epua(EpRb(Ks)),

这协议既可以保密乂可以认证。

4.12编写RSA加密和解密程序,

解:intencrypt(intmintejntn)

(

intc,i,k=l;

for(i=l;i<=e:i+-)

k=k*m;

c=k%n;

returnc;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论