签名是一种非对称加密算法的用法,即使用不同的加密密钥与解密密钥,而由已知加密密钥推导出解密密钥在计算上是不可行的。签名是用非对称算法的私钥签名,然后用私钥对应的公钥来验证签名,的主要作用是确定发送方的身份。
除了签名,非对称加密算法还有一个用处是加密和解密,加密则是用公钥来对信息加密,然后用对应的私钥进行解密,主要作用是向接收方传递加密的信息。签名和加密的作用和算法都不相同,因此需要加以区别。
1签名与验签
签名算法可以在不泄露发送者本身的私钥的情况下,通过公钥和签名信息来确认发送者持有对应的私钥。签名还可将发送者的身份和信息绑定,防止其他人冒充发送者,因此这样处理可保证信息的防篡改的同时认证发送者的身份。目前常用的签名验签算法有RSA数字签名和椭圆曲线数字签名,其中椭圆曲线数字签名是区块链中应用最多的方法。
1.1RSA数字签名
RSA是被研究得最广泛的公钥算法,从提出到现在已有四十年的历史,经历了各种攻击考验。RSA的安全性主要依赖大数分解,优势是秘钥长度可以增加到任意长度。RSA运算方式造成了签名内容如果较短,会被很容易修改为攻击者想要的内容,所以一般还需要将签名内容进行一次哈希运算,并填充至和私钥差不多的长度。此外,随着计算能力的增长,为防止被破解,秘钥长度也需要不断增长,目前认为安全的秘钥长度是2048bit。同时RSA的私钥生成需要两个质数的组合,因此寻找更长私钥的计算速度也更慢。
声音 | 中国平安:深入开展人工智能、区块链、云三大核心技术的研发与应用:中国平安(601318)昨日发布了即将在年度股东大会及H股类别股东大会上的决议资料,其中包括《公司2019-2021年发展规划》,规划在发展措施中指出,公司持续夯实基础,深入开展人工智能、区块链、云三大核心技术的研发与应用,深度赋能核心业务的客户经营、渠道管理、客户服务、风险管控等方面,推动业务价值提升和创新公司孵化。[2019/3/29]
1.2椭圆曲线数字签名
椭圆曲线算法是利用在有限域上的椭圆曲线的离散对数问题来加密或签名的。椭圆曲线的秘钥和RSA不同,有效范围会受椭圆曲线参数的限制,因此不能像RSA一样可以通过增加私钥长度来提高安全性,对于安全性不够的曲线,必须修改椭圆曲线的参数,不如RSA灵活。和RSA算法比,椭圆曲线的优势在于:私钥可以选取有效范围内的任意数,私钥的生成速度远快于RSA算法的私钥。最重要的是相同秘钥长度的椭圆曲线安全性能高很多,因此达到相同安全等级需要的椭圆曲线秘钥的长度远小于RSA秘钥的长度,因此占用的存储空间相对较小,对于存储比较受限的区块链来说,椭圆曲线更适用。这里用椭圆曲线对签名算法进行简单介绍,因为椭圆曲线的签名方法和加解密的方法区别明显,而RSA的签名和加解密算法模式近似,容易引起混淆,在此不做介绍。
动态 | 区块链等技术已经在平安银行多项业务中深入运用:据人民网消息,据统计,平安集团每年都拿出营收的1%来投入科研,基于这样的科技优势,目前,互联网、大数据、区块链、人工智能、物联网等前沿技术,在平安银行的现金管理、互联网支付结算、电子政务、贸易融资等产品和业务中都已有深入运用。此外,区块链的应用降低了银行的管理和运营成本和提高了风险控制能力。以平安银行的供应链应收账款服务平台“SAS”为例,该平台通过区块链技术确认交易的真实性,从而给核心企业上游的中小企业发放贷款。[2018/11/6]
1.3非对称签名验签算法
签名算法最主要的思路就是利用算法的单向性,使私钥和随机数被隐藏起来,然后用公开信息计算获得一致的结果来验证签名的有效性。
动态 | SAP与苏宁将在区块链等领域开展深入研究:在“第9届中德经济技术合作论坛”上,中国国务院总理李克强与德国总理默克尔,共同见证了SAP与苏宁控股集团的战略合作签约。根据合作协议,未来,双方将联合开展技术创新和行业实践,在人工智能、机器学习、区块链、物联网等领域开展课题研究,共同促进数字经济发展。[2018/7/10]
如图所示,蓝线为签名所需要的数据,经过单向门的数据可被隐藏,未经过单向门的数据需要小心处理;红线是验签的数据,这些数据对验签者都是公开的。
下面不考虑乘法在有限域椭圆曲线上的具体算法,以SEC的椭圆曲线签名算法来简单介绍一下签名的过程。SEC是一个椭圆曲线的标准,一些常用的曲线,如secp256k1、secp256r1都是这个标准下的。其他椭圆曲线算法的流程都差别不大,但是签名的方式有区别,如国密SM2的签名和验签计算的方式和SEC的不一样,给消息进行哈希算法的流程也更多。RSA签名则没有随机数的流程。
1.3.1私钥签名
签名算法多次用到了算法的单向性,可以看做一个单向的门,经过计算相当于从一边穿过单向门,但是并不能通过运算再走回去。比如私钥为k,公钥K可通过椭圆曲线乘法算出:
中国科技大学原党委书记郭传杰:要促进区块链等技术在教育领域的深入应用:5月30日,第四届“互联网+教育”创新周在北京闭幕。中国科技大学原党委书记郭传杰表示,要促进人工智能、云计算、大数据、区块链、物联网等技术在基础教育研究领域的深入应用,提升互联网和教育的深度融合及创新。[2018/6/2]
kG(x,y)=K(x',y'),其中G为椭圆曲线基点,但知道公钥K和基点G是无法反推出私钥k的。椭圆曲线乘法和哈希算法都是这种单向门。签名的过程为(其中有小写字母的为数值,大写字母为点):
取随机数r,计算椭圆曲线乘法:r*G(x,y)=R(x",y");
计算消息m的哈希值h:Hash(m)=h;
3根据随机数r,哈希值h和私钥k,计算s=(h+k*Rx)/r,其中Rx为R点x轴的数值;
将消息m和签名(Rx,s)发送给验证者。
需要注意的是第三步s的计算是数值计算,利用随机数隐藏私钥,并非哈希或椭圆曲线乘法这种单向性的运算。因此每次签名随机数r必须更换,否则对不同信息用相同的随机数签名就可以推算出私钥,而且随机数r的质量将影响私钥的保密性。
英国金融监管机构发出承诺 将对新兴的ICO市场进行深入审查:金融市场行为监管局周五表示,将对ICO市场进行审查,以此作为更多监管行动的前奏。它已经告诫消费者与投资ICO有关的“非常高的风险”。“在初始投币(ICO)市场上,FCA将收集进一步的证据,并对快速发展进行更深入的研究。调查结果将有助于确定在9月份发布的消费者警告之外是否需要在这方面进一步采取监管行动。“FCA在一份声明中表示。[2017/12/15]
1.3.2公钥验签
验签是通过公钥K(x',y')、消息哈希h和签名值(Rx,s)来推算签名值是否由公钥K对应的私钥k签名。验签的过程为:
根据收到的消息m,计算哈希值h:Hash(m)=h;
根据收到的公钥、签名和哈希值h计算:R’=hG(x,y)/s+RxK(x',y')/s;
验证R‘x是否等于Rx。
公钥验签的原理是用公钥、签名和哈希值构造出算法,使计算结果能回到原来选取的随机数上:
R’=h*G(x,y)/s+Rx*K(x',y')/s
=h*G/s+Rx*(k*G)/s=(h+k*Rx)G/s
=(h+k*Rx)G*(r/(h+k*Rx))
=r*G
因此验签是否成功的标志是R'x和Rx是否相同。
这里都是最简化的推导方式,没有把求模运算和具体的椭圆曲线加法和乘法等涉及到的运算考虑进去,实际计算中关于数值的计算要求模,因此最后R’可能算出的是R的对称点,而对称点的y轴坐标不同但是x轴相同。还有,数值除法也并不是常规的运算,而是将除数转换成模逆元再做乘法。
2.加密与解密
非对称加密的作用是将信息通过公钥加密传递给私钥持有者。非对称加密和签名相反,信息是经过隐藏的,发送方也并不和身份绑定,主要的功能是传输信息而不是确定身份。非对称加密的效率比对称加密低很多,主要的优势是接收方不需要将秘钥通过交换协议或者直接传输给信息发送方。和签名类似,非对称加密也有RSA和椭圆曲线的方法。加密同样利用算法的单向性,使消息和随机数被隐藏起来,然后用私钥计算将加密的消息提取出来。
如图所示,蓝线为签名所需要的数据,经过单向门的数据可被隐藏,未经过单向门的数据需要小心处理;红线是验签的数据,这些数据是要传给解密者或者解密者本身持有的。解密流程中私钥为解密方单独持有,随机数和消息由加密方生成和提供。
2.1公钥加密
加密也用到单向门的特性将随机数隐藏,具体流程为:
取随机数r,计算椭圆曲线乘法:r*G(x,y)=R(x',y');
将消息m编码到椭圆曲线上,获取椭圆曲线上的点M(x",y");
用随机数r和接收方的公钥K,计算椭圆曲线乘法:r*K(x,y);
计算椭圆曲线加法得出加密点S(x"',y"')=M(x",y")+r*K(x,y),并和R(x',y')一起发送给接收方;
加密中编码的方式有很多种,比如用M点做对称加密的密钥,然后将用该密钥加密后的信息一起发送给接收方,接收方用私钥解密出M后,再用M解密对称加密的信息。
2.2私钥解密
私钥解密是通过加密内容,随机点R和私钥k来还原出编码M的过程,具体流程为:
根据发送方传输的S(x"',y"'),R(x',y')和接收方自己的私钥k,计算S(x"',y"')-k*R(x',y')还原M(x",y");
用编码M解出消息m;
私钥解密的原理是用私钥和加密相关的消息还原出编码点M:S(x"',y"')-k*R(x',y')=M(x",y")+r*K(x,y)-k*R(x',y')
=M(x",y")+r*k*G-k*r*G(x',y')
=M(x",y")
然后根据M还原出加密的消息。
2020年5月13日,一个名叫Lubian的矿池突然空降BTC.com矿池榜单,以超过6000P的算力强势登榜,排名第5.
1900/1/1 0:00:00随着过去几周内比特币价格的上涨,主要加密货币衍生品交易所的比特币未平仓合约量和交易量均创新高。 PlanB:相信比特币价格将在未来几年继续增长:1月22日消息,分析师PlanB发推称,自己在2016年以400美元的价格购买第一枚BTC.
1900/1/1 0:00:00作者|如仔 出品|奔跑财经 由于DeFi市场发展迅速,无论是金融产品还是去中心化交易所都吸引了大批资金,DEX甚至主导了传统交易所的上币方向,此前高高在上的传统交易所不得不紧跟趋势抓住DeFi的潮流.
1900/1/1 0:00:00#StakingFinance系列文章,本系列追溯了整个Staking的发展历史,分别从#StakingasaReward质押奖励#StakingasaService质押服务#StakingasaOperation质押操作#Staki.
1900/1/1 0:00:00来源:链得得 作者:毛利五郎 最近一周对日本最大的社交平台公司Line来说,简直如有神助。发币成功、与PayPay联手,美国的禁令又为Line铲除异己,日本的在线支付领域迎来了寡头经济时代.
1900/1/1 0:00:00根据QKL123行情显示,北京时间8月2日凌晨,ETH快速上涨,一度逼近400美元,同时刷新了自2018年8月份以来的历史新高,与此同时还带动了其他主流币种的上涨,比特币突破了11800美元,创2019年8月份以来新高.
1900/1/1 0:00:00