网络安全加密——数据的加密与签名,RSA介绍

admin 2022年4月23日22:25:18评论31 views字数 1812阅读6分2秒阅读模式
e安在线干货专题分享——网络安全加密。本专题将连续的、全方位的、深入地阐述网络安全加密的原理及实用案例分析,希望对学习网络安全的你有帮助,觉得有用记得转发给身边需要的朋友哈~~ 
特别感谢本期作者——时间已静止。


网络安全加密——数据的加密与签名,RSA介绍

达芬奇密码


一、 密码概述

发送者对明文进行加密然后生成密文,接受者再对密文解密得到明文的过程。 现在使用的所有加密算法都是公开的!但是密钥肯定不是公开的。


1

散列(哈希)函数

  • 通常有MD5、SHA1、SHA256、SHA512

  • 实质是抽取特征码,这样一般不会重复!是的,不同的文本它的哈希结果是有可能相同的,但概率很小。
    (举例:比如想要识别一个人,我们可以通过他的指纹来锁定他,指纹出现相同的概率很低吧!在这里,人就相当于数据,而指纹就相当于对人这个数据进行hash后得到的结果)

  • 对任意一个二进制数据进行哈希,可以得到定长的字符串结果,例如MD5哈希结果是128位,更多是以32个字符的十六进制格式哈希输出

  • 还有就是不可逆的,既然是不可逆的,那么当然不是用来加密的,而是签名

2

对称加密算法

  • 有DES、3DES、AES

  • 加密和解密使用同一个秘钥,加密解密的速度快

  • 适合给大数据进行加密

  • 密钥的安全性非常重要

3

非对称加密算法:RSA

  • 使用 公钥 加密,使用 私钥 解密

  • 使用 私钥 加密,使用 公钥 解密

  • 更安全,当然速度会慢下来,如果随着硬件的突破,使用越来越多,特别是支付


二、加密与签名区别


最大的区别是,加密是可逆的,而签名是不可逆的

比如对于"Hello world!"进行加密后得到结果R,还可以使用密钥通过结果R解密得到"Hello world!";而对"Hello world!"进行签名得到结果R,却不能使用密钥通过R获得"Hello world!",要不然的话压缩算法要逆天了!比如hash,使用几十个字符就能存储几G几T的数据。。。


加密是对数据进行机密性保护,签名主要用于身份验证

比如A对B发送了信息Message;通过加密后,即便C通过网络包截取获得了Message,它也不知道里面的具体内容,只能看到一堆乱码;通过签名,假设D也用相同的加密算法发送了此Message,但是签名错误,那么B通过签名依然拒绝D的Message。


以当前使用的比较多的RSA为例举例:
假设A、B双方均拥有一对公私钥(PUB_A、PRI_A、PUB_B、PRI_B)。


A向B发送Message的整个签名和加密的过程如下:

1. A先使用HASH对Message生成一个固定长度的信息摘要Message_hash_A

2. A使用A的私钥PRI_A对Message_hash_A进行签名得到Message_sign(这里为什么不直接对Message进行签名,而要对Message_hash_A进行签名呢?因为Message的长度可能很长,而Message_hash_A的长度则是固定的,这样性能更高,格式也固定,况且hash的结果一般不会出现重复的可能)

3. A接着使用B的公钥PUB_B对信息Message和信息Message_sign进行加密得到Message_RSA,这时A将Message_RSA发送给B。


当B接收到A的信息Message_RSA后,获取Message的步骤如下:

1. B用自己的私钥PRI_B解密得到明文:Message和Message_sign;

2. 然后B使用A的公钥PUB_A解Message_sign得到Message_hash_A;同时,B再对Message使用与A相同的HASH得到Message_hash_B;

3. 如果Message_hash_A与Message_hash_B相同,则说明Message没有被篡改过。

上面的过程中,A知道A的公私钥同时也要知道B的公钥;同理B要知道A的公钥和B的公私钥。


关于公私钥再打个比方:公钥就像一把锁一样将数据锁住;私钥就像钥匙一样,能将对应的锁打开。

公钥加密,私钥解密的好处是:公钥可以公开,那么无论谁有公钥都可以给你发送信息,而且也只有你才能解密


我们经常使用的Github就是使用了签名的方法,SSH,在本地电脑生成一对公私钥,将公钥传到github,然后使用私钥进行签名,github通过公钥延签后认为你的身份合法。

另外,加密和编码是不一样的,比如ASCII是属于编码,是将0~255与字符一一对应。


网络安全加密——数据的加密与签名,RSA介绍


网络安全加密——数据的加密与签名,RSA介绍

原文始发于微信公众号(e安在线):网络安全加密——数据的加密与签名,RSA介绍

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月23日22:25:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网络安全加密——数据的加密与签名,RSA介绍http://cn-sec.com/archives/695970.html

发表评论

匿名网友 填写信息