Score:2

ทำความเข้าใจการชนกันของแฮช - ทำไมถึงแย่

ธง cn

ฉันอ่านคำตอบสองสามข้อเกี่ยวกับคำถาม: เหตุใดการชนกันของแฮชจึงอันตรายมาก แต่ไม่ได้รับคำตอบที่น่าพอใจจริงๆ สมมติว่าเราเป็นคนแรกที่พบการชนกันของ SHA256 เช่น

sha256($§"%fa7asd8ft6sds) = sha256(889=?`/&&%"HSF)

(นี่ไม่ใช่สมการจริง แต่ถือว่ามันเป็นจริง)

ทำไมถึงเป็นอันตราย? ทำไม SHA256 ถึงเสียตอนนี้? ฉันจะทำให้การชนกันมากขึ้นจากสิ่งนี้ได้อย่างไร และอาจมีการชนกันที่สำคัญกว่า เช่น sha256(Send me 5â¬) = sha256(Send me 5000⬠&%$"§"%§%...)

knaccc avatar
es flag
ถ้าฉันเซ็นชื่อแฮชของข้อความ A ความสามารถในการค้นหาการชนกันของแฮชจะหมายความว่าคุณสามารถอ้างว่าฉันเซ็นชื่อข้อความ B แทนได้ เพราะพวกเขาจะแชร์แฮชเดียวกัน
kelalaka avatar
in flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [ตัวอย่างการโจมตีที่ดีอื่นๆ ที่ใช้การชนกันของแฮชคืออะไร](https://crypto.stackexchange.com/questions/87104/what-are-other-good-attack-examples-that-use-the-hash-collision )
Score:4
ธง in

ประการแรก การชนกันของการเข้ารหัสลับไม่พบโดยการค้นหาหรือโดยบังเอิญ มีการคำนวณเนื่องจาก - ด้วยเหตุผลบางประการ - อัลกอริทึมแฮชใช้งานไม่ได้ คุณยังคงต้องสร้างเกี่ยวกับ $2^{128}$ แฮชเพื่อค้นหาการชนกัน แม้ว่าคุณจะเอาวันเกิดมาผูกไว้ก็ตาม และจำไว้ว่าคุณต้องทำการเปรียบเทียบด้วยเช่นกัน แม้ว่าจะมีเคล็ดลับในการเร่งความเร็วนั้น

แทนที่ทีมที่ดำเนินการวิเคราะห์จะพบจุดอ่อนและใช้ประโยชน์จากมัน ซึ่งบางครั้งต้องใช้ทรัพยากรจำนวนมาก นอกจากนี้ยังหมายความว่าหากคุณสร้างการชนกัน คุณมีแนวโน้มที่จะสามารถสร้างการชนกันได้มากขึ้นโดยใช้วิธีการเดียวกัน

หากสถานะภายในจำนวนค่อนข้างน้อยได้รับผลกระทบ อาจ เป็นไปได้ที่จะแก้ไขแฮช - SHA-1 ที่ชุบแข็งเช่นได้รับการป้องกันจากการโจมตีแบบ SHAttered แน่นอนว่าตอนนี้ SHA-1 อ่อนแอแล้ว มีเหตุผลมากมายที่จะต้องย้ายไปที่เช่น อย่างไรก็ตาม SHA-256 และฉันไม่เคยเห็น SHA-1 ที่ชุบแข็งเลย


แม้ว่าคุณจะมีเพียงสองอินพุตที่สร้างค่าแฮชเดียวกัน คุณอาจประสบปัญหา แฮชทำงานแบบบล็อกต่อบล็อกภายใน หากเป็นไปได้ที่จะพบการชนกัน บล็อกถัดไปก็จะมีความเสี่ยงเช่นกัน กล่าวอีกนัยหนึ่งถ้าคุณพบว่า $H'(B_1) = H'(B_2)$ แล้ว $H'(B_1 \| E) = H'(B_2 \| E)$ ที่ไหน $\|$ คือการต่อ โปรดทราบว่าส่วนขยาย $E$ อาจมี ใดๆ ข้อมูล. ในแง่นั้น: หากคุณพบการชนกันหนึ่งครั้งสำหรับ SHA-256 แสดงว่าคุณพบการชนกันของข้อความที่ขึ้นต้นด้วยบล็อกหรือบล็อกข้อมูลเฉพาะ

สำหรับ SHA-3 สถานการณ์จะซับซ้อนกว่าเล็กน้อย (ขึ้นอยู่กับว่าสถานะภายใน - เช่น ความจุของฟองน้ำที่ใช้แล้ว - เหมือนกันก่อนหรือหลังการดำเนินการขั้นสุดท้าย) แต่โดยพื้นฐานแล้วคุณยังคงมีปัญหาอยู่


หากการชนกันประเภทนี้ใช้กับโปรโตคอลของคุณก็เป็นอีกคำถามหนึ่ง แบบแผนเช่น HMAC ที่ใช้ฟังก์ชันแฮชจะไม่ได้รับผลกระทบเลย เนื่องจากไม่ต้องการการต้านทานการชนกันจากฟังก์ชันแฮชที่กำหนดค่าไว้

poncho avatar
my flag
สำหรับ SHA-3 สถานะภายในเดียวที่คุณต้องเหมือนกันคือ 'บิตความจุ' ผู้โจมตีสามารถตั้งค่า 'อัตราบิต' บนข้อความใดข้อความหนึ่งเป็นอะไรก็ได้ตามที่เขาต้องการ (โดยเลือกข้อความอย่างเหมาะสม)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา