正确答案
在一次信息传送过程中,可以综合利用消息加密、数字信封、散列函数和数字签名实现安全性、完整性、可鉴别和不可否认。具体过程如下:
(1)发送方A
①求明文消息的消息散列值:hA=H'(M);
②发送方用自己的私钥KSA对散列值进行数字签名:h'=EKSA(hA);
③将明文M和数字签名h'合并为M',M'=【Mh'】;
④随机产牛—个DES密钥KDES;
⑤用DES密钥KDES加密M',C1=EKDES(M');
⑥用接受方B的公钥加密DES密钥,C2=EKPB(KDES)。
A将C1和C2发送给接受方B。
(2)接受方B
接受方B收到消息后:
①B用其私钥打开数字信封,得到发送方的DES密钥,KDES=DKSB(C2);
②再用此密钥去解密消息C1,M'=DKDES(C1);
③从M’中分离出M和h’;
④求明文消息的消息散列值,hB=H(M);
⑤对A的数字签名h’进行身份验证,hA=DKPA(h’);
⑥比较hA和hB,如hA=hB,则说明M确是A发送的消息,如hA≠hB,则收到的M是不可信的。
这就是数据完整性检验。