กลับไปหน้าบทความ

อ่าน 8 นาที

เอ็ดดีเอสเอ

ใน การเข้ารหัสแบบกุญแจสาธารณะ อั ลก อริทึมลายเซ็นดิจิทัลเส้นโค้งเอ็ดเวิร์ด ( EdDSA ) เป็น รูป แบบลายเซ็นดิจิทัล ที่ใช้รูปแบบหนึ่งของ ลายเซ็น Schnorr โดยอิงจาก เส้นโค้งเอ็ดเวิร์ด...

เอ็ดดีเอสเอ

เอ็ดดีเอสเอ
ทั่วไป
นักออกแบบDaniel J. Bernstein , Niels Duif, Tanja Lange , Peter Schwabe, Bo-Yin Yangและคณะ
เผยแพร่ครั้งแรก26 กันยายน 2554 ( 26 กันยายน 2011 )
รายละเอียด
โครงสร้างการเข้ารหัสแบบเส้นโค้งวงรี

ในการเข้ารหัสแบบกุญแจสาธารณะอั ลก อริทึมลายเซ็นดิจิทัลเส้นโค้งเอ็ดเวิร์ด ( EdDSA ) เป็น รูป แบบลายเซ็นดิจิทัลที่ใช้รูปแบบหนึ่งของลายเซ็น Schnorrโดยอิงจาก เส้นโค้งเอ็ดเวิร์ด ที่บิดเบี้ยว[ 1 ] ได้รับการออกแบบให้เร็วกว่ารูปแบบลายเซ็นดิจิทัลที่มีอยู่โดยไม่ลดทอนความปลอดภัย พัฒนาโดยทีมงานที่ประกอบด้วยDaniel J. Bernstein , Niels Duif, Tanja Lange , Peter Schwabe และBo-Yin Yang [ 2 ] การ ใช้งานอ้างอิงเป็นซอฟต์แวร์สาธารณะ[ 3 ]

สรุป

ต่อไปนี้เป็นคำอธิบายแบบย่อของ EdDSA โดยไม่สนใจรายละเอียดของการเข้ารหัสจำนวนเต็มและจุดโค้งเป็นสตริงบิต รายละเอียดทั้งหมดอยู่ในเอกสารและ RFC [ 4 ] [ 2 ] [ 1 ]

รูปแบบลายเซ็น EdDSAเป็นทางเลือก: [ 4 ] : 1–2 [ 2 ] : 5–6 [ 1 ] : 5–7

  • ของฟิลด์จำกัด เหนือเลขชี้กำลังเฉพาะคี่;
  • ของเส้นโค้งวงรี ซึ่งกลุ่มของจุดตรรกยะมีอันดับโดยที่เป็นจำนวนเฉพาะขนาดใหญ่ และเรียกว่าโคแฟกเตอร์
  • ของจุดฐานที่มีลำดับ; และ
  • ของฟังก์ชันแฮชเข้ารหัสลับ ที่มีเอาต์พุต -บิต โดยที่องค์ประกอบของและจุดโค้งในสามารถแทนด้วยสตริงของบิตได้

พารามิเตอร์เหล่านี้เป็นพารามิเตอร์ทั่วไปสำหรับผู้ใช้ทุกคนของระบบลายเซ็น EdDSA ความปลอดภัยของระบบลายเซ็น EdDSA ขึ้นอยู่กับตัวเลือกของพารามิเตอร์อย่างมาก ยกเว้นการเลือกจุดฐานตามอำเภอใจ—ตัวอย่างเช่นอัลกอริทึม rho ของ Pollard สำหรับลอการิทึมคาดว่าจะใช้การบวกเส้นโค้งประมาณก่อนที่จะสามารถคำนวณลอการิทึมแบบไม่ต่อเนื่องได้[ 5 ]ดังนั้นต้องมีขนาดใหญ่พอที่จะทำให้เป็นไปไม่ได้ และโดยทั่วไปจะถือว่าเกิน2 200 [ 6 ] การเลือกนั้นถูกจำกัดโดยการเลือกเนื่องจากตามทฤษฎีบทของ Hasseไม่สามารถแตกต่างจากได้มากกว่าฟังก์ชันแฮชโดยปกติจะถูกจำลองเป็นออราเคิลแบบสุ่มในการวิเคราะห์ความปลอดภัยของ EdDSA อย่างเป็นทางการ

