1、密码学实现的主要安全目标保密性完整性不可否认性存在性加密容灾备份和恢复数字签名1.密码和口令人们在日常生活中使用各种信息系统时,都需要输入密码(如右图的QQ),但从严格意义上讲,这里所谓的密码应该被称之为口令,并不是真正意义上的加密代码天王盖地虎,宝塔镇河妖动拐动拐我是动幺,动幺动幺我是动拐密码是指按特定的编码规则编成,用于对通信双方的数据信息进行从明文到密文变换的符号。把公开的信息通过变换手段变成除通信双方外其他人不能读懂的信息。这种加密后的信息叫密码。古希腊Scytale的棍子战争时期的密码本(2)密钥的概念密钥(Key)是指在密码算法中引入的控制参数;当加密算法采用不同的Key,加密或解
2、密的结果也就不同。加密时使用的加密密钥,解密时使用的时解密密钥。(3)简单加密算法.置换密码(凯撒密码)密钥为3解密过程:Pi=DK2(Ci)=(Ci-3)%26加密过程:Ci=EK1(Pi)=(Pi+3)%26例:明文:hello world密文:khoor zruogdef change(code,key):code=code.lower()m=ord(code)if m=97 and m=122:m=97+(m-97)+key)%26 return chr(m)def encrypt(code,key):code_new=for s in code:code_new+=change(s,
3、key)print(code_new)return code_newdef decrypt(code,key):code_new=for s in code:m=ord(s)code_new+=chr(m-key)print(code_new)return code_newdef main():print(请选择数字1或2)print(1:加密)print(2:解密)select=input()if select=1:code=input(请输入加密字符串:)key=int(input(请输入偏移位数:)encrypt(code,key)elif select=2:code=input(请输入
4、解密字符串:)key=int(input(请输入偏移位数:)decrypt(code,key)else:print(输入错误,请重试!)if _name_=_main_:main()换位密码将明文中的字母按照一定的规则重新排列,最简单的就是逆序法明文:How are you?密文:?uoy era woH简单异或将明文转为二进制,按位进行异或运算明文(P):01001000(H)密钥(K):01010101密文(C):00011101异或运算特点:00=0 01=1 10=1 11=02.对称和非对称密码体制对称加密:加密密钥=解密密钥(IBM的DES)非对称加密:加密密钥解密密钥(RSA)对
5、称密码体制模型1.密码学要实现的主要安全目标不包括()A.数据的可传播性B.数据的保密性C数据的完整性D.数据的不可否认性2.下列关于三种简单加密算法的说法中,错误的是()A.替代加密法是将明文中的每个字符用其他字符替代B.换位密码法是将明文中的字符位置重新排列C.异或算法本质是一种逻辑运算D.密码系统的安全性只与加密算法有关3.一串密文“word”经解密后得到明文“sknw”,则下列加密过程表示正确的是()A.Ci=EK1(Pi)=(Pi+4)%26 B.Ci=EK1(Pi)=(Pi-4)%26C.Ci=EK1(Pi)=(Pi+26)%4 D.Ci=EK1(Pi)=(Pi-26)%4ADA4.若用简单异或对明文“01100011”进行加密,得到密文“10101001”,则密钥是()A.10100011 B.11001010 C.11001011 D.01101101B5.以下关于对称密钥加密说法正确的是()A.加密和解密可以使用不同的算法B.加密密钥和解密密钥可以是不同的C.加密密钥和解密密钥必须是相同的D.密钥的管理非常简单C