主页 > imtoken钱包苹果版手机安装包 > 什么是数字签名?什么是公钥和私钥
什么是数字签名?什么是公钥和私钥
什么是数字签名?什么是带公钥和私钥的数字签名
此处参考阮一峰的数字签名讲解,详见:什么是数字签名? ——阮一峰的博客
1、Bob有两把钥匙,一把是公钥,一把是私钥。
2. Bob 将公钥交给他的朋友——Patty、Doug、Susan——每一个。
3. 苏珊正在给鲍勃写一封机密信。 她写完后,用Bob的公钥加密,达到保密的效果。
4. Bob收到信后,用私钥解密,看到信的内容。 这里要强调的是,只要Bob的私钥没有泄露,这封信是安全的,即使落入他人之手也无法解密。
5. Bob 回信给 Susan,决定使用“数字签名”。 写完之后,他先用Hash函数生成了一封信的摘要。
6. 然后,Bob 用私钥加密这个摘要,生成一个“数字签名”(signature)。
7. Bob 把这个签名附在信上,一起寄给 Susan。
8. 苏珊收到信后去掉数字签名,用鲍勃的公钥解密,得到信的摘要。 这证明这封信确实是鲍勃寄出的。
9. Susan 然后对字母本身使用哈希函数,并将结果与上一步中获得的摘要进行比较。 如果两者相符,则证明这封信没有被篡改。
10. 出现了并发症。 Doug 想通过秘密使用 Susan 的计算机并用他自己的公钥交换 Bob 的公钥来欺骗 Susan。 此时,Susan 实际上拥有 Doug 的公钥,但认为它是 Bob 的。 因此,道格可以冒充鲍勃,用他的私钥做一个“数字签名”,写信给苏珊,让苏珊用假鲍勃的公钥解密。
11. 后来,Susan 觉得不对劲,无法确定公钥是否真的属于 Bob。 她想了个办法,让鲍勃去一个“证书颁发机构”(简称CA)对公钥进行认证。 证书中心用自己的私钥对Bob的公钥和一些相关信息进行加密比特币一个私钥对应多个公钥,生成“数字证书”。
12、Bob拿到数字证书后,就可以放心了。 以后如果给Susan写信,签名的时候只需要附上数字证书就可以了。
13、Susan收到信后,用CA的公钥解开数字证书,就可以得到Bob真正的公钥,进而可以证明这个“数字签名”是否真的是Bob签的。
14、接下来我们来看一个应用“数字证书”的例子:https协议。 该协议主要用于网页加密。
15. 首先,客户端向服务器发送加密请求。
16、服务器用自己的私钥对网页进行加密后,连同自己的数字证书一起发送给客户端。
17. 客户端(浏览器)的“证书管理器”有一个“受信任的根证书颁发机构”列表。 客户端会根据这个列表检查解锁数字证书的公钥是否在这个列表中。
18、如果数字证书中记录的网址与您正在浏览的网址不一致,则表示此证书可能被冒用,浏览器会发出警告。
19. 如果数字证书不是可信机构颁发的,浏览器会再次发出警告。
20、如果数字证书是可靠的,客户端可以使用证书中服务器的公钥对信息进行加密,然后与服务器交换加密后的信息。
公钥和私钥数字证书
数字证书是一种权威的电子文件,它提供了一种在互联网上验证个人身份的手段。 它的作用类似于司机的驾驶执照或日常生活证明。 它由权威机构——CA证书颁发机构(Certificate Authority)中心颁发,人们可以用它在互联网通信中识别彼此的身份。 也就是说,以数字证书为核心的加密技术,可以对网络上传输的信息进行加解密、数字签名和签名验证,确保在互联网上传输的信息的机密性和完整性,以及真实性。交易主体的身份和签名信息的真实性。 否认。 当然,在数字证书认证过程中,数字证书认证中心(CA)作为权威、公正、可靠的第三方,起着至关重要的作用。 数字证书还必须是唯一且可靠的。
在浏览器中使用证书
我们访问的大部分网站都有相应的证书
我们可以在浏览器的设置中找到这个证书(这里是 Chrome)
如果我们将其设置为不可信,我们会在您访问相应网站时警告您,告诉您该网站不安全,原因如上所述。
您还可以导入证书以访问某些您认为安全但没有导入证书的网站。
私钥算法:
私钥加密算法,又称为对称加密算法,因为这种算法的解密密钥和加密密钥是相同的。 又因为加密和解密使用同一个密钥,这个密钥不能公开。
私钥就是只要有钥匙就可以开锁。
公钥算法:
公钥意味着拥有密钥不一定能解锁,必须使用对应的解锁密钥才能解锁,增加了难度。
私钥和公钥的区别:S.NO私钥公钥
1个
私钥比公钥快
公钥比私钥慢
2个
使用相同的密钥和算法来加密和解密消息
在公钥密码学中,使用了两个密钥,一个用于加密,另一个用于解密。
3个
在私钥密码学中,密钥是保密的。
在公钥密码学中,两个密钥之一是保密的。
4个
私钥是对称的比特币一个私钥对应多个公钥,因为只有一个密钥称为秘密密钥
公钥是非对称的,因为有两种类型的密钥:私钥和公钥。
5个
在这种类型的密码学中,发送方和接收方需要共享相同的密钥
在这种类型的密码学中,发送方和接收方不需要共享相同的密钥。
6个
在这种密码学中,密钥是私有的
在这种类型的密码学中,公钥可以是公钥,私钥可以是私钥。
数字证书格式
根据不同的服务器和服务器版本,我们需要使用不同的证书格式。 对于市面上主流的服务器来说,大概有以下几种格式:
分布式能源
这种格式是二进制文件内容,Java和Windows服务器更喜欢这种编码格式。
OpenSSL 视图
openssl x509 -in certificate.der -inform der -text -noout
转换为 PEM:
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
质子交换膜
Privacy Enhanced Mail,一般为文本格式,以-----BEGIN...开头,以-----END...结尾。中间的内容是BASE64编码的。 这种格式可以保存证书和私钥。 有时我们也会将PEM格式的私钥后缀改为.key,以区别证书和私钥。 您可以查看文件的内容以获取详细信息。
这种格式通常用于 Apache 和 Nginx 服务器。