加密解密
加密解密
名词介绍
加密的分类
不可逆加密MD5
MD5加密,就是典型的不可逆的加密,因为他只能从数据信息通过加密后得到密文信息,而不能从密文 再通过计算得到原文;
对称可逆加密Des
非对称可逆加密Rsa
数字签名和数字证书
1)签名
历史中的通信,都是通过书信来传递信息,那么在写信的时候,除了写信件的正文,在信件的最后,需 要有一个写信人的亲笔签名,这就标注,这封信件是来自于谁的,谁写出的这封信。也可以通过字迹来 辨别真伪。如果有人冒充,可以通过字迹来辨别,那么这个亲笔签名就有很大的作用了。
现在传输信息是互联网传输信息,那么在传输的过程中,也需要明确指定这个信息是哪儿传来的,那么 就需要明确的签名来指定是谁发的。网络传输是很不安全的,如果直接传输数据,数据信息有可能会被 篡改。那怎么做呢?请看下图:
注意:其他支持:私有key加密+公有key解密
场景:小明给小红传输信息: 服务器和客户端之间的数据传输
小明发送准备:
第一步:小明把文件信息,通过MD5加密(哈希运算)得到一个MD5密文。
第二步:小明在本地通过Rsa生成一组加密解密key(非对称加密)。
第三步:使用这组Rsa的加密key加密MD5密文,得到的内容就是签名
第四步:小明把签名+需要传输的文件数据+本地生成的解密key打包到一起,发送到互联网传输----传递 给小红。
小红收道消息:
第一步:使用公钥解密签名,如果正常解密,就可以得到小明发送过来的文件信息中的MD5密文。
第二步:使用MD5(哈希计算)把传过来的文件信息MD5加密,就可以得到文件信息的MD5密文。
现在就有一个是通过解密得到的文件信息的MD5密文,一个是通过文件信息MD5后的密文。
第三步:比对这两个MD5密文,如果密文完全一样,说明,传输过来的文件信息是没有被篡改过,如果 篡改过,MD5后的文件信息,是不能等于解密后的MD5数据的。
私有key加密+公有key解密
问题:
1.其实以上只能保证文件数据没有被篡改过。
2.不能保证小红收到的消息一定是来自于小明,虽然签名上写的是小明,但是这个东西是有可能伪造 的。
就类似于,你收到一封信,信件末尾的签名写的是小明,其实这封信是有可能是其他人来伪造的。 那么在数字签名中,也存在这样的一个问题,因为接受到的消息中的公钥是发送者提供的,如果其他 人,发送了一条消息给小红,同时在发送的时候,签名说是小明发的,在小红那里按照以上规则也可以 成功的。但是这个时候,这里已经被他人顶替了。
所以以上的签名:只能保证消息在传输的过程中,不被篡改,并不能完全保证这个文件数据是一定来自 于谁。
为了更加安全,不被冒充,所以就需要证明这个发送者的身份。怎么证明呢?请往下看。数字证书!
2)数字证书