数据加密和签名

数据加密和签名


1. 散列(哈希)函数


HASH函数有: 有MD5、SHA1、SHA256、SHA512

特点:

  • 任意一个二进制数,进行hash之后都会生成固定的长度
  • 计算出的hash值是不可逆的
  • 不同的值一般计算的都是不同观点hash值,不过也会存在相同的情况,但可能性很小

2.对称加密算法


对称加密算法有哪些: 有DES、3DES、AES

特点: 加密和解密使用同一个秘钥

优点: 加密解密的速度快,性能好

场景: 适合给大数据进行加密

缺点: 密钥在两个地方存储,所以安全性十分重要

3.非对称加密算法


使用最多的是: RSA

特点: 一对密钥,公钥用来解密,私钥用来解密

优点: 安全性好

缺点: 提高了安全性自然就会降低了性能

作用: 提供数据在传输过程中的安全性,只有接受者可以进行查看,其他人都不能进行解密查看

4.签名


特点: 一对密钥,私钥用来签名,公钥用来验签

作用: 接受者只接受指定的发送人,其他发送人发来的信息都概不接受

5.生活场景理解


为了充分理解上述的加密特征,下面用生活中的场景进行解释。

场景: 中国的小明写信给美国的小王。

要求: 保证信的安全,只能够小王一个人看,在运输过程中不允许也不能够让其他人看到里面的内容,无论是何种途径。

此时的小明就开始启动自己的最强大脑:

第一个方法: 对信的内容进行加密,但是加密之后,虽然保证了传输动安全性,即使被中间人看了,也是加密后的信息,但缺点是老王收到之后也只能看到加密后的信息,无法恢复成正常的内容——HASH算法

第二个方法: 不仅对内容进行加密,还将加密的密钥告诉老王,虽然这种方式是可行的,但也是有一定的问题。比如密钥如何给到小王,如果通过传输的方式,也会存在被截获的风险;如果是提前当面告知小王,然后在远程发送加密后的数据,但这个密钥现在有两份,一样存在被泄露的风险——对称加密

第三个方法: 让老王把他的公钥发来,公钥可以让任何人知道,然后小明用小王给的公钥进行加密,然后在进行发送信,收到信的小王用自己的私钥进行解密,私钥只有小王自己有,这就降低了泄露的风险,是相对非常安全的——非对称加密

第四个方法: 虽然利用非对称加密方式解决了传输的安全性问题,但是小王的公钥任何人都有可能知道,所有任何人都可以将加密后的数据发送给小王,但小王在这个时间段中只想收到小明的消息,其他一律拒绝——签名

6.图解


场景:
在这里插入图片描述
分析:
在这里插入图片描述

用户A发送数据:data数据进行hash算法(不直接对原数据签名的原因是hash算法之后能够生成固定数据对长度,能够提高性能)生成hash_A,然后用PRI_A对生成的hash_A进行签名,最终的数据结构是datasign,然后用PUB_B公钥对数据进行加密。

用户B接受数据: 对加密后数据利用PRI_B进行解密,然后判断当前数据是否是用户A发送过来的,然后需要验签,又分为两步,第一步是跟用户A使用同样的HASH算法对data数据进行hash生成hash_data(由于算法不可逆),第二步是对签名进行解签,解签后的值就是用户A利用HASH算法生成的值hash_A,然后两者hash_datahash_A进行比较,如果相同,则能确定是用户A发送过来的进行接受,如果不相等,则拒绝签收。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值