ภายใต้โครงการลงนามรับรองของ EdDSA

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

กุญแจส่วนตัว
คีย์ส่วนตัวของ EdDSA คือสตริงขนาด n บิตซึ่งควรเลือกแบบสุ่มอย่างสม่ำเสมอ คีย์สาธารณะที่เกี่ยวข้องคือโดยที่ คือ บิตที่มีค่าน้อยที่สุด ของ ซึ่ง ถูกตีความว่าเป็นจำนวนเต็มในรูปแบบ little- endian
การลงนาม
ลายเซ็นบนข้อความจะถูกคำนวณอย่างแน่นอนโดยที่และซึ่งสอดคล้องกับสมการตรวจสอบ

เอ็ด25519

Ed25519คือรูปแบบลายเซ็น EdDSA ที่ใช้SHA-512 (SHA-2) และเส้นโค้งวงรีที่เกี่ยวข้องกับCurve25519 [ 2 ]โดยที่

  • และ
  • เป็นจุดเฉพาะที่มีพิกัดเป็นและพิกัดเป็นค่าบวก คำว่า "บวก" ถูกกำหนดในแง่ของการเข้ารหัสบิต:
    • พิกัด "บวก" คือพิกัดคู่ (บิตที่มีค่าน้อยที่สุดจะถูกล้าง)
    • พิกัด "ติดลบ" คือพิกัดคี่ (บิตที่มีค่าน้อยที่สุดถูกตั้งค่า)
  • คือSHA-512พร้อมด้วย.

เส้นโค้งเอ็ดเวิร์ดส์บิดเบี้ยว เรียกว่าedwards25519 [ 7 ] [ 1 ]และเทียบเท่ากับ เส้นโค้งมอนต์โกเมอรี ที่เรียกว่าCurve25519 ใน ลักษณะไบราชันนัลความเทียบเท่าคือ[ 2 ] [ 7 ] [ 8 ]

ผลงาน

ทีมเดิมได้ปรับแต่ง Ed25519 ให้เหมาะสมกับ ตระกูลโปรเซสเซอร์ x86-64 Nehalem / Westmere การตรวจสอบสามารถทำได้เป็นชุดๆ ละ 64 ลายเซ็น เพื่อให้ได้ปริมาณงานที่สูงขึ้น Ed25519 มีจุดประสงค์เพื่อให้ความต้านทานต่อการโจมตีเทียบเท่ากับ การเข้ารหัสแบบสมมาตร 128 บิตคุณภาพสูง[ 9 ]

คีย์สาธารณะมีความยาว 256 บิต และลายเซ็นมีความยาว 512 บิต[ 10 ]

การเข้ารหัสที่ปลอดภัย

Ed25519 ออกแบบมาเพื่อหลีกเลี่ยงการใช้งานที่ใช้เงื่อนไขสาขาหรือดัชนีอาร์เรย์ที่ขึ้นอยู่กับข้อมูลลับ[ 2 ] : 2 [ 1 ] : 40 เพื่อลดการโจมตีช่องทางด้านข้าง

เช่นเดียวกับรูปแบบลายเซ็นแบบลอการิทึมแยกส่วนอื่นๆ EdDSA ใช้ค่าลับที่เรียกว่าnonceซึ่งเป็นเอกลักษณ์เฉพาะสำหรับแต่ละลายเซ็น ในรูปแบบลายเซ็นDSAและECDSAนั้น nonce นี้จะถูกสร้างขึ้นแบบสุ่มสำหรับแต่ละลายเซ็น และหากตัวสร้างเลขสุ่มถูกทำลายและสามารถคาดเดาได้เมื่อสร้างลายเซ็น ลายเซ็นนั้นอาจรั่วไหลคีย์ส่วนตัวได้ ดังเช่นที่เกิดขึ้นกับคีย์ลงนามการอัปเดตเฟิร์มแวร์ของ Sony PlayStation 3 [ 11 ] [ 12 ] [ 13 ] [ 14 ]

