密码学答案

2019-04-16 15:34

《密码学原理与实践(第三版)》课后习题参考答案

(由华中科技大学信安09级提供)

第一章

1.1(李怡)

(a)51 (b)30 (c)81 (d)7422

1.2(贾同彬)

证明:令t1= (-a)mod m ,t2=m-(a mod m),则t1≡t2(mod m).

又 0

1.3 (张天翼) 证明充分性:

若a?b(modm),则可得a?b?km,设b?jm?r,0?r?m,j?N,则有

a?(k?j)m?r,故有amodm?r,由假设得bmodm?r,故amodm?bmodm

证明必要性:

若amodm?bmodm,则可设amodm?bmodm?r,则有a?km?r,b?jm?r,其中j,k?N,因此a?b?(k?j)m,即ma?b,故a?b(modm) 综上,问题得证

1.4 (李怡)

令a?km?r,0?r?m,则r?amodm?a?而r?a?km,所以只需证明k???.

m??a?raa?a?因为k?,?m?-r?0,所以?1?k?,即k???mmm?m? 1.5 (李志远)

穷举密钥法来破解移位密码即将这个字符串每个字母移位1,2,3…26次,然后判断这26个字符串哪个符合英语规则。故我编写 如下的C++来实现如此功能 #include using namespace std; char change(char word) {

if(word=='Z')return 'A'; else return word+1; }

int main()

