Score:1

กระบวนการตรวจสอบใน ECDSA เหมือนหรือแตกต่างจากใน RSA หรือไม่

ธง nl

ด้วยคู่คีย์ RSA จากความเข้าใจของฉัน Alice ผู้ถือคีย์ส่วนตัวสามารถเข้ารหัสข้อความเป็นลายเซ็นได้ จากนั้นเธอก็จะส่งลายเซ็นพร้อมกับข้อความต้นฉบับของเธอไปให้บ๊อบ บ๊อบจะสามารถใช้รหัสสาธารณะของอลิซเพื่อถอดรหัสลายเซ็นซึ่งจะส่งคืนข้อความ ข้อความที่ถอดรหัสจะถูกเปรียบเทียบกับข้อความต้นฉบับ ถ้าพวกเขาเหมือนกัน แสดงว่า Bob เห็นว่าข้อความนั้นมาจากอลิซจริงๆ

ในทางกลับกัน สำหรับคู่คีย์ ECDSA กระบวนการตรวจสอบจะเหมือนกันกับคู่คีย์ RSA หรือไม่ นั่นคือโดยการเปรียบเทียบข้อความที่ถอดรหัสกับข้อความต้นฉบับเพื่อดูว่าเหมือนกันหรือไม่

สิ่งที่ทำให้ฉันสับสนคือ จากสิ่งที่ฉันเข้าใจวิธีใช้ ECDSA ในสัญญาบล็อกเชน ตัวอย่างเช่น แทนที่จะเปรียบเทียบข้อความที่ถอดรหัสจากคีย์สาธารณะกับข้อความต้นฉบับ ECDSA ดูเหมือนจะเปรียบเทียบคีย์สาธารณะแทน . สามารถกู้คืนรหัสสาธารณะจากลายเซ็นและตรวจสอบได้ Bob จะเปรียบเทียบว่าคีย์สาธารณะที่กู้คืนจากลายเซ็นเหมือนกับคีย์สาธารณะของอลิซ

กระบวนการตรวจสอบใน ECDSA เหมือนกับ RSA หรือไม่ หรือกระบวนการตรวจสอบแตกต่างจาก RSA และเหมือนกับที่ใช้ในสัญญาอัจฉริยะบนบล็อกเชนอย่างไร

Score:4
ธง ng

TL; DR: กระบวนการตรวจสอบลายเซ็นใน ECDSA แตกต่างจากขั้นตอนใน RSA อย่างมาก คำอธิบายของคำถามเกี่ยวกับรูปแบบลายเซ็นเหล่านี้ไม่ถูกต้องสำหรับ ECDSA ซึ่งเป็นค่าประมาณสำหรับ RSA


อลิซผู้ถือคีย์ส่วนตัวสามารถเข้ารหัสข้อความเป็นลายเซ็นได้

นั่นเป็นคำศัพท์ที่ไม่ถูกต้อง อลิซผู้ถือกุญแจส่วนตัวสามารถทำได้ เข้าสู่ระบบ ข้อความ หรือ แปลง ข้อความ. เธอไม่ได้ เข้ารหัสเนื่องจากการเข้ารหัสมีเป้าหมายเพื่อทำให้ข้อความไม่สามารถเข้าใจได้สำหรับฝ่ายตรงข้าม แต่ใน RSA การเปลี่ยนแปลง $m\mapsto s=m^d\bmod n$ อลิซใช้รหัสส่วนตัว $(น,ง)$ สามารถยกเลิกได้โดยใช้ $s\mapsto m=s^e\bmod n$ โดยใครก็ตามที่มีรหัสสาธารณะ $(น,อี)$นั่นคือใครก็ได้จากมุมมองการเข้ารหัสมาตรฐาน ดังนั้นการแปลงที่ทำขึ้นสำหรับลายเซ็นจึงไม่ถือว่าเป็นการเข้ารหัส

บ๊อบจะสามารถใช้รหัสสาธารณะของอลิซเพื่อถอดรหัสลายเซ็นซึ่งจะส่งคืนข้อความ ข้อความที่ถอดรหัสจะถูกเปรียบเทียบกับข้อความต้นฉบับ ถ้าพวกเขาเหมือนกัน แสดงว่า Bob เห็นว่าข้อความนั้นมาจากอลิซจริงๆ

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

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

  • ข้อความ $0$, $1$ และ $n-1$ มีลายเซ็นเล็กน้อย (ตัวข้อความเอง) ซึ่งช่วยให้ข้อความที่อลิซไม่เคยลงนามได้รับการยอมรับจากบ็อบเมื่อข้อความนั้นมาจากฝ่ายตรงข้ามจริงๆ
  • มันง่ายที่จะใช้ $s$ และรหัสสาธารณะ และสร้างข้อความ (โดยทั่วไปไม่มีความหมาย) $m$ ลายเซ็นไหน $s$เพื่อผลเช่นเดียวกัน
  • หากเป็นฝีมือข้าศึก $m_1$, $m_2$, $m_3$, $m_4$ กับ $m_1\cdot m_2=m_3\cdot m_4$, ที่มีความหมายในภายหลัง และสามอันที่มีความหมายมากพอที่จะโน้มน้าวให้อลิซสร้างลายเซ็น $s_1$, $s_2$, $s_3$ ของ $m_1$, $m_2$, $m_3$จากนั้นฝ่ายตรงข้ามสามารถคำนวณลายเซ็นได้ $s_4$ ที่มีความหมาย $m_4$ เช่น $s_4=s_1\cdot s_2\cdot{s_3}^{-1}\bmod n$. บางครั้งก็เป็นไปได้

