密码学基础
安全三要素:完整性、私密性、不可否认性(合法性)
一、完整性:数据没有遭到损坏,或者篡改
通过完整性算法进行完整性校验:哈希算法----不可逆算法MD5 SHA
例如
本地:MD5(原始数据+秘钥)=KEY1
原始数据+KEY1 发送到邻居处
邻居:MD5(原始信息+本地秘钥)=KEY2
若KEY1=KEY2,则表示认证成功。
二、私密性:数据通过转换,形成另一种格式(就是转换为让其他人看不懂、看不见的形式)
私密性算法:
①对称加密算法(如3DES、AES算法)—可逆算法
原始数据+秘钥(公钥)通过复杂的加密过程得到加密数据
算法过程公开,但是秘钥不公开 加密解密使用同一把钥匙
注:1、由于对称加密算法可逆,可以暴力破解,所以需要定期更换秘钥
2、传递过程中,一般不把加密数据以及秘钥使用同一通道传递
②非对称加密算法(公钥算法)—不可逆算法 加解密使用不同的钥匙
特点:1、传输不安全 DH算法 用非对称加密算法加密对称加密算法的公钥
2、数据和秘钥传递通道分开
3、秘钥管理—邮差原理
例:RSA 公钥+私钥 成对出现
原始数据+公钥=加密数据
加密数据必须用私钥去解密 数据安全(邮差原理)
原始数据+私钥=加密数据
加密数据必须用公钥去解密 数字签名
使用哈希算法的原因:1、哈希算法加密之后,数据长度固定,易于传递
2、哈希算法是数据保持完整性
但是有可能出现一个问题:本地存在的公私钥不是对应联系人的公私钥
因此加入第三方认证机构—CA
CA机构可发布证书,该证书用自身私钥加密,然后公布自己的公钥,当其他人需要时可以直接向CA申请相应证书。数字证书中存在三个东西(用户身份信息、身份