1.思考题
(1)列举消息认证的三种方法。
单向散列函数,消息认证码MAC,利用常规加密的消息认证
(2)什么是MAC?
一种认证技术。利用私钥产出一小块数据,并将其附到消息上。这种技术称为消息验证码。
(3)消息认证的三种方案
A.使用传统加密。B.使用公钥加密。C.使用秘密值。
(4)对于消息认证,散列函数H必须具有什么性质才可以用?
H可使用于任意长度的数据块
H能生成固定长度的输出
对于任意长度的x,计算H(x)相对容易,并且可以用软/硬件方式实现
对于任意给定值h,找到满足H(x)=h的x在计算机上不可行。
对于任意给定的数据块x,找到满足H(y)=H(x),的y=!x在计算机上是不可行的。
找到满足H(x)=H(y)的任意一对(x,y)在计算机上是不可行的。
(5)对于散列函数的内容,压缩函数是什么?
压缩函数也具有散列函数的特征,具有抗碰撞能力的压缩函数可以被用来设计成消息认证方法。Whirlpool算法就是采用AES分组加密方法使用于压缩函数。
(6)公钥加密系统的基本组成元素是什么?
明文,加密算法,公钥和私钥,密文,解密算法
(7)列举并简要说明公钥加密系统的三种应用。
加密/解密,数字签名,密钥交换
(8)私钥和密钥之间有什么区别?
传统加密算法中使用的密钥被特别地称为密钥,用于公钥加密的两个密钥被称为公钥和私钥。私钥总是保密的,但仍然被称作私钥而不是密钥,这是为了避免与传统加密混淆。
(9)什么是数字签名?
A想给B发送消息,B收到密文时,她能够用A的公钥进行解密,从而证明这条消息确实是A加密的,因为没有其他人拥有A的私钥,所以其任何人都不能创建由A的公钥能够解密的密文。因此,整个加密的消息就成为一个数字签名。
2.在线工具
请登录如下平台,进行消息认证和非对称加解密测试
http://tool.chacuo.net/cryptrsapubkey
https://www.sojson.com/hash.html

