什么是密钥?
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据.
控制加密和解密过程的一组随机数码,现代密码体制中不管是对称加密算法还是非对称加密算法,整个加、解密过程只于密钥有关,因为算法是公开的。
例如你有一篇word文档,里面包含文件内容ABCD,然后你把他加密转换为defg,加密的算法为大小写转换,
并按照字母表的位置向后对应3位(著名的恺撒密码,呵呵),其中3就是你在这次加密过程中所使用的密钥
密钥分为两种:对称密钥(用于对称加密)与非对称密钥(用于非对称加密)
对称加密 :
即信息的发送方和接收方
用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快, 适合于对大数据量进行加密,但 密钥管理困难。非对称加密:
验证数据的完整性:单方
消息摘要:用MD5(假如)加密后产生的一个字符串
验证数据的完整性:双方
数字签名:用私钥对消息摘要进行加密,就得到了数字签名,将数字签名和原数据发送过去.
用公钥对数字签名解密,就得到了消息摘要,然后再次对原数据用MD5生成消息摘要。比对消息摘要.
接收方可以保证发送发的身份,而且发送方也不能否认自己的发送行为,并能保证数据的完整性,但是发送方用私钥加密的是消息摘要,
而不是原数据。这样第三方就可以知道原数据,这种情况用于合同.