Score:3

ลายเซ็นดิจิทัลพร้อมคู่คีย์ Curve25519

ธง it

ฉันมีคีย์ Curve25519 คู่คีย์สาธารณะ/ส่วนตัวที่ใช้โดย ไวร์การ์ด.

ฉันจะใช้คู่กุญแจนี้เพื่อสร้าง/ตรวจสอบลายเซ็นดิจิทัลได้อย่างไร

ฉันต้องการใช้ EdDSA/Ed25519 แต่ฉันพยายามที่จะได้รับคู่กุญแจ Ed25519 จากปุ่ม Curve25519 ที่ Wireguard ใช้

Maarten Bodewes avatar
in flag
คุณควรจะสามารถดำเนินการรับคีย์สาธารณะได้ง่ายๆ โดยใช้ค่าคีย์ส่วนตัวที่กำหนดสำหรับ EdDSA คีย์ส่วนตัวเป็นเพียงเวกเตอร์ตัวเดียว และการคูณด้วยจุดฐานของเส้นโค้งด้านขวา จะทำให้คุณได้คีย์สาธารณะ ฉันไม่คิดว่ามีความแตกต่างใดๆ w.r.t.คีย์ส่วนตัว (ไม่ใช่แค่การสุ่มในช่วงเท่านั้น มีลูกเล่นบางอย่างอยู่ในนั้น) ระหว่าง Curve25519 และ Ed25519 แต่ใครก็ได้โปรดแก้ไขฉันหากฉันเข้าใจผิด
it flag
ขอบคุณสำหรับคำแนะนำ น่าเสียดายที่ไม่อนุญาตให้ฉันใช้คีย์สาธารณะ Curve25519 ที่แลกเปลี่ยนก่อนหน้านี้
Maarten Bodewes avatar
in flag
ฉันได้เสนอเงินรางวัล โปรดทราบว่าควรยอมรับคำตอบเชิงลบเมื่อได้ข้อสรุปแล้ว (เพียงพอ)
Score:1
ธง uz

ฉันไม่คิดว่าจะทำสิ่งที่คุณขอได้เนื่องจากวิธีสร้างคีย์เพื่อใช้ใน ECDH กับ Ed25519

พิจารณาคู่คีย์ Wireguard (sk1, pk1). โปรดทราบว่า sk1 เป็นเพียง 32 ไบต์แบบสุ่มที่มีการตั้งค่า / ล้างบิตที่เหมาะสม (แหล่งที่มา) และนั่น pk1 มีที่มาจาก sk1 ในลักษณะ ECDH ทั่วไป (แหล่งที่มา).

สำหรับลายเซ็น Ed25519 คุณต้องแฮช 32 ไบต์สุ่มเพื่อสร้าง 64 ไบต์ ซึ่งครึ่งหนึ่งใช้เพื่อ รับรหัสสาธารณะ อีกครึ่งหนึ่งจะใช้เมื่อ การสร้างลายเซ็น.

แล้วคุณละ สามารถ รับรหัสส่วนตัว sk2 จาก sk1 และใช้ sk2 เพื่อสร้างลายเซ็น Ed25519 แต่จากการอภิปรายในความคิดเห็น ดูเหมือนว่าคุณต้องการยืนยันลายเซ็นเหล่านี้โดยไม่ต้องเข้าถึง sk1 (น่าจะอยู่ที่ปลายอีกด้านของอุโมงค์ Wireguard ซึ่งมีเพียง pk1). และเนื่องจากคุณไม่สามารถได้รับ sk1 จาก pk1คุณไม่สามารถคำนวณได้ SHA512(sk1) จาก pk1. ดังนั้นคุณไม่สามารถได้รับ pk2 จาก pk1 ตามลำพัง.

it flag
ขอบคุณ Eric D! นั่นตอบคำถามของฉัน :) คุณรู้จัก DSA ใดบ้างที่สามารถใช้วัสดุหลักที่มีอยู่ของฉัน
Eric D avatar
uz flag
ขออภัย ฉันไม่ทราบวิธีการใช้คีย์ที่มีอยู่ของคุณสำหรับลายเซ็นดิจิทัลอย่างปลอดภัยเนื่องจากข้อจำกัดเหล่านั้น แต่ฉันค่อนข้างใหม่สำหรับสิ่งนี้ ดังนั้นอาจมีเทคนิคที่ฉันไม่รู้
Eric D avatar
uz flag
@SteffenVogel ฉันเพิ่งเจอสิ่งนี้และยังไม่ได้ย่อยทั้งหมด แต่ฉันคิดว่าคุณอาจสนใจ หากฉันเข้าใจบทความถูกต้อง แสดงว่า Signal ใช้คีย์ X25519/Curve25519 สำหรับลายเซ็นในแบบแผนลายเซ็น "XEdDSA": https://signal.org/docs/ specifications/xeddsa/
it flag
ขอบคุณ XEdDSA น่าจะเป็นสิ่งที่ฉันกำลังมองหา :)

โพสต์คำตอบ

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