ในลายเซ็น Schnorr $(ร,ส)$, $R$ ถูกนำมาใช้. แต่ในลายเซ็น ECDSA $(ร,ส)$, $r$ ถูกใช้ ซึ่งเป็นพิกัด x ของ $R$.
การยืนยันนั้นไม่ถูกต้องทางเทคนิค:
- ใน ลายเซ็น Schnorr (อื่น ๆ) ตามที่กำหนดไว้แต่เดิม องค์ประกอบแรกของลายเซ็นคือแฮช ไม่ใช่องค์ประกอบกลุ่ม น้อยกว่า âpointâ ในกลุ่ม Elliptic Curve ซึ่งการใช้ในการเข้ารหัสไม่ใช่เรื่องปกติ
- ในนิยามของ ลายเซ็น ECDSAส่วนประกอบแรก $r$ ของลายเซ็นคือพิกัด x $x_R$ ของจุดบน Elliptic Curve ให้กลายเป็นจำนวนเต็ม จากนั้นจึงลดค่าโมดูโลของลำดับกลุ่มลง $n$ (จากนั้นเปลี่ยนเป็นการทดสอบไบต์ แต่เราจะทิ้งสิ่งนั้นไว้) มันไม่ใช่แค่ $x_R$.
อย่างไรก็ตาม เนื้อความของการยืนยันดังกล่าวมีการปรับเปลี่ยนเล็กน้อย:
- ลายเซ็น Schnorr แบบเรียนสมัยใหม่ถูกกำหนดสำหรับกลุ่มตามอำเภอใจที่ปัญหาลอการิทึมไม่ต่อเนื่องนั้นยาก โดยมีสองตัวแปรหลักตามองค์ประกอบแรกของลายเซ็นคือ
- แฮชของ (อย่างน้อย) ข้อความและองค์ประกอบกลุ่ม $R$เช่นเดียวกับลายเซ็น Schnorr ดั้งเดิม
- องค์ประกอบกลุ่ม A (การแสดงบิตเฉพาะของ a) $R$เช่น สพป. นั่นคือตัวแปรที่ใช้กับคำยืนยัน
- กลุ่มดังกล่าวมักเป็นกลุ่มย่อย Elliptic Curve ของคำสั่งเฉพาะ $n$ ของเส้นโค้งวงรีบนสนาม $\mathbb F_{p^m}$และโดยทั่วไป $m=1$ดังนั้นพิกัด x $x_R$ ของ $R$ เป็นจำนวนเต็มใน $[0,p)$.
- สำหรับเส้นโค้งดังกล่าวทั่วไป $n\ประมาณ p$ด้วยประการฉะนี้ $r:=x_R\bmod n$ มันถือ $r=x_R$ มีความเป็นไปได้สูงแม้ว่า $n<p$ (เช่น. secp256k1, secp256r1) หรือเราจะเลือก Elliptic Curve ก็ได้ $n>p$.
ตอนนี้เรามีคำยืนยันที่แท้จริงแล้ว เราสามารถถาม:
ทำไมความแตกต่าง?
เพราะ ECDSA เป็นการปรับให้เข้ากับกลุ่ม Elliptic Curve ของ อสสโดยที่องค์ประกอบแรกของลายเซ็นคือองค์ประกอบกลุ่มที่ลดโมดูโลลำดับเฉพาะของกลุ่ม. ใน DSA การลดลงนั้นเพื่อทำให้องค์ประกอบแรกของลายเซ็นสั้นลง เหตุผลที่ DSA ใช้เทคนิคนั้นแทนแฮช เช่นเดียวกับในลายเซ็น Schnorr ดั้งเดิม อาจเป็นได้
- ลายเซ็น Schnorr ดั้งเดิมนั้นครอบคลุมโดย a สิทธิบัตร, รวมทั้ง ในสหรัฐอเมริกาและด้วยเหตุนี้จึงมีความสนใจในวิธีการอื่น
- DSA นั้นใกล้เคียงกับการศึกษาที่ดีอยู่แล้ว ลายเซ็น ElGamal.
- เดอะ ต้นฉบับ ลายเซ็น Schnorr เนื่องจากมันแคบ $k$-บิตแฮช (และตรงกันข้ามกับลายเซ็น Schnorr สมัยใหม่ที่มีแฮชที่กว้างกว่าในทั้งสองรูปแบบข้างต้น):
- ไม่สามารถใช้งานได้อย่างปลอดภัยเป็นข้อผูกมัดของข้อความที่เซ็นชื่อ: เจ้าของคีย์ส่วนตัวที่ลงนามในข้อความและสามารถเลือกบางส่วนได้ (เช่น แก้ไขสองสามไบต์ในตอนท้าย) สามารถจงใจทำในลักษณะที่ข้อความอื่นที่มี อีกความหมายหนึ่งที่พวกเขาเลือกมีลายเซ็นเดียวกัน การโจมตีเป็นการโจมตีแบบเลือกคำนำหน้าการชนกันของ $k$บิตแฮชของค่าใช้จ่ายที่คาดไว้น้อยกว่า $2^{k/2+1.4}$ กัญชา สิ่งนี้จะเพิ่มความเสี่ยงในการปฏิเสธลายเซ็น และอาจทำให้เกิดความกลัว ความไม่แน่นอน และความสงสัยได้
- จะเสี่ยงต่อการโจมตี preimage สมมุติฐาน (ครั้งแรกหรือครั้งที่สอง) ในการป้อนข้อความของแฮช รวมถึงแฮชในกลุ่มย่อยบางของ $\{0,1\}^k$ของต้นทุนที่คาดไว้ $2^k$ กัญชา; เมื่อ DSA (ต้องขอบคุณแฮชที่กว้างกว่ามาก) มีอัตรากำไรขั้นต้นมาก
DSA ใช้ กลุ่มชนอร์ซึ่งเป็นกลุ่มย่อยที่เป็นวัฏจักรของ โมดูโลกลุ่มคูณ นายกรัฐมนตรี $p$. ECDSA เปลี่ยนสิ่งนั้นเป็น an กลุ่ม Elliptic Curve เหนือ สนามกาลัวส์ซึ่งทำให้รหัสสาธารณะมีขนาดเล็กลงและการคำนวณเร็วขึ้น หลักการของ DSA ในการลดองค์ประกอบแรกของโมดูโลลายเซ็นของคำสั่งกลุ่มจะถูกเก็บไว้ การแปลงล่วงหน้าที่จำเป็นจากองค์ประกอบฟิลด์เป็นจำนวนเต็มทำโดยพิกัด x $x_R$เพิกเฉย $y_R$. อนึ่ง นั่นนำไปสู่การสูญเสียคุณสมบัติด้านความปลอดภัย: ECDSA ไม่ใช่ sEUF-CMAเมื่อ DSA คือเพราะ $R$ และตรงกันข้ามกับ $R$ ในกลุ่ม Elliptic Curve แบ่งปันเช่นเดียวกัน $x_R$อนุญาตให้เปลี่ยนลายเซ็น ECDSA ที่ถูกต้องเป็นลายเซ็นอื่นที่ถูกต้องสำหรับข้อความเดียวกันโดยการเปลี่ยนแปลง $s$ ถึง $-s$ โมดูโล่ลำดับกลุ่ม
¹ Claus-Peter Schnorr ยืนยันว่าวิธีการของ DSA อยู่ภายใต้สิทธิบัตรของเขา ที่ไม่เคยไปทดสอบของศาล แม้ว่า DSA ส่วนใหญ่สามารถอ่านได้ในคำอธิบายของสิทธิบัตร แต่การอ้างสิทธิ์ในการละเมิดคงเป็นไปไม่ได้กับคำกล่าวอ้างที่เป็นอยู่ และการต่อสู้ที่ยากเย็นแสนเข็ญกับการอ้างสิทธิ์ที่เขียนขึ้นใหม่ โดยเฉพาะอย่างยิ่ง มีการอธิบายแฮชที่มีการป้อนข้อมูลข้างข้อความ เมื่อเฉพาะข้อความนั้นถูกแฮชใน DSA