{"title":"利用程序化 SAT 的 SHA-256 碰撞攻击","authors":"Nahiyan Alamgir, Saeed Nejati, Curtis Bright","doi":"arxiv-2406.20072","DOIUrl":null,"url":null,"abstract":"Cryptographic hash functions play a crucial role in ensuring data security,\ngenerating fixed-length hashes from variable-length inputs. The hash function\nSHA-256 is trusted for data security due to its resilience after over twenty\nyears of intense scrutiny. One of its critical properties is collision\nresistance, meaning that it is infeasible to find two different inputs with the\nsame hash. Currently, the best SHA-256 collision attacks use differential\ncryptanalysis to find collisions in simplified versions of SHA-256 that are\nreduced to have fewer steps, making it feasible to find collisions. In this paper, we use a satisfiability (SAT) solver as a tool to search for\nstep-reduced SHA-256 collisions, and dynamically guide the solver with the aid\nof a computer algebra system (CAS) used to detect inconsistencies and deduce\ninformation that the solver would otherwise not detect on its own. Our hybrid\nSAT + CAS solver significantly outperformed a pure SAT approach, enabling us to\nfind collisions in step-reduced SHA-256 with significantly more steps. Using\nSAT + CAS, we find a 38-step collision of SHA-256 with a modified\ninitialization vector -- something first found by a highly sophisticated search\ntool of Mendel, Nad, and Schl\\\"affer. Conversely, a pure SAT approach could\nfind collisions for no more than 28 steps. However, our work only uses the SAT\nsolver CaDiCaL and its programmatic interface IPASIR-UP.","PeriodicalId":501033,"journal":{"name":"arXiv - CS - Symbolic Computation","volume":"41 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-06-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"SHA-256 Collision Attack with Programmatic SAT\",\"authors\":\"Nahiyan Alamgir, Saeed Nejati, Curtis Bright\",\"doi\":\"arxiv-2406.20072\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Cryptographic hash functions play a crucial role in ensuring data security,\\ngenerating fixed-length hashes from variable-length inputs. The hash function\\nSHA-256 is trusted for data security due to its resilience after over twenty\\nyears of intense scrutiny. One of its critical properties is collision\\nresistance, meaning that it is infeasible to find two different inputs with the\\nsame hash. Currently, the best SHA-256 collision attacks use differential\\ncryptanalysis to find collisions in simplified versions of SHA-256 that are\\nreduced to have fewer steps, making it feasible to find collisions. In this paper, we use a satisfiability (SAT) solver as a tool to search for\\nstep-reduced SHA-256 collisions, and dynamically guide the solver with the aid\\nof a computer algebra system (CAS) used to detect inconsistencies and deduce\\ninformation that the solver would otherwise not detect on its own. Our hybrid\\nSAT + CAS solver significantly outperformed a pure SAT approach, enabling us to\\nfind collisions in step-reduced SHA-256 with significantly more steps. Using\\nSAT + CAS, we find a 38-step collision of SHA-256 with a modified\\ninitialization vector -- something first found by a highly sophisticated search\\ntool of Mendel, Nad, and Schl\\\\\\\"affer. Conversely, a pure SAT approach could\\nfind collisions for no more than 28 steps. However, our work only uses the SAT\\nsolver CaDiCaL and its programmatic interface IPASIR-UP.\",\"PeriodicalId\":501033,\"journal\":{\"name\":\"arXiv - CS - Symbolic Computation\",\"volume\":\"41 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-06-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Symbolic Computation\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2406.20072\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Symbolic Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2406.20072","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
加密哈希函数在确保数据安全方面发挥着至关重要的作用,它能从可变长度的输入生成固定长度的哈希值。哈希函数SHA-256经过二十多年的严格审查,具有很强的适应能力,因此在数据安全方面备受信赖。其关键特性之一是抗碰撞性,这意味着不可能找到具有相同哈希值的两个不同输入。目前,最好的 SHA-256 碰撞攻击使用差分加密分析来查找简化版 SHA-256 中的碰撞,这些简化版的步骤减少,使得查找碰撞变得可行。在本文中,我们使用可满足性(SAT)求解器作为搜索步骤缩减后的 SHA-256 碰撞的工具,并借助计算机代数系统(CAS)对求解器进行动态指导,CAS 用于检测不一致之处,并推导出求解器自身无法检测到的信息。我们的混合 SAT + CAS 求解器的性能明显优于纯 SAT 方法,使我们能够在步骤缩减的 SHA-256 中以明显更多的步骤发现碰撞。使用 SAT + CAS,我们找到了 SHA-256 中修改初始化向量的 38 步碰撞--这是 Mendel、Nad 和 Schl\"affer 的高精密搜索工具首次发现的。相反,纯粹的 SAT 方法只能发现不超过 28 步的碰撞。不过,我们的工作只使用了 SAT 求解器 CaDiCaL 及其程序界面 IPASIR-UP。
Cryptographic hash functions play a crucial role in ensuring data security,
generating fixed-length hashes from variable-length inputs. The hash function
SHA-256 is trusted for data security due to its resilience after over twenty
years of intense scrutiny. One of its critical properties is collision
resistance, meaning that it is infeasible to find two different inputs with the
same hash. Currently, the best SHA-256 collision attacks use differential
cryptanalysis to find collisions in simplified versions of SHA-256 that are
reduced to have fewer steps, making it feasible to find collisions. In this paper, we use a satisfiability (SAT) solver as a tool to search for
step-reduced SHA-256 collisions, and dynamically guide the solver with the aid
of a computer algebra system (CAS) used to detect inconsistencies and deduce
information that the solver would otherwise not detect on its own. Our hybrid
SAT + CAS solver significantly outperformed a pure SAT approach, enabling us to
find collisions in step-reduced SHA-256 with significantly more steps. Using
SAT + CAS, we find a 38-step collision of SHA-256 with a modified
initialization vector -- something first found by a highly sophisticated search
tool of Mendel, Nad, and Schl\"affer. Conversely, a pure SAT approach could
find collisions for no more than 28 steps. However, our work only uses the SAT
solver CaDiCaL and its programmatic interface IPASIR-UP.