ECDSA密钥

Posted 子龙_w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECDSA密钥相关的知识,希望对你有一定的参考价值。

ECDSA密钥

一、对称加密算法

  指加密和解密使用相同密钥的加密算法。对称加密算法用来对敏感数据等信息进行加密,常用的算法包括DES、3DES、AES、DESX、Blowfish、、RC4、RC5、RC6。

二、非对称加密算法

  指加密和解密使用不同密钥的加密算法,也称为公私钥加密,公钥是公开的,私钥是私有的。

   1.公钥加密,私钥解密:

  当Alice给Bob写信,不希望信件被别人解读,可以使用Bob公开的公钥对信件加密。Bob收到信件后,用自己的私钥解密即可。

  2.私钥签名,公钥验证:

  当Alice给Bob写信,希望证明是Alice自己写的信,而不是伪造的信件,可以使用Alice自己的私钥进行签名。Bob收到信件后,用Alice的公钥验证签名即可。

  常见的非对称加密算法:RSA、DSA、ECC、Diffie-Hellman、El Gamal。

三、ECC(Elliptic Curve Cryptosystems)

  ECC椭圆曲线加密算法相比于RSA来说,可以用比RSA更短的密钥长度达到与其相同的安全程度,一般认为160位的椭圆曲线密钥提供的安全强度与1024位RSA密钥相当。

四、ECDSA

  ECDSA椭圆曲线数字签名算法是DSA作用于椭圆曲线的一个变种算法,Secp256k1是ECDSA曲线的参数,也是比特币选择的特定椭圆曲线。
  公钥其实是secp256k1椭圆曲线的一个坐标点,即(x,y)形式,用16进制表示是:
(9e377b88660311e038b2928f429f5d86bfd4da457cc879d7d8bbeced5473fa2e,
baec5bed260c762e715fa0f333283757dbce71114278a3efdef9416c7c7c09ea)

  1.未压缩公钥

  前缀04 + x坐标 + y坐标
049e377b88660311e038b2928f429f5d86bfd4da457cc879d7d8bbeced5473fa2ebaec5bed260c762e715fa0f333283757dbce71114278a3efdef9416c7c7c09ea

  2.压缩公钥

  前缀03 + x(如果y是奇数),前缀02 + x(如果y是偶数)
  baec5…c7c09ea从最后一位0xa来看,是偶数,所以压缩公钥是:
039e377b88660311e038b2928f429f5d86bfd4da457cc879d7d8bbeced5473fa2e

组合 ECDSA 密钥

【中文标题】组合 ECDSA 密钥【英文标题】:Combining ECDSA keys 【发布时间】:2013-04-24 17:10:45 【问题描述】:

如何将两个 ECDSA 私钥/公钥对合二为一?我知道它是通过 openssl 中的模块化添加完成的,我只是不明白它是如何工作的。谁能给我解释一下?

【问题讨论】:

【参考方案1】:

你可以通过添加两个私钥来做到这一点

privkey = privateA + privateB (mod order)

或者,在 OpenSSL 代码中:

BN_mod_add_quick(privkey, privateA, privateB, order);

这里orderorder = s - j 的最小数字,因此sP = jP 是椭圆曲线上的点P。你的新私钥的公钥是pubkey = privkey * G,或者:

EC_POINT_mul(group, pubkey, privkey, NULL, NULL, ctx);

order和生成点G的值是曲线参数,在创建和设置group(一个EC_GROUP对象)时设置。

【讨论】:

【参考方案2】:

ECDSA 私钥 - 只是一个数字,基点的顺序。 您可以只添加两个私钥(即数字),减少和模基点顺序,并将基点取幂到这个顺序。 但是你为什么需要这个呢?

【讨论】:

用于密钥的拆分密钥零信任生成。私有A + 私有B == 公共A + 公共B。不过,我不听从你的回答。基点的顺序是什么意思? 基点的顺序是,嗯,只是基点的顺序:) 或者,曲线的顺序,椭圆曲线点组的顺序,不知道它有什么其他同义词。基点 G 与自身相加 N 次(其中 N 是阶数),将产生相同的点 G。

以上是关于ECDSA密钥的主要内容,如果未能解决你的问题,请参考以下文章

区块链与密码学第11-01讲:密钥管理概述

区块链与密码学第11-01讲:密钥管理概述

区块链与密码学第11-01讲:密钥管理概述

如何轻松理解区块链中的非对称加密?

区块链科普:非对称加密椭圆曲线加密算法

三分钟区块链|区块链核心技术之非对称加密