分享一个一个月前看了忘记分享的文章:什么是 ECDSA 的 signature malleability

简单来说,椭圆曲线是镜像的,可以把签名 s 翻转成 n-s 而签名仍然是有效的,这样一样的内容就有了两个不同的签名,可以做 replay 之类的攻击

解决方法就是只接受曲线上半部分或者下半部分的签名,一般接收下半部分比较多

https://zokyo.io/blog/signature-malleability-risks-and-solutions/ Zokyo: Signature Malleability: Risks, Attacks, and Solutions for Smart Contracts
 
 
Back to Top