加密实际针对的是信息在流转的过程中不给未经授权的人解读到真实内容,信息有可能会被获取,但是信息真实表示无法知晓,这就是加密,加密有多种算法,如对称加密DES、非对称加密RSA。
信息真实性验证,信息是否是真实的发送者发送,内容有无被篡改,这部分又涉及到信息摘要、数字签名、CA数字证书相关的算法。
一、加密解密过程
对称加密:信息的加密和解密的密钥是相同的,加密用什么密钥,解密时也用什么密钥,特点是速度快、但安全性不是太高,无法确认解密的对象,比如只想让某一个对象进行解密,该算法是做不到的,只要知道密钥即可进行解密。
非对称加密:需要信息的发送和接收方,同时具备一对密钥(公钥和私钥),相互传递信息分别用对方的公钥加密,用自己的私钥解密,注意信息的传递必须是双发的,单项是无法传递的,信息双方非对称加解密过程如下图
二、信息摘要
主要目的用于防止信息被篡改,通过摘要算法对正文内容进行特征提取生成一个摘要信息,发送的同时将正文信息及摘要一起发送给接收者,接收者通过正文生成摘要与发送者发过来的摘要进行比对,以验证信息是否被篡改,起到防止篡改的目的,信息摘要一般会结合加密算法进行传递。如
1.对发送的明文进行对称加密,对生成的摘要进行非对称加密。
2.接收方分别解密出明文和生成摘要,然后与发送来的摘要进行比对。
三、数字签名
签名用于表示该信息的发送者是明确的,明确是谁发来的信息。
A有一对密钥分别签名、验证密钥,A将信息发给B,A先对信息先用签名密钥进行签名,签名后发给B,B用A的验证密钥进行验证,用于判断该信息就是A所发送。
四、数字证书
数字证书实际就是主体身份的认证,通过证书来确认该密钥就是张三或就是李四的,数字证书含有主体的公钥、发布者的数字签名(其实就是发布者主体的公钥)(颁发机构的数字签名)等信息。
A从合法的CA机构申请数字证书,完成后并颁发给A。
B与A通信安全性保密性首先需要按照A的要求下载数字证书,数字证书含有A的公钥,B通过数字证书中的签名(发布者的主体公钥)判断是否是CA机构颁发的,如果是在本地生成随机密钥,并用A的公钥对随机密钥进行加密传输,A收到后用私钥解密出密钥,并用该密钥加密传输信息给B,B收到后用之前生成的随机密钥进行解密,后续AB都用这个随机的密钥进行传输。