标签:申请 一个 str 防止 成功 des 消息 rsa 级别
将明文的数据通过某种算法进行编码,从而防止被人窃取, 其逆行为为解密
从宏观角度来看加密算法可分为三大类 哈希算法,对称算法,非对称算法
秘钥只有一把,发送者通过秘钥加密,接受者通过秘钥解密,在此之间使用的都是同一把秘钥(速度快,但安全性不高)
两把秘钥,公钥和是私钥,公钥和私钥不同但是是相互匹配的,发送者通过公钥进行加密,接受者只能通过私钥解密,或发送者通过私钥加密,接受者只能通过公钥解密,
补充:通常用公钥进行加密,私钥进行解密 私钥负责签名,公钥负责验证 。
公钥和私钥应用场景
场景一:你只想单独发送一个邮件给某某,用它的公钥加密,只有他的私钥才能解密。
场景二:你想群发一个消息,用自己的私钥加密,别人就可以通过你的公钥,并且知道你是发送的,
数字签名两个作用
1.证明这个消息是你发的
2.证明这个文件的是完整的没有被篡改(保证其完整性 但是不能保证其权威性(不能确保是谁发的))
实现:原文做一次哈希,然后用私钥加密这段哈希作为签名,然后用户通过解密这段签名 解密成功则确保这段是你发的,而且内容是完整的
总结而言非对称加密安全缺陷在于用户不知道公钥是服务器还是中间人发送的
解决这个问题就是使用数字证书 我们需要找到一个拥有公信力、大家都认可的认证中心(CA)。
1.服务器传输给客户端会对服务器信息以及公钥通过哈希算法生成信息摘要
2.为了防止信息摘要被人调换,服务器还会用CA提供的私钥对信息摘要进行加密形成数字签名
3.服务器还会把原来没有hash算法之前的个人信息以及公钥和数据证书合并在一起形成数字证书
4.最后客户端拿到数字证书后,客户端通过CA提供的公钥对数字证书中的数字签名进行解密拿到信息摘要,然后把数字证书里的服务器个人信息以及公钥进行hash得到另一份信息摘要,最后把两份信息摘要进行对比,如果一样,则是服务器的,否则就不是
5.那客户端怎么获取CA的公钥,服务器怎么获取CA的私钥 其实,(有些)服务器一开始就向认证中心申请了这些证书了(有没有看过没有证书的网站在地址栏会被标出警告?),而客户端是,也会内置这些证书。 当客户端收到服务器传输过来的数据数字证书时,就会在内置的证书列表里,查看是否有解开该数字证书的公钥,如果有则...,如果没有则....
原作者:https://www.cnblogs.com/kubidemanong/p/9390021.html
哈希算法也称为安全散列算法是一个密码散列家族 能算出数字消息所对应到的,长度固定的字符串(消息摘要)且若输入的消息不同,它们对应到不同字符串的机率很高
常见加密算法
1.DES:对称算法 速度较快 适用于加密大量数据
2.3DES: 对称加密 是基于DES的对称算法 对一块数据用不同三种方式加密 安全性高 强度高
3.RC2和RC4 是对称加密
5.DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
6.AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES 标准的一个实现是 Rijndael 算法。
标签:申请 一个 str 防止 成功 des 消息 rsa 级别
原文地址:https://www.cnblogs.com/JinJunWang/p/11117700.html