数字签名和数字证书

数字签名技术是互联网的一项基础技术,他解决的是【数据来源可靠与否的问题】,相当于给数据打上一个独一无二的【标记】,接收者看到这个标记就可以确定,这个条数据到底是不是XXX发出的,即:数据的来源是否可被信任

从技术的实现上来说,数据签名有两种方式:
* 对称性加密
* 非对称性加密

对称性加密:
举个通俗的例子:
在这里插入图片描述
上面用于加密信息的盒子的锁只有一个钥匙孔,加锁和解锁都共用一个孔,所以:
发送者可以对消息加锁,也可以对消息解锁,同理,接收者也可以对消息加锁,对消息解锁

而且,对于任意一个人来收,只要从【发送者】和【接收者】的任意一方中得知【钥匙】的信息,就可以对信息经行【篡改】
这是非常危险的!

为了解决这问题,就出现了【非对称性加密】
举例:
在这里插入图片描述
在【非对称加密】中,加密信息的盒子的锁,一个有两个孔,任意一个孔都可以对盒子进行开锁和解锁,但要服从下面的规则:
* 左孔加锁,则必须右孔解锁
* 右孔加锁,则必须左孔解锁
即:
* 【公钥加密,私钥解密】
* 【私钥加密,公钥解密】

所以,在这种场景下,发送者只能对信息进行加密,无法对加密后的信息进行解密吗,
而接收者既可以对信息加密也可以对信息解密,因为接收者是有公钥的(公钥就是他发布出去的)

所以,在这种场景下,安全性就高了很多,从【任意一方获得钥匙】变成了【必须从接收者这获得私钥】,无疑,技术安全提高了数倍!!!
理论上,只要私钥不被任何其他人知道,那么信息就绝对是安全的!!!

基于【非对称性加密】,又引出了另一个问题:冒充公钥
因为私钥基本不可获得,那么就不获得了,直接冒充公钥就可以了!
举例:
A,B,C,三个人,ab相互通信,采用【非对称性加密】,c想进行窃听,但是a的私钥基本不可获得,那么c就不去获得了,直接假扮成a,与b进行通信,
从中套b的话,间接的获得ab通信的内容,具体假扮的方式:
c自己生成一对钥匙,把【自己的公钥】和【a给b的公钥】进行调包,但是b不知道,这个时候b给a发的消息,其实是在给c发消息,c用自己的私钥进行解密,完美!!!

如何解决这个问题?
答:数字证书
举例:
在这里插入图片描述
从上面的证书格式可以发现:数字证书的本质就是【将人和公钥进行绑定】,即:让公钥具有人的属性,通过这个属性就可以知道这个公钥到底是谁的!!!
即:让钥匙打上人的烙印!!!

回到,上面abc的例子,引入数字证书之后,b就可以知道这个手上的【公钥】到底是谁的了,b通过查验数字证书,发现这个【公钥】不是a的那么就不会进行
通信了,也就保证了ab通信内容的安全性!!!
这下【技术上】彻底完美了!

但也仅仅只是【技术上完美了】,如果,证书的验证机构也与c【沆瀣一气】那信息任然是不安全的,而这已经超越了技术的能力边界,需要【法律】与【秩序】的介入了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
数字签名是一种用于验证和确保数字数据完整性、认证身份和防止篡改的技术。它基于公钥密码学的原理。数字签名使用私钥对数据进行加密生成签名,然后使用对应的公钥进行验证签名的有效性。 数字签名的过程包括以下步骤: 1. 生成密钥对:首先,需要生成一对密钥,包括一个私钥和一个公钥。私钥由签名者保留,公钥可以公开发布。 2. 数据签名签名者使用私钥对要签名的数据进行加密生成签名。这个签名是唯一的,任何对数据进行篡改都会导致签名验证失败。 3. 签名验证:接收者使用签名者的公钥对接收到的数据和签名进行解密和验证。如果解密后的签名与解密后的数据匹配,说明数据完整且未被篡改。 数字证书是用于证明公钥的真实性和拥有者身份的电子文档。数字证书由权威机构(如数字证书颁发机构)颁发,其中包含公钥、证书持有者信息和颁发机构的数字签名数字证书的作用是确保公钥的合法性和信任,以及提供验证身份的方式。它可以用于安全通信、身份认证、数据完整性保护等多个领域。 在使用数字证书进行数字签名时,签名者的公钥会包含在数字证书中,接收者可以使用数字证书中的公钥对签名进行验证。数字证书数字签名可以保证证书的真实性和可靠性。 总结来说,数字签名是一种通过加密和解密技术,用于验证数据完整性和身份认证的方法。而数字证书则是一种包含公钥、身份信息和数字签名的电子文档,用于证明公钥的真实性和拥有者身份。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值