{

cout<<\ char string1[43]; cin>>string1; int n;

for(n=1;n<=26;n++) {

int num;

for(num=0;num<43;num++) {

string1[num]=change(string1[num]); }

cout<

解释:1.代码专为本题编写,故输入字符数不能多于43个,且输入范围仅限大写英语字母 2.将题中的42个字母BEEAKFYDJXUQYHYJIQRYHTYJIQFBQFBQDUYJIIKFUHC输入并回车 3.得到的结果

CFFBLGZEKYVRZIZKJRSZIUZKJRGCREVZKJJLGVIDRE for turn 1

DGGCMHAFLZWSAJALKSTAJVALKSHDSFWALKKMHWJESF for turn 2

EHHDNIBGMAXTBKBMLTUBKWBMLTIETGXBMLLNIXKFTG for turn 3

FIIEOJCHNBYUCLCNMUVCLXCNMUJFUHYCNMMOJYLGUH for turn 4

GJJFPKDIOCZVDMDONVWDMYDONVKGVIZDONNPKZMHVI for turn 5

HKKGQLEJPDAWENEPOWXENZEPOWLHWJAEPOOQLANIWJ for turn 6

ILLHRMFKQEBXFOFQPXYFOAFQPXMIXKBFQPPRMBOJXK for turn 7

JMMISNGLRFCYGPGRQYZGPBGRQYNJYLCGRQQSNCPKYL for turn 8

KNNJTOHMSGDZHQHSRZAHQCHSRZOKZMDHSRRTODQLZM for turn 9

LOOKUPINTHEAIRITSABIRDITSAPLANEITSSUPERMAN for turn 10

MPPLVQJOUIFBJSJUTBCJSEJUTBQMBOFJUTTVQFSNBO for turn 11

NQQMWRKPVJGCKTKVUCDKTFKVUCRNCPGKVUUWRGTOCP for turn 12

ORRNXSLQWKHDLULWVDELUGLWVDSODQHLWVVXSHUPDQ for turn 13

PSSOYTMRXLIEMVMXWEFMVHMXWETPERIMXWWYTIVQER for turn 14

QTTPZUNSYMJFNWNYXFGNWINYXFUQFSJNYXXZUJWRFS for turn 15

RUUQAVOTZNKGOXOZYGHOXJOZYGVRGTKOZYYAVKXSGT for turn 16

SVVRBWPUAOLHPYPAZHIPYKPAZHWSHULPAZZBWLYTHU for turn 17

TWWSCXQVBPMIQZQBAIJQZLQBAIXTIVMQBAACXMZUIV for turn 18

UXXTDYRWCQNJRARCBJKRAMRCBJYUJWNRCBBDYNAVJW for turn 19

VYYUEZSXDROKSBSDCKLSBNSDCKZVKXOSDCCEZOBWKX for turn 20

WZZVFATYESPLTCTEDLMTCOTEDLAWLYPTEDDFAPCXLY for turn 21

XAAWGBUZFTQMUDUFEMNUDPUFEMBXMZQUFEEGBQDYMZ for turn 22

YBBXHCVAGURNVEVGFNOVEQVGFNCYNARVGFFHCREZNA for turn 23

ZCCYIDWBHVSOWFWHGOPWFRWHGODZOBSWHGGIDSFAOB for turn 24

ADDZJEXCIWTPXGXIHPQXGSXIHPEAPCTXIHHJETGBPC for turn 25

BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD for turn 26

经过英语分析,发现当移位密码密钥为17时,字符串有英文含义 LOOK UP IN THE AIR ITS A BIRD ITS A PLANE ITS SUPERMAN (看天上,是一只鸟,是一架飞机,是一位超人) 故移位密码密钥为17

1.6(司仲峰) 对合密钥为 0和13

1.7(陈诗洋)

(a) m=30=2*3*5

φ(30)=30*(1-1/2)*(1-1/3)*(1-1/5)=8 故密钥量是 8*30=240

(b)m=100=22*52

φ(100)=100*(1-1/2)*(1-1/5)=40 故密钥量是 40*100=4000

(c)m=1225=52*72

φ(1225)=1225*(1-1/5)*(1-1/7)=840 故密钥量是 840*1225=1029000

1.8(周玉坤) 解: 在

中若元素有逆,则必有gcd(a,m)=1;

=1,利用广义欧几里得除法,找到整数s和

的解法都相

若元素a存在逆使得a

t,使得: sa+tm=1,则=s(modm)是a的逆。 似,直接给出结果。 (1)、

gcd(a,28)=1,则a=1,3,5,9,11,13,15,17,19,23,25,27. (2)、

=1,=15,

=19,

=5,

=17,

=3,

=25,

=11,

=23,

=9,

=27

gcd(a,33)=1,则a=1,2,4,5,7,8,10,13,14,16,17,19,20,23,25,26,

28,29,31,32

(3)、

=1,=10,=7,=13,

=17,

=25,

=20,

=19,=31,=4,=32

=29 =2, =14,

=28,=5,=8,

=26,=23,=16,

gcd(a,35)=1,则a=1,2,3,4,6,8,9,11,12,13,16,17,18,19,22,23, 24,26,27,29,31,32,33,34

=1,=16,

=18,

=3,

=12,

=9,

=6,=11,

=22,=33,

=4, =2

=27,

1.9(薛东)

=24,=29,

=8,=26,

=32,=23,

=19,=17,

=31,=34

=13

设1≤a≤28,利用反复试验的方法求出a-1mod29 的值。

解:由乘法逆存在条件gcd(a,29)=1知a=1,2,3, …,28均存在逆元。 计算可得:

1-1=1 2-1=15 3-1=10 4-1=22 5-1=6 6-1=5 7-1=25 8-1=11 9-1=13 10-1=3 11-1=8 12-1=17 13-1=9 14-1=27 15-1=2 16-1=20 17-1=12 18-1=21 19-1=26 20-1=16 21-1=18 22-1=4 23-1=24 24-1=23 25-1=7 26-1=19 27-1=14 28-1=28

1.10

(a) dK(y)=6y+19(mod 29) (b) 略

1.11(程玲)

(a)证明:加密函数为e(x)=(ax+b) mod n,即可令ax+b≡y( mod n), 等价ax≡y-b( mod n),即x≡aˉ1(y-b)( mod n),即x≡(aˉ1y-aˉ1b)( mod n) 要使k为对合密钥,则a≡aˉ1( mod n),b≡-aˉ1b( mod n)

即aˉ1 mod n ≡a且b(1+aˉ1)≡0( mod n),也就是b(1+a)≡0( mod n) 反过来,当aˉ1 mod n ≡a且b(1+a)≡0( mod n)可得

b(1+aˉ1)≡0( mod n),即b≡-aˉ1b( mod n),K为对合密钥

(b)解:假设对合密钥为K=(a,b)

a要满足gcd(a,15)=1,可得a=1,2,4,7,8,11,13,14 又因为a要满足aˉ1 mod 15≡a,则a=1,4,11,14

b需满足b(1+a)≡0( mod 15)

当a=1,即2b≡0( mod 15),可得b≡0( mod 15)

当a=4,即5b≡0( mod 15),可得b=0,3,6,9,12 当a=11,即12b≡0( mod 15),可得b=0,5,10 当a=14,即15b≡0( mod 15),可得b={x|x?Z15}


密码学答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:一场演讲百年震撼(全文)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: