数字签名和数字证书

     一、数字签名

报文按双方约定的HASH算法计算得到一个固定位数的 报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。
将该报文摘要值用发送者的私人密钥加密(对明文进行解密完全没问题,会得出一个不可读的“明文”),然后连同原报文一起发送给接收者,而“加密”后的报文即称 数字签名
接收方收到数字签名后,用同样的HASH算法对原报文计算出报文摘要值,然后与用发送者的 公开密钥对数字签名进行解密(原先已经把签名加密了,再解密就能还原)得到的报文摘要值相比较。如相等则说明报文确实来自所称的发送者。

建立在公钥密码技术上的数字签名方法有很多,有RSA签名、DSA签名和椭圆曲线数字签名算法(ECDSA)等等。下面对RSA签名进行详细分析。

RSA签名的整个过程可以用下图表示:

  (1)发送方采用某种摘要算法从报文中生成一个128位的散列值(称为报文摘要)

备注:最常用的摘要算法叫做MD5(Message Digest 5),它的作者R.L.

  (2)发送方用RSA算法和自己的私钥对这个散列值进行加密,产生一个摘要密文,这就是发送方的数字签名

  (3)将这个加密后的数字签名作为报文的附件和报文一起发送给接收方:

  (4)接收方从接收到的原始报文中采用相同的摘要算法计算出128位的散列值;

  (5)报文的接收方用RSA算法和发送方的公钥对报文附加的数字签名进行解密;

  (6)如果两个散列值相同,那么接收方就能确认报文是由发送方签名的。

   采用数字签名,也能完成这些功能:

  (1)确认信息是由签名者发送的

  (2)确认信息自签名后到收到为止,未被修改过

  (3)签名者无法否认信息是由自己发送的。

   数字签名最常用的HASH算法:MD5和SHA-1比较:

   MD5是128位长度的,SHA-1是160位长度,安全性来讲SHA-1更高一些,但运算时间也略长一些。目前来讲,这两种算法都是相对安全的,破解难度很大。

二、数字证书

数字证书是一个经证书授权中心(CA) 数字签名 的包含 公开密钥 拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。
数字证书颁发过程一般为:用户首先产生自己的 密钥 对,并将公共密钥及部分个人身份信息传送给 认证中心 。认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的 公钥 信息,同时还附有认证中心的签名信息。用户就可以使用自己的数字证书进行相关的各种活动。数字证书由独立的证书发行机构发布。数字证书各不相同,每种证书可提供不同级别的可信度。可以从证书发行机构获得您自己的数字证书。
总结:数字证书, 确保了证书持有者的真实身份,也确保了公钥的真实性 (通过机构的数字签名来保障)。
最经典的应用:HTTPS协议中服务端和客户端协商公钥的环节。

  





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字签名是一种用于验证和确保数字数据完整性、认证身份和防止篡改的技术。它基于公钥密码学的原理。数字签名使用私钥对数据进行加密生成签名,然后使用对应的公钥进行验证签名的有效性。 数字签名的过程包括以下步骤: 1. 生成密钥对:首先,需要生成一对密钥,包括一个私钥和一个公钥。私钥由签名者保留,公钥可以公开发布。 2. 数据签名:签名者使用私钥对要签名的数据进行加密生成签名。这个签名是唯一的,任何对数据进行篡改都会导致签名验证失败。 3. 签名验证:接收者使用签名者的公钥对接收到的数据和签名进行解密和验证。如果解密后的签名与解密后的数据匹配,说明数据完整且未被篡改。 数字证书是用于证明公钥的真实性和拥有者身份的电子文档。数字证书由权威机构(如数字证书颁发机构)颁发,其中包含公钥、证书持有者信息和颁发机构的数字签名数字证书的作用是确保公钥的合法性和信任,以及提供验证身份的方式。它可以用于安全通信、身份认证、数据完整性保护等多个领域。 在使用数字证书进行数字签名时,签名者的公钥会包含在数字证书中,接收者可以使用数字证书中的公钥对签名进行验证。数字证书数字签名可以保证证书的真实性和可靠性。 总结来说,数字签名是一种通过加密和解密技术,用于验证数据完整性和身份认证的方法。而数字证书则是一种包含公钥、身份信息和数字签名的电子文档,用于证明公钥的真实性和拥有者身份。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值