r、s sm2签名值_技术科普 | 国密算法在Ultrain区块链中的运用

本文介绍了国密算法在Ultrain区块链中的应用,特别是SM2椭圆曲线加密技术。针对openssl SM2签名验签性能低下问题,Ultrain进行了算法优化,提升了3-4倍的性能。此外,文章探讨了对称加密、非对称加密和数字签名的基本概念,并对比了椭圆曲线加密与RSA的优势。
摘要由CSDN通过智能技术生成

原标题:技术科普 | 国密算法在Ultrain区块链中的运用

密码学是区块链的基础,区块链中大量采用了密码学算法,包括对称加密、非对称加密、单向散列算法、数字签名等技术。

为了实现密码学技术的自主可控,中国也定义了自己的国密标准,2020年央行颁布的《金融分布式账本技术安全规范》中,明确要求国内的区块链技术必须支持国密算法。Ultrain区块链现已完成对国密算法的支持,符合央行安全规范的全部要求。

本文首先介绍了对称加密、非对称加密和数字签名的基本概念,然后重点讲述了非对称加密算法中的椭圆曲线密码技术,最后阐述了国密算法在Ultrain区块链中的运用。针对openssl国密算法签名验签性能低下的问题,Ultrain对算法实现进行了优化,实现了3~4倍的性能提升,相关的优化代码已经提交到openssl Github

(https://github.com/openssl/openssl/issues/11992)。

01

对称加密与非对称加密

1.1 对称加密

对称加密(symmetric cryptography)是指在加密和解密时使用相同密钥的方式。对称密钥有很多别名,如公共密钥密码,传统密码,私钥密码,共享密钥密码等。图1和图2分别是对称密码加密,解密过程,加密和解密使用相同的密钥,所以称为对称加密。

图1. 对称密码加密

图2. 对称密码解密

1.2 非对称加密

非对称加密(asymmetric cryptography)在加密和解密时使用不同密钥,非对称加密也称为公钥加密(public-key cryptography)。它们通常是一对密钥: 公钥(public key)和私钥(private key), 公钥加密后的密文,私钥可以解密;私钥加密后的密文,公钥可以解密。公钥是由私钥推导出来的,且公钥是公开的。非对称加密解决了对称加密过程中,加密密钥的分发问题。一般公钥用于加密,私钥用于解密。当私钥用于加密时,本质就是数字签名(digital signature),即用公钥解密可以验证信息确实为私钥加密结果。公钥密码目前主要有如下几种:

RSA(Ron Rivest, Adi Shamir和Leonard Adleman的姓氏的首字母组成),该算法利用大质因数分解的困难度。

EIGamal,由Taher EIGamal设计,与RSA不同,它是利用mod N下求离散对数的困难度。

Rabin,由M.O.Rabin设计的公钥算法。Rabin方式求平方根的困难度

椭圆曲线密码(Elliptic Curve Cryptography, ECC),

今天我们重点讲解的密码学算法,它是通过将椭圆曲线上的特定点进行特殊的乘法运算来实现的,它利用了这种乘法算法的逆运算非常困难这一特性。

公钥密钥算法较对称加密算法运算慢,所以ÿ

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值