กระดาษมาตรฐานที่ใช้เป็นข้อมูลอ้างอิงสำหรับโปรโตคอลการระบุ Schnorr และรูปแบบลายเซ็นที่เกี่ยวข้องคือ Claus-Peter Schnorr การสร้างลายเซ็นที่มีประสิทธิภาพด้วยสมาร์ทการ์ด (รุ่นทางเลือก), ใน วารสารวิทยาการเข้ารหัสลับ 2534.
ความแตกต่างระหว่างสิ่งนี้กับโปรโตคอลการระบุตัวตนของ Schnorr ในตำราสมัยใหม่:
การแสดงออกดั้งเดิมใช้กลุ่ม Schnorr ของลำดับความสำคัญขนาดใหญ่ $คิว$ซึ่งเป็นกลุ่มย่อยของกลุ่ม $\mathbb Z_p^*$ สำหรับนายกรัฐมนตรีที่ยิ่งใหญ่ $p$ กับ $คิว$ ตัวหารของ $p-1$. ปัจจุบันเป็นเรื่องปกติที่จะให้เหตุผลในกลุ่มคำสั่งที่เป็นนามธรรม $คิว$ซึ่งสามารถนำไปปฏิบัติได้ เช่น เป็นกลุ่มเส้นโค้งวงรี
สัญกรณ์ของกลุ่มเป็นแบบทวีคูณในต้นฉบับ และตอนนี้มักจะเป็นแบบบวก
ในต้นฉบับ ความลับของผู้ตรวจสอบ $e$ เป็นการสุ่มเข้ามา $[0,2^t)$ กับ $2^t\ll คิว$ด้วยเหตุผลด้านประสิทธิภาพ นิทรรศการที่ทันสมัยมากมายทำให้ $e$ สุ่มเข้ามา $[0,q)$ หรือช่วงใหญ่ในทำนองเดียวกัน
ต้นฉบับไม่ชัดเจนว่าโปรโตคอลการระบุตัวตนนั้นผู้พิสูจน์ A ส่งองค์ประกอบกลุ่มหรือไม่ $x$ (ข้อความ) หรือเป็นแฮช $h(x)$ (รูปที่ 1) การเพิ่มประสิทธิภาพที่ลดขนาดการสื่อสาร นิทรรศการสมัยใหม่มักจะไม่ใช้แฮชในโปรโตคอลการระบุตัวตน
ต้นฉบับ (ในทั้งสอง ข้อความ และ รูปที่ 1) ทำให้เป็นส่วนหนึ่งของโปรโตคอลการระบุเพื่อยืนยันรหัสสาธารณะของ A $v$ และเชื่อมโยงกับตัวตนของ A $I$ โดยใช้ลายเซ็น $S$:
- ใน 2.: ลายเซ็นของ KAC $S$ สำหรับ $(อิ,วี)$,â¦â
- ใน 3.: âB ตรวจสอบลายเซ็น $S$â¦â
- ใน 5.: âB ยืนยัน $(อิ,วี)$ โดยการตรวจสอบลายเซ็น $S$ หรือโดยการตรวจสอบ $(อิ,วี)$ ทางâlineâ.
แต่นิทรรศการสมัยใหม่มักทำให้สิ่งนั้นเป็นเพียงภายนอก บางส่วนถอด $I$ และ $S$และ A ระบุว่าเป็นรหัสสาธารณะ $v$ ในขั้นตอนแรก
ในบางส่วนของบทความต้นฉบับ A คือสมาร์ทการ์ด เมื่อมีคำอธิบายอื่นๆ เกี่ยวกับวิธีการคำนวณ หรือหลอมรวมวิธีการคำนวณกับเจ้าของ/ผู้ดำเนินการ
ปกรณ์เดิมย้ำว่าวาดรูป $r$ และคอมพิวเตอร์ $x$ (ในขั้นตอนที่ 2.) ได้เบื้องต้นครับ
การใช้สัญกรณ์ดั้งเดิมและการกำหนดหมายเลขขั้นตอน (ตรงกันข้ามกับหนังสือเรียนหลายเล่ม) การอธิบายที่ทันสมัยเพียงเล็กน้อยสามารถทำได้
- เราทำงานในกลุ่มประชาชนที่มีลำดับความสำคัญสูงสุด $คิว$ และเครื่องกำเนิดไฟฟ้า $\alpha$สังเกตทวีคูณ ของกลุ่ม $คิว$ องค์ประกอบจึงเป็น $\alpha^b$ สำหรับ $b\in[0,q)$.
- ผู้พิสูจน์ A ต้องการแสดงความรู้เกี่ยวกับ $s\in[0,q)$ ดังนั้น $v=\alpha^s$กับสาธารณะ $v$ สันนิษฐานว่ารู้จักผู้ตรวจสอบ B. ใช้การแลกเปลี่ยนสี่รายการ:
-
- เสมอ $r\in_R[0,q)$,คำนวณ $x:=\alpha^r$, ส่ง $x$
-
- ขวาด $e\in_R[0,q)$, ส่ง $e$
-
- การคำนวณ $y:=r+s\,e\bmod q$, ส่ง $y$
-
- B ตรวจสอบ $x=\alpha^y\,v^e$.
รูปแบบการระบุตัวตนของ Schnorr และการใช้งานสมาร์ทการ์ดเป็นสิ่งเดียวกันจริง ๆ หรือไม่?
ไม่: โครงร่างไม่ใช่การใช้งาน เช่นเดียวกับอัลกอริทึมที่ไม่เหมือนกับโปรแกรมที่ใช้อัลกอริทึมนั้นเขียนขึ้นสำหรับคอมพิวเตอร์ประเภทใดประเภทหนึ่ง การนำไปใช้ทำให้มีตัวเลือกต่างๆ เช่น การคำนวณหมายถึงการเป็นสมาร์ทการ์ด ใช้กลุ่ม Schnorr กับพารามิเตอร์ขนาดที่แน่นอน จำกัดจำนวนบิตเพิ่มเติม $e$ ไปที่พารามิเตอร์ $t$. มันส่งแฮช $h(x)$ ค่อนข้างมากกว่า $x$ ในขั้นตอนที่ 2 โดยที่การตรวจสอบยืนยันขั้นตอนที่ 5 เปลี่ยนเป็น $h(x)=h(\alpha^y\,v^e)$. มันกำหนดว่าอะไร $v$ อยู่ในบริบทและต่อที่แนะนำ $I$ และ $S$.
เมื่อข้อความสมัยใหม่อ้างถึงรูปแบบการระบุตัวตนของ Schnorr ข้อความนั้นมีแนวโน้มที่จะเป็นโปรโตคอลนามธรรมที่ลดลงตามในส่วนด้านบน โดยไม่มีสมาร์ทการ์ด $t$, $h$; และมักจะไม่มี $I$, $S$.
ในการทำงานโดยใช้รูปแบบการระบุ Schnorr ฉันจะอ้างถึง กระดาษ JoC และ ระบุโปรโตคอลที่ฉันใช้อย่างอิสระ เพื่อไม่ให้มีความคลุมเครือเกี่ยวกับสิ่งที่ฉันหมายถึงกับแผนการระบุตัวตนของ Schnorr