ในทางตรงกันข้าม EdDSA เลือก nonce อย่างแน่นอนโดยใช้แฮชของส่วนหนึ่งของคีย์ส่วนตัวและข้อความ ดังนั้น เมื่อสร้างคีย์ส่วนตัวแล้ว EdDSA ก็ไม่จำเป็นต้องใช้ตัวสร้างเลขสุ่มอีกต่อไปเพื่อสร้างลายเซ็น และไม่มีอันตรายใดๆ ที่ตัวสร้างเลขสุ่มที่เสียหายซึ่งใช้ในการสร้างลายเซ็นจะเปิดเผยคีย์ส่วนตัว[ 2 ] : 8

ความไม่สอดคล้องกันของการกำหนดมาตรฐานและการนำไปใช้

โปรดทราบว่ามีความพยายามในการกำหนดมาตรฐานสำหรับ EdDSA สองประการ ประการหนึ่งจาก IETF ซึ่งเป็นRFC  8032 เชิงข้อมูล และอีกประการหนึ่งจาก NIST ซึ่งเป็นส่วนหนึ่งของ FIPS 186-5 [ 15 ]ความแตกต่างระหว่างมาตรฐานได้รับการวิเคราะห์แล้ว[ 16 ] [ 17 ]และมีเวกเตอร์ทดสอบให้ใช้งานได้[ 18 ]

ซอฟต์แวร์

การใช้งานที่โดดเด่นของ Ed25519 ได้แก่OpenSSH [ 19 ] GnuPG [ 20 ]และทางเลือกต่างๆ รวมถึง เครื่องมือ signifyโดยOpenBSD [ 21 ] การใช้งาน Ed25519 (และ Ed448) ในโปรโตคอล SSH ได้รับการกำหนดมาตรฐานแล้ว[ 22 ]ในปี 2023 เวอร์ชันสุดท้ายของ มาตรฐาน FIPS 186-5 ได้รวม Ed25519 แบบกำหนดได้ไว้เป็นรูป แบบลายเซ็นที่ได้รับการอนุมัติ[ 15 ]

เอ็ด448

Ed448คือรูปแบบลายเซ็น EdDSA ที่กำหนดไว้ในRFC 8032โดยใช้ฟังก์ชันแฮชSHAKE256และเส้นโค้งวงรีedwards448 ซึ่งเป็น เส้นโค้ง Edwards (ที่ไม่บิดเบี้ยว) ที่เกี่ยวข้องกับCurve448ในRFC 7748 Ed448 ยังได้รับการอนุมัติในเวอร์ชันสุดท้ายของมาตรฐาน FIPS 186-5 อีกด้วย[ 15 ]  

  • หน้าหลัก Ed25519
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=EdDSA&oldid=1344842505#Ed25519 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เอ็ดดีเอสเอ

ใน การเข้ารหัสแบบกุญแจสาธารณะ อั ลก อริทึมลายเซ็นดิจิทัลเส้นโค้งเอ็ดเวิร์ด ( EdDSA ) เป็น รูป แบบลายเซ็นดิจิทัล ที่ใช้รูปแบบหนึ่งของ ลายเซ็น Schnorr โดยอิงจาก เส้นโค้งเอ็ดเวิร์ด...

สรุป

ต่อไปนี้เป็นคำอธิบายแบบย่อของ EdDSA โดยไม่สนใจรายละเอียดของการเข้ารหัสจำนวนเต็มและจุดโค้งเป็นสตริงบิต รายละเอียดทั้งหมดอยู่ในเอกสารและ RFC [ 4 ] [ 2 ] [ 1 ]

เอ็ด25519

Ed25519 คือรูปแบบลายเซ็น EdDSA ที่ใช้ SHA-512 (SHA-2) และเส้นโค้งวงรีที่เกี่ยวข้องกับ Curve25519 [ 2 ] โดยที่

ผลงาน

ทีมเดิมได้ปรับแต่ง Ed25519 ให้เหมาะสมกับ ตระกูลโปรเซสเซอร์ x86-64 Nehalem / Westmere การตรวจสอบสามารถทำได้เป็นชุดๆ ละ 64 ลายเซ็น เพื่อให้ได้ปริมาณงานที่สูงขึ้น Ed25519 มีจุดประสงค์เพื่อให้ความต้านทานต่อการโจมตีเทียบเท่ากับ การเข้ารหัสแบบสมมาตร 128...