赞
踩
采用AES加密算法,使用密钥K,对明文P进行加密,得到的密文C,作为明文P的认证码,和明文P一起传输给接收方。接收方收到后,再使用自己的密钥,对明文再做一次AES加密,生成新的认证码,与接收到的发送方的认证码进行对比验证。如果相等,说明明文没有被篡改,接收方就可以接收明文并处理;如果不相等,说明明文被篡改,数据不安全,则丢弃!
这就是基于AES的CMAC算法,多用于消息数据的正确性认证,生成的认证码,叫作message authentication code,消息认证码,简称MAC。
简单来说,把任意长度的输入数据通过散列算法变换成固定长度的输出数据(Hash值)。输入值的长度通常比输出值大,这是一种压缩映射。不同的输入可能会有相同的Hash值,所以你无法通过Hash值来逆向解出输入值。所以Hash值不能用在数据的加解密上,因为不可逆!
那可以用在哪呢?可以用在文件的数字签名上。
当我们在手写一份文件或合同时,为了确认这份文件的正确性,会签上自己的姓名。别人拿到这份文件,想确认其真伪,不需要辨别里面的内容的真实性,只需要鉴定文件签名的真实性即可。签名正确,即代表文件真实。签名是假的,那么这份文件就是假的。
同样地,数字签名是互联网中用来替代人工签名的方式。通过对互联网中文件进行数字签名,来确保其真实性。具体操作如下:
以上可以看出:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。