我试图编写一个函数,在给定EIP712 ECDSA签名的情况下,验证签名是由特定的人签名的,然后(以某种方式)检索签名中编码的信息。
甚至可以从EIP712 ECDSA签名中检索未散列的数据,还是只能通过已经以未散列格式获得该数据并使用经济复苏验证数据的签名者来验证签名所包含的数据?
发布于 2022-10-29 22:15:01
定义的签名由一组编码规则组成,这些规则指定如何将数据输入签名算法。
从有关EIP712的页面中我们可以看到:
编码符合EIP-191。“版本字节”被固定到
0x01,“版本特定数据”是32字节域分隔符domainSeparator,“数据要签名”是32字节hashStruct(message)。
哪里
hashStruct(s : ) = keccak256(typeHash ‖ encodeData(s)),其中typeHash = keccak256(encodeType(typeOf(s)))
这里,keccak256是一个加密安全的散列,它是不可逆转的。因此,您只能猜测被散列的数据,然后使用它验证签名。不能从签名本身检索任何信息。
这是大多数签名的正常属性,尽管有基于RSA的签名方案允许(部分)消息恢复。
https://crypto.stackexchange.com/questions/102501
复制相似问题