Score:1

SHA-256 ใน MPC ที่ใช้วงจรไบนารี

ธง fr

สำหรับ MPC แบบวงจรไบนารี หลายฝ่ายจะจัดเตรียมอินพุตเพื่อคำนวณผลลัพธ์ ซึ่งระบุฟังก์ชัน $f(x_1, x_2, \dots,x_n)$ จำเป็นต้องยอมรับ $2$ หรืออินพุตเพิ่มเติม

    1. เหตุใดจึงมีวงจรเช่น SHA-$256$ซึ่งใช้เวลาเพียงหนึ่งเดียว ป้อนข้อมูล?
    1. เมื่อฉันตรวจสอบไฟล์ SHA-256.txt ต้องใช้เวลา $2$ อินพุต หนึ่งอินพุตสำหรับ $512$ บิตและอินพุตอื่นๆ สำหรับ $256$ บิตฉันคิดว่าอันแรกคือ ข้อความ แล้วอีกอันล่ะ? มันย่อมาจากอะไร?

นี่คือลิงค์ที่ฉันตรวจสอบ ไฟล์ SHA-256.txt.

Score:1
ธง us
  1. ฉันไม่เห็นวงจร SHA ใด ๆ ที่มีเพียงอินพุตเดียว

  2. มันอธิบายไว้ตรงนั้นในหน้านี้:

    สำหรับ SHA-256 และ SHA-512 เราให้วงจรที่แมปบัฟเฟอร์อินพุตและสถานะการผูกมัดอินพุตกับสถานะการผูกมัดถัดไป

    ฟังก์ชันปัดเศษ SHA-256 ใช้บล็อก 512 บิตของข้อมูลอินพุตและค่าการโยง 256 บิต และส่งออกค่าการโยง 256 บิตใหม่ ซึ่งช่วยให้ผู้สร้างเพจนี้สร้างวงจร SHA เพียงชุดเดียว (ซึ่งมิฉะนั้นจะเป็นไปไม่ได้ เนื่องจาก SHA ใช้สตริงที่มีความยาวเท่าใดก็ได้ แต่วงจรมีความยาวอินพุตคงที่เดียว)นอกจากนี้ยังหมายความว่าในการใช้วงจรเหล่านี้ คุณต้องจัดการส่วนที่เหลือของ Merkle-DamgÃ¥rd ที่ผูกมัดตัวเองและเรียกวงจรนี้หลายครั้ง


แก้ไข: SHA-256 เป็นฟังก์ชันแฮชของ Merkle-DamgÃ¥rd ดังนั้นการคำนวณแฮชของมันด้วยวิธีต่อไปนี้ (ภาพจาก วิกิพีเดีย):

ป้อนคำอธิบายรูปภาพที่นี่

ภาพทั้งหมดแสดงการคำนวณ SHA-256 บนอินพุตแบบยาวของ $n$ บล็อก (บล็อกคือ 512 บิตใน SHA-256) ไฟล์วงจรที่คุณพบอธิบายเฉพาะวงจรสำหรับกล่องสีเหลืองที่มีข้อความว่า "$f$". ค่าผูกมัด" คือลูกศรแนวนอนเชื่อมต่อ $f$-กล่อง

Willi avatar
fr flag
สำหรับประเด็นที่ 1 ฉันไม่ชัดเจนว่าค่าการผูกมัด (สถานะการเปลี่ยนแปลง) คืออะไร เท่าที่ฉันทราบ ข้อมูลอินพุตจะเป็นข้อมูลอินพุตเสมอ ไม่ว่าข้อความจะยาวแค่ไหนก็ตาม คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับการเปลี่ยน aluemore หรือให้การอ้างอิงได้บ้าง
us flag
โปรดดูการแก้ไขของฉันและแจ้งให้เราทราบหากสิ่งที่ยังไม่ชัดเจน
Willi avatar
fr flag
ขอบใจ! ตอนนี้ชัดเจนสำหรับฉันแล้ว
Willi avatar
fr flag
คำถามติดตามผล: จากภาพรวม ฟังก์ชันการบีบอัด f ควรมี 2 อินพุต ค่าผูกมัดมี 256 บิตและบล็อคข้อความมี 512 บิต อย่างไรก็ตาม SHA-256.txt มีเพียง 1 อินพุตที่มี 512 บิต ทำไม
Willi avatar
fr flag
หากวงจรรับเพียงอินพุตเดียว ดูเหมือนว่าไม่จำเป็นต้องมี 2 ฝ่ายเข้าร่วมในการคำนวณ เนื่องจากฝ่ายหนึ่งสามารถคำนวณจนเสร็จได้
us flag
วงจร SHA ทั้งหมดบนไซต์นั้นมี 2 อินพุต (ดูหมายเลขแรกในบรรทัดที่สองของไฟล์เหล่านั้น)
Willi avatar
fr flag
ฉันคัดลอกหนึ่งค่าจาก SHA-256 [ไฟล์](https://homes.esat.kuleuven.be/~nsmart/MPC/sha-256.txt) เป็นตัวอย่าง ซึ่งมีค่า 512 0 256 แสดงว่าฝ่ายนั้น สองมี 0 อินพุตและฝ่ายหนึ่งมีเพียง 1 อินพุตที่มี 512 บิตแทนที่จะเป็น 2 อินพุต
Willi avatar
fr flag
บล็อคข้อความมี 512 บิต เป็นไปได้อย่างไรที่จะส่งผ่าน 256 บิตเพิ่มเติมสำหรับสถานะอินพุต IV/chaing
us flag
ฉันไม่รู้ว่าคุณไปที่ไฟล์นั้นได้อย่างไร ไฟล์ SHA 4 ไฟล์ที่ลิงก์จาก https://homes.esat.kuleuven.be/~nsmart/MPC/ ทั้งหมดรับ 2 อินพุต
Willi avatar
fr flag
ฉันได้รับไฟล์นั้นจาก [ลิงก์](https://homes.esat.kuleuven.be/~nsmart/MPC/old-circuits.html) มันละเมิดสัญชาตญาณของฉัน
us flag
อ่านความคิดเห็นในหน้านั้น: พวกเขาใช้ SHA เพียง 1 บล็อกที่มี IV คงที่และไม่ใช่ฟังก์ชันปัดเศษ SHA ทั่วไปวงจรมีอินพุตที่เป็นทางการเพียงตัวเดียว แต่การปรับเปลี่ยนวงจรนี้ให้แต่ละฝ่ายมีครึ่งหนึ่งของอินพุตบิตอาจไม่ใช่เรื่องเล็กน้อย หรือมี xor ร่วมกันของบิตอินพุต ฯลฯ
Willi avatar
fr flag
ขอบคุณ. ฉันสังเกตเห็นความคิดเห็นนั้นก่อนหน้านี้ อย่างไรก็ตาม มันยังไม่ได้แก้ปัญหาของฉัน เนื่องจากอินพุตของฝ่ายหนึ่งคือ 512 บิต จึงไม่มีทางที่ฝ่ายที่สองจะระบุอินพุตได้ พวกเขาจะ xor แบ่งปันบิตอินพุตได้อย่างไร หมายความว่าพวกเขาไม่สามารถใช้ SHA-256 โดยตรงใน 2PC ได้หรือไม่? จำเป็นต้องเพิ่มเกทอื่นที่มีเอาท์พุตเดียวก่อนวงจร SHA-256 นี้หรือไม่?

โพสต์คำตอบ

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