首页 能链洞察 区块链百科

区块链百科之 数 字 签 名

区块链百科之 数 字 签 名

发布时间:2021.01.27
在数字时代中,数字化文档的认证性、完整性和不可否认性,是实现信息化安全的基本要求。数字签名则是满足上述要求的主要方式之一,亦是现代密码学的研究内容之一。

本期《区块链百科》专栏将与你一起回顾数字签名关键问题,基于密码学的数字签名优势几何?有哪些常用的数字签名实现方案?以下点击标题即可阅读全文。

如何理解数字签名概念及原理

数字签名(Digital Signature)可以理解为附加在某一电子文档中的一组特定的符号或代码,用于表示签发者的身份以及签发者对电子文档的认可,并能被接收者用来验证该电子文档在传输过程中是否被篡改或伪造。

基于密码学的数字签名有着独特优势:(1)消息源认证性:数字签名可以表示签发者的身份,也就是说具有消息源认证性。(2)不可否认性:数字签名生成时需要输入签名者私钥。换句话说,数字签名对应唯一签名主体,并且签名者需要承担不可推卸的责任,即数字签名可以实现不可否认性。(3)消息完整性:数字签名可以检查电子文档在传输过程中是否被篡改或伪造,即保障消息完整性。

数字签名 | 基于RSA的签名方案

RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(AdiShamir)和伦纳德·阿德曼(Leonard Adleman)联合提出的。RSA可以说是第一个安全、实用的公钥加密算法,并已成为国际标准,也是目前应用最广泛的公钥加密体制之一。RSA的基础是数论的欧拉定理,其安全性依赖于大整数因子分解的困难性。

因加解密次序可换,RSA公钥加密体制既可用于加密,也可用于设计数字签名。要注意的是,公钥、私钥均可用来加密与解密。若为了实现加密传输,则可用收信方公开的公钥加密文件,由此仅唯一拥有私钥的收信方才可以解密文件;若是为了实现数字签名,则可用自己的私钥进行数字签名,接收者可以用对应的公钥解密以确认签名来源。

 数字签名 | 基于离散对数的签名方案

与RSA公钥加密体制类似,离散对数加密算法也属于公钥加密体制,而且整个公钥密码体制的复杂性(RSA、离散对数、椭圆曲线)都建立在一些数学难题之上,例如RSA的安全性依赖于大整数因子分解的困难性,而离散对数则依赖有限域离散对数求解的困难性。

离散对数被誉为当代密码学领域的三大基础之一。基于有限域上离散对数问题的公钥加密体制,最著名的是EIGamal加密体制。但ElGamal加密算法的一个缺点是传递密文的长度是明文长度的两倍,使得传递密文的过程中,通信的信息量增大。而这些问题将在椭圆曲线签名方案中得到解决。

数字签名 | 基于椭圆曲线的签名方案

随着计算机信息处理能力的不断提高,对密钥长度的要求也越来越高,这个问题对于存储能力受限的系统来说显得尤为突出。椭圆曲线密码体制(ECC)的提出改变了这种状况,它可以用更短的密钥提供与其他体制相当的或者更高级的安全,并已成为迄今被实践证明安全、有效、应用较广的3种公钥密码体制之一。

基于椭圆曲线的数字签名方案,在相同的安全强度条件下,签名长度短,密钥存储空间小,适用于存储空间有限,带宽受限、要求高速实现的场合。此外,椭圆曲线资源丰富,同一有限域上存在着大量不同的椭圆曲线,这也为安全性增加了额外的保障。正是由于椭圆曲线具有丰富的群结构和多选择性,并可以在保持和RSA、EIGamal体制同样安全性的前提下大大缩短密钥长度,因而有着更为广阔的应用场景。

*本文图片来源于网络,仅供学习交流使用,不具任何商业用途,图片版权归原作者所有,如有侵权还请联系我们,谢谢!