支付系统---微信支付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就可以将信件原文取出来了

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

相关文章
|
16天前
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现
|
10天前
|
存储 安全 算法
Java中的数据加密与数字签名技术
Java中的数据加密与数字签名技术
|
14天前
|
存储 算法 安全
网络安全中的加密技术与解密算法:保障数据安全的基石
【7月更文挑战第1天】网络安全依赖加密技术与解密算法确保数据安全。本文探讨加密原理、对称与非对称加密(如AES、DES、RSA、ECC)及它们在数据传输、存储安全和身份验证中的应用。加密是数据保密的核心,面对不断升级的网络威胁,加密技术将持续进化以适应新挑战。
|
13天前
|
算法 C# 数据安全/隐私保护
|
14天前
|
算法 安全 Java
Java中MD5加密算法的原理与实现详解
Java中MD5加密算法的原理与实现详解
|
10天前
|
安全 数据安全/隐私保护
支付系统之微信支付08-身份认证,公钥和私钥的含义,私钥自己有的,作为唯一的控制系统,私钥加密,公钥解密是为了身份认证
支付系统之微信支付08-身份认证,公钥和私钥的含义,私钥自己有的,作为唯一的控制系统,私钥加密,公钥解密是为了身份认证
|
11天前
|
小程序 定位技术
微信小程序实战——获取用户地理位置信息
微信小程序实战——获取用户地理位置信息
13 0
|
12天前
|
算法 安全 网络安全
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
支付系统,网络安全06----支付安全---,机密性,加密算法,目前最流行的加密算法,AES加密算法,目前最流行的非对称加密算法RSA,对称加密和非对称加密的优缺点,非对称加密是基于非常复杂的数学算法
|
13天前
|
算法 Java 数据处理
Java中MD5加密算法的实现
Java中MD5加密算法的实现
|
2天前
|
算法 数据安全/隐私保护
基于GA遗传优化算法的Okumura-Hata信道参数估计算法matlab仿真
在MATLAB 2022a中应用遗传算法进行无线通信优化,无水印仿真展示了算法性能。遗传算法源于Holland的理论,用于全局优化,常见于参数估计,如Okumura-Hata模型的传播损耗参数。该模型适用于150 MHz至1500 MHz的频段。算法流程包括选择、交叉、变异等步骤。MATLAB代码执行迭代,计算目标值,更新种群,并计算均方根误差(RMSE)以评估拟合质量。最终结果比较了优化前后的RMSE并显示了SNR估计值。
15 7