支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹

简介: 支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹

09-尚硅谷-微信支付-支付安全-数字签名_哔哩哔哩_bilibili

现在Bob想要给Pink写一封信,信件的内容不需要加密

信件的内容不需要加密,怎样能够保证信息的完整性

使用信息完整性的主要手段是摘要算法,散列函数,哈希函数

我们假设一个任意长度的字符串数据z经过哈希运算之后

经过运算之后会得到一个固定长度H,H称为数据指纹或者摘要

MD5也是一种

摘要算法的四大特性,第一个不可逆,它只有算法,没有秘钥

AES算法属于对称加密的一种,需要一个密钥去加密和解密,而RSA算法是非对称加密的典型算法,公钥和私钥,因此无论是对称加密还是非对称加密都是需要钥匙

第二个是难题友好性,要想得到难题的答案,只能够暴力枚举,从h破解z,只能一个个实验

第三个是发散性,只要对原文有一点点改动,摘要就会剧烈变化

雪崩效应,只有有一点点,改变,计算后的摘要也不同

第四个是碰撞性,经过摘要运算后它的数据长度是固定的,相当于把一个大空间缩小到了小空间也可以是冲突,经过摘要运算之后,可能会有两份不同的原文对应同一份摘要,两个不同z对应同一个h,好的摘要算法必须抵抗冲突,让这种可能性尽可能小

目前流行的摘要算法,有MD5 SHA1以及SHA2

MD5和SHA1被证明不具有强的碰撞性,用的比较多的是SHA2(统称),SHA224, 意思是能够生成24个字节,32个字节,48个字节对应下面的内容

如何通过摘要运算保证信息不被篡改,第一步利用摘要算法,生成信件原文摘要

也就是message digest

第二步 bob将摘要附在信件原文下面,一起发送给pat

第三步bob收到信之后,也使用和Bob一样的摘要算法,得到信件原文和摘要

第四步 pat将加密后的摘要和bob在原文中附加的摘要做一下对比,如果一致,说明信件没有被篡改,

有一个致命的漏洞,如果信件被黑客获取,并且黑客直接修改了原文,并且根据原文直接生成了新的摘要,然后附加在原文下面,伪装成bob给pat发送信件,给Pat接收后,这时候Pat是完全察觉不出来的

摘要算法的一大特点是不具有机密性,如果明文传输,那么黑客可以在修改原文之后,把摘要一起改了,那么说我们还是没有办法,鉴定信息传输的完整性

如果才能够真正保证数据无法被篡改呢?答案是一定要加入密钥,从而确保信息的机密性

来看一下加入密钥之后的摘要算法:第一个步骤,Bob写完之后先用摘要算法,生成信件的摘要

第二个步骤将Bob将私钥加入其中,加密的结果,我们称为数字签名

第三个步骤,Bob将数字签名附在信的原文

收到信的操作:

第一步pat取下数字签名之后,用bob公钥解密得到信件摘要

第二步bob的公钥解密得到信件的摘要

第三步,pat将前面得到的摘要进行比对

如果一致就Bob法的,并且没有经过篡改

这个过程我们将他作为验签

如果黑客没有对应的私钥

就无法对摘要进行加密

经过以上步骤,pat就可以将信件原文取出来了

数字签名可以保证信息传递过程中不被修改

相关文章
|
8月前
|
存储 搜索推荐 算法
加密算法、排序算法、字符串处理及搜索算法详解
本文涵盖四大类核心技术知识。加密算法部分介绍了对称加密(如 AES)、非对称加密(如 RSA)、哈希摘要(如 SHA-2)、签名算法的特点及密码存储方案(加盐、BCrypt 等)。 排序算法部分分类讲解了比较排序(冒泡、选择、插入、归并、快排、堆排序)和非比较排序(计数、桶、基数排序)的时间复杂度、适用场景及实现思路,强调混合排序的工业应用。 字符串处理部分包括字符串反转的双指针法,及项目中用正则进行表单校验、网页爬取、日志处理的实例。 搜索算法部分详解了二分查找的实现(双指针与中间索引计算)和回溯算法的概念(递归 + 剪枝),以 N 皇后问题为例说明回溯应用。内容全面覆盖算法原理与实践
243 0
|
9月前
|
算法 数据安全/隐私保护
基于混沌加密的遥感图像加密算法matlab仿真
本项目实现了一种基于混沌加密的遥感图像加密算法MATLAB仿真(测试版本:MATLAB2022A)。通过Logistic映射与Baker映射生成混沌序列,对遥感图像进行加密和解密处理。程序分析了加解密后图像的直方图、像素相关性、信息熵及解密图像质量等指标。结果显示,加密图像具有良好的随机性和安全性,能有效保护遥感图像中的敏感信息。该算法适用于军事、环境监测等领域,具备加密速度快、密钥空间大、安全性高的特点。
|
Linux PHP 数据安全/隐私保护
2024授权加密系统PHP网站源码
2024授权加密系统PHP网站源码
408 58
|
弹性计算 算法 Linux
使用SM4算法加密LUKS格式磁盘
本文介绍了在Anolis 8操作系统使用cryptsetup对磁盘进行分区、加密和挂载的过程。采用SM4加密算法。具体步骤包括:初始化加密卷、解锁加密分区、格式化并挂载设备。最后,展示了如何取消挂载并关闭加密卷以确保数据安全。整个过程确保了磁盘数据的安全性和隐私保护。
1016 2
使用SM4算法加密LUKS格式磁盘
|
12月前
|
安全 网络协议 算法
零基础IM开发入门(五):什么是IM系统的端到端加密?
本篇将通俗易懂地讲解IM系统中的端到端加密原理,为了降低阅读门槛,相关的技术概念会提及但不深入展开。
441 2
|
前端开发 数据安全/隐私保护
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程
全新紫色新UI数码盲盒系统源码/全开源无加密/附教程 前端uniapp+H5 后端FastAdmin框架 可打包成APP多端运行 亲测可用
452 13
|
应用服务中间件 网络安全 Apache
Discuz! X3.5 开启ssl证书加密后微信、公众号无消息、支付宝通讯中断等
Discuz! X3.5 开启ssl证书加密后微信、公众号无消息、支付宝通讯中断等、支付宝支付实际支付成功,显示未支付等,都属于通讯中断,需要联系DZ官方付费修改程序,屏蔽防CC!
339 4
|
算法 安全 数据安全/隐私保护
Android经典实战之常见的移动端加密算法和用kotlin进行AES-256加密和解密
本文介绍了移动端开发中常用的数据加密算法,包括对称加密(如 AES 和 DES)、非对称加密(如 RSA)、散列算法(如 SHA-256 和 MD5)及消息认证码(如 HMAC)。重点讲解了如何使用 Kotlin 实现 AES-256 的加密和解密,并提供了详细的代码示例。通过生成密钥、加密和解密数据等步骤,展示了如何在 Kotlin 项目中实现数据的安全加密。
1057 1
|
5月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
500 0

热门文章

最新文章