tp钱包的消息签名, 这个机制是保障数字身份安全方面的一个核心部分。如果你能够理解它的原理的话,这就可以方便你在比较短的时间里来判断一条签名究竟是不是值得去信任的。
tp钱包的底层, 是基于以太坊账户体系来运行的。在签名环节, 使用的是SECP256K1椭圆曲线算法。具体来说, 是使用私钥对消息哈希进行非对称加密。最后生成一个有65字节长的签名。这个签名由r、s、v三个分量组成。其中, v的作用, 是用来标识恢复公钥的时候的奇偶性状态。
在签名的动作进行之前, 钱包这个对象会对原始消息去做一个Keccak-256的哈希运算。
紧接着, 钱包把以太坊签名消息的这个前缀, 也就是那个叫Ethereum Signed Message:的东西, 还有消息长度的那个字节, 都拼接到一起。这么一搞就确保签名仅绑定该条特定消息。这样就能够有效防止跨场景重放攻击的情况发生。
验证方的做法是通过公钥从签名里面把签名者的地址给恢复回来, 然后把这个恢复出来的地址和预想的地址进行对比, 只要一样就能确认来源是哪里了。全程根本不需要私钥来参与, 这一特点也就是tp钱包支持可以离线进行签名的基础所在。
内容反馈与继续阅读
发现步骤、链接或版本说明需要修订时,可前往联系我们页面提供文章地址和问题描述。请勿提交助记词、私钥、验证码或资产截图。
查看反馈说明 浏览安全中心