简答题
1. 请简述Kerckhoffs原理。
2. 在密码学通信的模型中,Alice给Bob发送信息,根据窃听者Eve了解的信息多少,可以将攻击方式分为4种基本类型,请列举出这四种类型,并简述其含义。
3. (1)请简述netcat的功能
(2)已知A主机的ip地址为192.168.2.1 B主机的ip地址为192.168.2.5 使用netcat做从A到B的通信,通信内容是加密传输的么?
(3)使用netcat做从A到B的简单连接测试,B 打开tcp端口5533,A 连接B的5533端口,按顺序写出在B和A上执行的命令。
4. A和B进行安全通信,使用gpg作为密码学工具,分别生成了各自的公钥/私钥对。(1)请简述gpg工具的功能
(2)若B发送经过自己签名的加密数据给A,然后A接收数据并访问到正常的数据,请分别简述整个过程中 A的公钥,A的私钥,B的公钥,B的私钥 的用途?
5. 不可破译的密码体制模型是什么?它必须满足哪两个条件才是最理想的模型?
6. 使用gpg加密工具的过程中,涉及到如下文件pubring.gpg secring.gpg pubring.bak trustdb.gpg ramdon_seed,请简述他们的用途。
7. 请描述下面程序第5行即其后各行的代码的作用。
#!/usr/bin/python
from Crypto.Cipher import DES
my_msg = 'loveunix' #第5行
my_key = '87654321'
obj_des = DES.new(my_key)
my_cipher = obj_des.encrypt(my_msg)
print my_cipher
8. 请描述下面程序第5行即其后各行的代码的作用。
#!/usr/bin/python
from Crypto.Hash import DES
msg = 'This is a computer virus' #第5行
obj_md5 = DES.new()
obj_md5.update(msg)
my_md5 = obj_md5.hexdigest()
print msg_md5
9. 写出下列命令的作用且回答所附问题。
(1) gpg --import pubkey_zhouxx.asc
(2) gpg --list-keys
(3) gpg -r 'zhouxingchi' -e page.txt ,此命令生成的文件的名字是什么?
10. s-des算法中的两个s盒如下所示(注意:行列的计数从0开始)。
1 0 3 2
3 2 1 0
0 2 1 3
3 1 3 2
0 1 2 3
2 0 1 3
3 0 1 0
2 1 0 3
请写出(1)1111输入到上面s盒,(2)1011输入到下面s盒的完整推导过程。
11. (1)请描述以下程序的编程思路(两个主要步骤)(2)指出其中的两处错误,如何改正(注意:要求对程序代码进行尽量少的修改)?(3) 该程序在安全性方面有何缺陷?
import os
import sys
pw = sys.stdin.read(6) #第4行
if pw = 'mimaweikong': #第6行
os.system('cmd.exe') #第6行
12. 已知通过古典密码学中的置换方式,得到如下密文:
bcgdh
leimq
fjnrv
koswp
txuyz
明文与密文都是表示在5乘5的方阵中,加密的方式是先按列读出,再按对角线读出(左下到右上),请解密出原来的明文,要求写出解密步骤。