Score:1

เหตุใดขนาดเอาต์พุตจึงเท่ากับครึ่งความจุของ sha-3

ธง jp

สำหรับฟังก์ชันแฮชตระกูล SHA-3 ขนาดเอาต์พุต $d$ มักจะถูกเลือกให้เป็น $d=c/2$นั่นคือครึ่งหนึ่งของ capcity อะไรคือเหตุผลสำหรับสิ่งนี้?

ฉันคิดว่าอย่างไร้เดียงสา $d=c$ น่าจะเข้าท่ากว่าเพราะ

  • ความต้านทานการชนน่าจะเป็น $\นาที(d/2, c/2)$ และ
  • ความแรงของภาพก่อนน่าจะเป็น $\นาที(ง, ค)$.

ดังนั้นการเลือก $d=c$ จะทำการโจมตีที่ขีดความสามารถเทียบเท่ากับการโจมตีที่เอาต์พุต ฉันพลาดอะไรไป

kelalaka avatar
in flag
สิ่งนี้ตอบคำถามของคุณหรือไม่ [ความปลอดภัยของ Keccak/SHA3 จากการโจมตีในวันเกิด](https://crypto.stackexchange.com/questions/41413/security-of-keccak-sha3-against-birthday-attacks) และ [เหตุใดการชนทั่วไปของโครงสร้างฟองน้ำจึงค้นหาการโจมตี ความซับซ้อนของ O(min(2^(-n/2) , 2^(-c/2)))?](https://crypto.stackexchange.com/q/12668/18298)
Simon avatar
jp flag
@kelalaka ไม่ค่อยคิด คำถามเหล่านี้พูดถึงการโจมตีแบบปะทะกันเท่านั้น คำตอบจากเสื้อปอนโชอธิบายว่าเหตุใดจึงเกี่ยวกับการโจมตีแบบพรีอิมเมจ ซึ่งฉันไม่เคยรู้มาก่อน
kelalaka avatar
in flag
ฉันไม่เห็นภาพล่วงหน้าในคำถามของคุณ ที่นี่ [ความครอบคลุมที่มากขึ้นด้วยการเพิ่มควอนตัม](https://crypto.stackexchange.com/a/67677/18298)
Simon avatar
jp flag
@kelalaka ฉันไม่ได้ถามเกี่ยวกับการโจมตีแบบปะทะโดยเฉพาะ ฉันถามเกี่ยวกับเหตุผลในการเลือก $d=c/2$ ในมาตรฐาน sha3 (เพราะการผ่อนคลายของฉันเองดูเหมือนจะระบุว่า $d=c$ เป็นตัวเลือกที่ดีกว่า) ฉันเพิ่งแก้ไขคำถามเพื่อให้ชัดเจนยิ่งขึ้น ฉัน (ไม่ถูกต้อง) คิดแต่เรื่องการโจมตีแบบปะทะกันเท่านั้น อย่างไรก็ตาม คำตอบของเสื้อปอนโชนั้นเป็นที่น่าพอใจอย่างยิ่ง
kelalaka avatar
in flag
ลิงก์สุดท้ายกล่าวถึงเหตุผลของ NIST และแก้ไขในซีรีส์ SHAKE ในภายหลัง
Score:4
ธง my

เหตุใดขนาดเอาต์พุตจึงเล็กกว่า SHA-3 ถึงครึ่งหนึ่ง

เนื่องจากการโจมตีแบบปะทะกันไม่ใช่สิ่งเดียวที่น่าสนใจ เรายังคาดว่าสำหรับการโจมตีแบบพรีอิมเมจ (และพรีอิมเมจครั้งที่สอง) การโจมตีที่ดีที่สุดนั้นไม่ได้ดีไปกว่าการใช้กำลังดุร้าย $2^n$ การประเมินแฮชสำหรับ $n$ฟังก์ชันแฮชบิต)

สำหรับ SHA-3 เรามีแนวทางอื่นดังนี้:

  • เลือกรูปภาพเริ่มต้นจำนวนมาก $A_1, A_2, ..., A_k$ และคำนวณสถานะระดับกลางเมื่อถูกกำหนดให้กับ SHA-3 $\alpha_1, \alpha_2, ..., \alpha_k$

  • เลือกภาพสุดท้ายจำนวนมาก $B_1, B_2, ..., B_k$ และใช้ความจริงที่ว่าการเรียงสับเปลี่ยนของ Keccak นั้นกลับด้านได้ คำนวณจากสถานะสุดท้ายที่ทราบ (ที่ส่งออกค่าเป้าหมาย) สถานะระดับกลางที่จำเป็นซึ่งจะส่งผลให้เกิดสถานะสุดท้าย รัฐระดับกลางเหล่านี้คือ $\beta_1, \beta_2, ..., \beta_k$

  • ค้นหาผ่าน $\alpha_i$, $\beta_j$ รัฐกลางเพื่อหาคู่ $\alpha_x, \beta_y$ ซึ่งตกลงในความจุบิต; เรียก xor ของบิตอัตราของพวกเขา $C$

หากเราพบคู่ดังกล่าวแฮชของข้อความ $A_x C B_y$ เป็นค่าเป้าหมาย

เพื่อให้มีโอกาสที่ดีในการหาคู่ดังกล่าว เราจำเป็นต้องมี $j \ประมาณ 2^{c/2}$.

ดังนั้นเพื่อให้วิธีนี้ไม่ง่ายไปกว่าวิธีการเดรัจฉาน $c \ge 2n$

Simon avatar
jp flag
นั่นสมเหตุสมผลแล้ว ฉันไม่ได้คิดว่าฟังก์ชัน Keccak จะกลับด้านได้ ขอบคุณที่ให้ความกระจ่างแก่ฉัน
Score:1
ธง us

นอกจากการโจมตีแบบชนกันและแบบพรีอิมเมจแล้ว ยังมีปัญหาของการโจมตีแบบขยายความยาว (ซึ่งฉันคิดว่าเป็นเหตุผล "ที่แท้จริง" สำหรับคุณสมบัตินี้ของ SHA3)

หากคุณมีฟังก์ชันแฮช $H$ แล้วมันน่าดึงดูดใจที่จะรักษา $H(ก,ม)$ เป็น MAC ของ $m$พร้อมรหัสลับ $k$. น่าเสียดายที่สิ่งนี้ไม่ได้นำไปสู่ ​​MAC ที่ปลอดภัยหากคุณใช้ฟังก์ชันแฮชรุ่นก่อนหน้า (SHA1, SHA2)

การโจมตีส่วนขยายความยาวเกิดขึ้นอย่างแม่นยำเนื่องจากฟังก์ชันแฮชส่งออก สถานะภายในทั้งหมด แนวคิดเบื้องหลังการโจมตีแบบขยายความยาวมีดังต่อไปนี้: ถ้า $m$ เป็นคำนำหน้าของ $m'$ จากนั้นผลลัพธ์ $H(ก,ม)$ เกิดเป็นสถานะภายในเมื่อคำนวณ $H(k,m')$. ในความเป็นจริงตั้งแต่ $H(ก,ม)$ คือ ทั้งหมด สถานะภายใน ณ จุดใดจุดหนึ่ง จากนั้นคุณสามารถคำนวณได้ $H(k,m')$ ถ้าคุณรู้ $H(ก,ม)$ -- แม้ไม่รู้ $k$! สิ่งนี้ละเมิดคุณสมบัติความปลอดภัยที่คุณต้องการจาก MAC (การเรียนรู้ MAC ของ $m$ ไม่ควรช่วยให้คุณคาดการณ์ MAC ของรายการอื่นได้ $m'$แม้ว่า $m$ เป็นคำนำหน้าของ $m'$). (ในที่นี้ฉันกำลังพูดถึงประเด็นของการเติมความยาวซึ่งไม่ได้เป็นอุปสรรคสำคัญต่อประเภทของการโจมตีที่ฉันกำลังร่าง)

ในระหว่างการแข่งขัน SHA3 ผลงานส่วนใหญ่ได้รับการออกแบบมาให้ทนทานต่อการโจมตีทางยาว วิธีการทำเช่นนี้คือการสร้างที่เรียกว่า "ท่อกว้าง": เพียงแค่ทำให้สถานะภายในมีขนาดใหญ่กว่าเอาต์พุต แฮชควรแสดงเฉพาะส่วนของสถานะภายในเมื่อสิ้นสุดการคำนวณ ถ้าคุณทำอย่างนั้น $H(ก,ม)$ จะไม่มีทุกสิ่งที่จำเป็นในการคำนวณ $H(k,m')$และสิ่งนี้ขัดขวางการโจมตีแบบขยายความยาว

pe flag
เพื่อป้องกันการขยายความยาวด้วยความพยายามสูงสุด $2^n$ คุณต้องใช้บิตความจุ $n$ เท่านั้น ไม่ใช่ $2n$ ความจุ $2n$ บน SHA-3 นั้นแน่นอนที่สุดเพื่อรักษาความปลอดภัยของพรีอิมเมจ $2^n$ (วินาที) ของออราเคิลแบบสุ่มที่มีความยาวเอาต์พุต $n$-บิต

โพสต์คำตอบ

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