数字签名介绍

这篇具有很好参考价值的文章主要介绍了数字签名介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数字签名介绍

一、概念

  • 数字签名: 也称为公钥数字签名,是一种通过公钥加密领域的技术来鉴别数字信息的方法
  • 作用: 区块链使用公钥、私钥加密解密信息,数字签名在其中保证发送的信息不被篡改

二、分类

  • 数字签名算法包括:RSA(RSA加密算法 + 哈希算法)、DSA、ECDSA
  • 双向算法——加密(解密)算法
    • 包括对称加密(单秘钥加密)——DES、3DES、AES
    • 非对称加密(公开秘钥加密)——RSA、ECC
  • 单向算法——加密算法
    • 哈希算法——MD5、SHA-1、SHA-256、SHA-512

数字签名算法,区块链知识,区块链

三、数字签名的两种运算过程

1、签名过程

  • 签名:即指使用私钥处理信息或因信息的哈希值而产生签名的过程
  • 签名使用解密公式

2、验证过程

  • 验证:指使用公钥验证签名的真实性
  • 验证使用加密公式
  • 数字签名算法,区块链知识,区块链

RSA数字签名算法

  • 场景假设:小明向小红借了一笔钱,需要写一张借条,纸质版的借条我们可以使用笔迹签名来鉴定签名者的身份是小明,然后通过肉眼观察确保文件内容,但如果是电子版的借条就需要使用数字签名来保证了

  • 具体过程:
    • (1)小明完成对文件的数字签名:
      • 小明通过RSA算法生成自己的私钥和公钥,对文件进行哈希运算,得出文件哈希值H,
      • 使用私钥根据RSA解密公式对文件哈希值进行签名运算,得出数字签名S
    • (2)公钥、文件及数字签名发送到互联网上
    • (3)小红完成签名验证
      • 小红使用公钥根据RSA加密共识对数字签名进行验证运算,得出文件哈希值H
      • 同时对文件进行哈希运算,得出文件哈希值
      • 将者两个文件哈希值进行对比,若两者相同,则证明签名成立,不同则签名不成立

数字签名算法,区块链知识,区块链

  • 如何保证数据文件没被篡改?

    • 若文件被篡改,则文件的哈希值就会发生变化,两个文件哈希值就会不相同,签名验证也就不能通过
  • 如何保证文件是小明本人签署的?

    • 数字签名只能由私钥拥有者生成,也就确保了签字者身份一定是私钥拥有者的,但不能确定私钥拥有者一定是小明
      • 因为其他人自己也可生成一套私钥公钥,并进行数字签名冒充成小明签名,小红使用冒充者的私钥和公钥同样可以验证通过
    • 需要数字证书来保证私钥公钥生成者是小明
      • 小明将公钥及部分个人身份信息发送到某个权威公正的证书颁发(简称CA)机构
      • CA机构在核实小明身份后,将颁发一个数字证书
      • 该证书内包含了小明的身份信息和其公钥数据,也就证明了该公钥生成者的身份为小明
      • 小明将该证书放到互联网上,然后小红通过该证书可以确定哪一个公钥是小明的
      • 其他人的数字签名使用小明公钥验证出的结果会发生变化,也就不能通过数字签名验证

数字签名算法,区块链知识,区块链

  • 如何确保数字签名不被伪造?

    • 数字证书是经过CA机构数字签名的
    • CA机构自己也生成一套公钥私钥
      • 使用私钥对“小明身份信息及其公钥数据”这一文件内容进行数字签名,并放到数字证书中
        • 数字证书相当于文件和数字签名的组合体
      • 在每个人电脑或手机系统里,默认安装了根证书
        • 根证书里记录了可以信赖的CA机构信息及其公钥
      • 根证书预先安装在系统中可以杜绝CA机构公钥被伪造的可能
      • 通过CA机构公钥就可以验证数字证书里的数字签名,从而确保了数字证书的不可伪造性

数字签名算法,区块链知识,区块链文章来源地址https://www.toymoban.com/news/detail-829412.html

四、比特币签名的具体过程描述

  • 大体过程:由比特币转账的转出方生成的一段防伪造的字符串,可以用来验证签名者的身份和签名时间,从而保证被签信息是否真实正确
  • 假设用户A要给用户B转账具体流程:
    • 用户A在转账前需要先将交易信息缩短成一段字符串,用自己的私钥进行加密以形成数字签名
    • 用户A将交易信息、数字签名和公钥都广播出去,矿工会将这些信息记录下来,并用A的公钥进行验证
      在转账前需要先将交易信息缩短成一段字符串,用自己的私钥进行加密以形成数字签名

到了这里,关于数字签名介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字签名介绍

    数字签名: 也称为公钥数字签名,是一种通过公钥加密领域的技术来鉴别数字信息的方法 作用: 区块链使用公钥、私钥加密解密信息,数字签名在其中保证发送的信息不被篡改 数字签名算法包括:RSA(RSA加密算法 + 哈希算法)、DSA、ECDSA 双向算法——加密(解密)算法 包

    2024年02月20日
    浏览(34)
  • 数字签名验签 — ECC算法

    ​ 前段时间,项目上有需求对于重要文件的传输接收时,接收端需要对文件进行安全校验,采用数字签名的方式确保数据来源的安全性以及数据完整性。之前未接触过密码安全方面的知识,现将实施过程中所遇所学记录下来~ ​ 本文将按照以下知识内容来记录: ​ 1 数字签

    2024年02月05日
    浏览(37)
  • 安全算法(三)消息验证码、数字签名和数字证书

    主要介绍了消息验证码、数字签名和数字证书三种加密方式。 消息认证码 消息认证码可以实现“认证”和“检测篡改”这两个功能。密文的内容在传输过程中可能会被篡改,这会导致解密后的内容发生变化,从而产生误会。消息认证码就是可以预防这种情况发生的机制。 假

    2024年01月22日
    浏览(48)
  • 【图解DSA数字签名算法】DSA签名算法的Python实现 | 物联网安全 | 信息安全

    系列索引:【图解安全加密算法】加密算法系列索引 Python保姆级实现教程 | 物联网安全 | 信息安全 DSA数字签名算法基于SHA1哈希算法,关于SHA1的实现看另一篇文章。 数字签名标准(DSS)由NIST公布,该标准能够使接收者能够验证数据的完整性和数据发送者的身份而制定,所采用

    2024年02月06日
    浏览(53)
  • 算法2_非对称加密算法之ECDSA(椭圆曲线数字签名算法)

    ECDSA(椭圆曲线数字签名算法) AES(高级加密标准): =对称加密 ​ 对业务数据进行加密,防止他人可以看见 ECDSA(椭圆曲线数字签名算法):=非对称加密算法(公钥和私钥) ​ 验证数据的真实性,防止业务数据被篡改 SHA(安全哈希算法)=哈希算法 1. 作用: 因为ECDSA椭圆曲线数字签名算法获得

    2024年02月02日
    浏览(63)
  • 读改变未来的九大算法笔记05_数字签名

    3.3.1.1. 钟大小为11的乘法表 3.5.2.1. 欧几里得算法也能根据钥匙值计算出挂锁值,而这一算法要比暴力破解高效得多。这也是乘法方法被认为不安全的原因 4.2.1.1. 钟大小为22时n的三次方和七次方的值 4.5.1.1. 发明一种高效的分解因子算法只会破坏类RSA机制

    2024年02月08日
    浏览(47)
  • 密码学概念科普(加密算法、数字签名、散列函数、HMAC)

    密码散列函数 (Cryptographic hash function),是一个单向函数,输入消息,输出摘要。主要特点是: 只能根据消息计算摘要,很难根据摘要反推消息 改变消息,摘要一定会跟着改变 对于不同的消息,计算出的摘要几乎不可能相同 根据散列函数的上述特点,可以应用在保存密码、数

    2024年02月10日
    浏览(55)
  • 密码学学习笔记(十七 ):Edwards曲线数字签名算法 - edDSA

    Edwards曲线数字签名算法(Edwards-curve Digital Signature Alogorithm, edDSA)由Daniel J. Bernstein等人在2011年提出,它是一种使用基于扭曲爱德华兹曲线的Schnorr签名变体的数字签名方案。 EdDSA的一个特殊之处在于,该方案不要求每次签名都是用全新的随机数,而且该算法是确定性的。 EdDSA不直

    2024年02月16日
    浏览(48)
  • SM2椭圆曲线公钥密码算法--密钥对与数字签名

    SM2算法全称是SM2椭圆曲线公钥密码算法(SM是商用密码的拼音缩写),是一种基于“椭圆曲线”的密码ECC(Elliptic Curve Cryptography)。2016年,SM2成为中国国家密码标准。 在商用密码体系中,SM2主要用于替换RSA加密算法。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于

    2024年02月11日
    浏览(46)
  • Web应用JSON数据保护(密码算法、密钥、数字签名和数据加密)

    1.JSON(JavaScript Object Notation) JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。JSON通过简单的key-value键值对来描述数据,可以被广泛用于网络通信、数据存储等各种应用场景,被广泛应用于互联网前后端数据交互与传输之中。 例如,

    2024年03月23日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包