ด้วยเหตุนี้ลายเซ็น RSA จึงไม่ได้รับการฝึกฝนเหมือนในคำถาม โดยทั่วไปจะใช้ RSASSA-PSS หรือ RSASSA-PKCS1-v1_5. จากนั้นการสร้างลายเซ็นและการตรวจสอบลายเซ็นจะไม่ทำงานเหมือนกับการเข้ารหัส/เข้ารหัสอีกต่อไป (ไม่ว่าจะเป็นการเข้ารหัสแบบ RSA แบบเรียน หรือการเข้ารหัสแบบ RSA ตามที่ปฏิบัติ เช่น RSAES-OAEP, RSA-KEM หรือการเข้ารหัสแบบไฮบริด)

สิ่งที่ถูกต้องคือในการตรวจสอบลายเซ็น RSA (พร้อมภาคผนวก) ตามที่ปฏิบัติจริง จะคำนวณฟังก์ชันของลายเซ็นและคีย์สาธารณะ จากนั้นจึงเปรียบเทียบผลลัพธ์กับข้อความ (หรือแฮชบางอย่างของสิ่งนั้น ในกรณีของ RSASSA-PSS มัลติ- แฮชระดับที่เติมเกลือเสริม)

ในทางกลับกัน สำหรับคู่คีย์ ECDSA กระบวนการตรวจสอบจะเหมือนกันกับคู่คีย์ RSA หรือไม่ นั่นคือโดยการเปรียบเทียบข้อความที่ถอดรหัสกับข้อความต้นฉบับเพื่อดูว่าเหมือนกันหรือไม่

ไม่ในการตรวจสอบลายเซ็น ECDSA ก็คือ ไม่ คำนวณฟังก์ชันบางอย่างของลายเซ็นและคีย์สาธารณะ จากนั้นเปรียบเทียบผลลัพธ์กับข้อความ (หรือแฮชบางอย่างของมัน) มันทำงานอีกวิธีหนึ่ง: แฮชของข้อความเป็นอินพุตในการคำนวณที่เกี่ยวข้องกับลายเซ็นและคีย์สาธารณะ แทนที่จะเปรียบเทียบกับในตอนท้าย

â¦ECDSA ดูเหมือนจะเปรียบเทียบคีย์สาธารณะâ¦

ทั้ง ปกติ ก็ไม่เช่นกัน สลับกัน วิธีการตรวจสอบลายเซ็น ECDSA เหมาะสมกับสิ่งนี้

(ECDSA) สามารถกู้คืนคีย์สาธารณะจากลายเซ็นได้â¦

ประเภท: ด้วย ECDSA คุณสามารถกู้คืนรหัสสาธารณะที่ใช้งานได้จากลายเซ็นและข้อความหรือแฮชที่เกี่ยวข้อง นั่นคือ การกู้คืนคีย์สาธารณะ. แต่การดำเนินการนั้นไม่ได้เป็นส่วนหนึ่งของการตรวจสอบลายเซ็นตามปกติ และมีข้อจำกัดคือ

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

ฉันไม่สามารถบอกได้อย่างแน่นอนว่าการกู้คืนคีย์สาธารณะ ECDSA ตามด้วยการเปรียบเทียบคีย์สาธารณะที่กู้คืนกับคีย์สาธารณะจริงจะมีประสิทธิภาพเทียบเท่าการตรวจสอบปกติหรือไม่ และสำหรับส่วนโค้งใด นั่นเป็นคำถามที่น่าสนใจทางทฤษฎีเท่านั้น เนื่องจากเรามีการตรวจสอบลายเซ็นมาตรฐาน

หมายเหตุ: สำหรับรูปแบบลายเซ็น RSA การกู้คืนคีย์สาธารณะไม่ใช่คุณลักษณะทั่วไป เป็นไปได้ด้วย RSASSA-PKCS1-v1_5 หรือลายเซ็นกำหนดอื่นๆ คู่ข้อความ/ลายเซ็น และตัวเลือกทั่วไปของ $e$; แต่ไม่สามารถทำได้กับ RSASSA-PSS หรือลายเซ็นแบบสุ่มอื่นๆ

Score:1
ธง it

อลิซ... เข้ารหัสข้อความเป็นลายเซ็น

พูดตามตรง การเซ็นชื่อนั้นแตกต่างจากการเข้ารหัส! เช่น. สำหรับ RSA คุณใช้รหัสสาธารณะเพื่อเข้ารหัสข้อความ แต่ในการเซ็นชื่อคุณใช้รหัสส่วนตัว

ยิ่งไปกว่านั้น การตรวจสอบ ECC นั้นแตกต่างอย่างสิ้นเชิงกับ RSA เนื่องจากมีลักษณะทางคณิตศาสตร์ที่แตกต่างกัน ตัวอย่างหนึ่งคือ สำหรับ RSA คุณต้องใช้รูปแบบช่องว่างภายในที่ดีเพื่อหลีกเลี่ยงการโจมตีประเภทต่างๆ แต่ ECDSA ไม่ต้องการมัน

โพสต์คำตอบ

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