作业. (第三讲,第二大题,适合2年级)

作业. (第三讲,第二大题,适合2年级)使用python的pycrypto加密库,完成以下练习(1至4题必须做在作业

本上):

1.

明文plaintext1为你的姓名的汉语拼音(如果不够8字符的整数倍,则用下划线填充),密钥为字符串24062406

,使用DES算法对其进行加密和解密操作,密文用变量名ciphertext1表示,将其显示的值以便于阅读的16进制

形式表示。请写出每一步输入的指令,以及其运行显示的结果。


2.明文plaintext2为你的姓名的汉语拼音(如果不够8字符的整数倍,则用下划线填充),密钥为字符串240624

06,使用DES算法对其进行变换操作,本题中先进行decrypt方法的调用,再进行encrypt方法的调用,密文用变

量名ciphertext2表示,将其显示的值以便于阅读的16进制形式表示。请写出每一步输入的指令,以及其运行显

示的结果。(注意:加密,解密算法不是绝对的,从本题可以看出:实际上decrypt起到了加密的作用,而encr

ypt起到解密的作用)


3.将DES算法改为Blowfish算法,重做第1小题。

4.简单描述DES算法的互补性。(0的补为1,1的补为0,即取反的运算)。
  通过实验,请说明S-DES算法是否具有互补性(S-DES算法的源码附后,可以在dev-c++环境中进行测试)。
  测试数据为plaintext:  11110000 , key: 1010101111. 请写出具体测试过程。


5.(选作题)如果不是在解释器中练习,而是运行编写的python程序,该如何操作?


6.(预习)第4章,第5章。了解其他算法(AES及其候选算法)的特点。理解各种分组密码的加密模式。要在pycr

ypto加密的过程中使用这些模式,可以用这样的语法: obj = DES.new('12345678', DES.MODE_ECB)

7.(思考)对1题中,使用汉字形式的姓名,encrypt再decrypt后能够得到原来的明文吗?

8.(探索)利用python+pycrypto,如何对文件(而不仅仅是一个字符串)进行加密,解密。

-------------------------------------------------------------------------------------------------------------------------------

附:S-DES 的C语言源码

 http://www.google.com/notebook/public/13329100837428676645/BDQRcIgoQqsCT4uIh

或 其原出处:

http://www.sci.brooklyn.cuny.edu/~sdexter/cis729/HW/sdes.c

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值