EllipticCurveSigner

class EllipticCurveSigner(curveName: String) : Signer

Constructors

Link copied to clipboard
constructor(curveName: String)

Functions

Link copied to clipboard
open override fun publicFromPrivate(privateKey: BigInteger): BigInteger
Link copied to clipboard
open override fun recover(recId: Int, message: ByteArray, signature: SignatureData): BigInteger?
Link copied to clipboard
open override fun sign(message: ByteArray, privateKey: BigInteger): SignatureData

r、s: r 和 s 是两个大整数,它们是通过对消息哈希值应用椭圆曲线密码学运算得出的。在签名生成过程中,通过私钥对哈希值进行操作后会产生两个随机数, 分别是 r 和 s。这两个值共同构成签名的核心部分,能够证明签名者拥有对应公钥的私钥,并且同意了签名的消息内容。 v: 在某些签名实现中(例如以太坊的ECDSA签名),v 是一个额外的值,用来表示签名过程中使用的椭圆曲线点的奇偶性,或者在某些情况下用于标识签名算法 的版本或恢复标识符。v 的取值范围通常会根据具体实现有所不同,但它同样是签名验证过程中的重要组成部分,用于确定签名的有效性和恢复原始签名者的公钥。 e: 在 SM2 签名的情况下,e 是计算过程中需要的一个中间值,代表了消息经过特定哈希处理后的结果。 在 ECDSA 签名中通常称为“被签名的消息摘要”(hashed message),在这里可能是针对 SM2 标准进行了相应的计算调整。

Link copied to clipboard
open override fun verify(message: ByteArray, signatureData: SignatureData, publicKey: BigInteger): Boolean