已知SHA3-256输入输出,能否找到对应Keccak-256输入获相同哈希?
关于SHA3-256与Keccak256哈希匹配的问题解答
1. 已知SHA3-256的输入输出,能否找到对应Keccak256输入生成相同哈希?
能找到,但不存在直接的转换关系。
- SHA3-256和Keccak256的核心置换算法一致,但填充规则不同:SHA3采用
10*1格式的填充,而原始Keccak256(比如以太坊使用的版本)采用1*格式填充。这意味着即使输入完全相同,两者的预处理数据也不一样,最终哈希结果自然不同。 - 哈希函数本身是多对一的映射,理论上存在大量Keccak256的输入可以生成任意指定的哈希值(包括某个SHA3-256的输出)。但要找到具体输入,只能通过碰撞搜索、构造等方式,无法直接从已知的SHA3-256输入推导出来。
2. SHA3的输入输出信息能否加速Keccak256的暴力破解?
不能,这类信息对破解Keccak256没有实质性帮助。
- 两者的填充差异导致预处理阶段的输入数据完全不同,SHA3的输入输出无法缩小Keccak256的输入搜索空间。暴力破解Keccak256本质是遍历可能的输入并计算哈希,SHA3的相关信息无法减少需要遍历的输入数量,也无法优化哈希计算的过程。
- 除非存在针对Keccak核心置换的通用漏洞,否则单独的SHA3输入输出数据对破解Keccak256没有任何加速作用。
内容的提问来源于stack exchange,提问作者Ilya
相关产品推荐
相关产品推荐

