Digital Signature Algorithm (DSA) คืออะไร?
Digital Signature Algorithm (DSA) เป็นวิธีมาตรฐานในการพิสูจน์ข้อความว่าเป็นของจริงและไม่ถูกดัดแปลง โดยใช้งานด้วยคู่กุญแจคริปโตกราฟิก ลองคิดว่ามันเหมือนปากกาสีWax ที่คณิตศาสตร์สามารถยืนยันได้ในชิบนาที โดยไม่ต้องใช้นิติกร.
DSA เข้ารหัสข้อมูลของคุณ เปล่า. มันลงนามข้อมูลเพื่อให้ผู้อื่นสามารถยืนยันว่าใครเป็นผู้ส่ง และไม่มีการเปลี่ยนแปลง Encryption เป็นเรื่องแยกต่างหาก.
Digital Signature Algorithm (DSA) ทำงานอย่างไร
การเดินทางแบบรวดเร็วด้วยบรรยากาศกระเป๋าเงิน คุณต้องการพิสูจน์ข้อความว่าเป็นของคุณโดยไม่เปิดเผยความลับ นี่คือขั้นตอน:
- Step 1: กระเป๋าเงินของคุณถือ private-key ของคุณ ซึ่งยังคงเป็นความลับ.
- Step 2: คุณขอให้มันลงนามในการทำธุรกรรม cryptocurrency transactions หรือข้อความหนึ่งข้อความ.
- Step 3: กระเป๋าเงินทำการแฮชข้อความ เลือกตัวเลขสุ่มใหม่ที่เรียกว่า k จากนั้นคำนวณชุดลายเซ็น r และ s ด้วยกุญแจลับของคุณ.
- Step 4: ใครก็สามารถใช้ public-key ของคุณเพื่อยืนยันว่า r และ s ตรงกับข้อความและกุญแจของคุณ.
- Step 5: หากการตรวจสอบผ่าน เครือข่ายยอมรับการกระทำว่าเป็นของแท้ ไม่มีความลับถูกเปิดเผย.
นั่นคือแนวคิดหลัก ลงนามด้วยความลับ ตรวจสอบด้วยสาธารณะ.
เหตุผลที่ Digital Signature Algorithm (DSA) สำคัญ
ทำไมถึงใส่ใจ? เพราะความเชื่อถือบนอินเทอร์เน็ตต้องมีใบเสร็จ.
- ประโยชน์: พิสูจน์ความเป็นผู้สร้างและความสมบูรณ์ของข้อมูลโดยไม่แบ่งปันกุญแจลับ nhanh, อัตโนมัติ, และน่าเบื่อในแบบที่ดีที่สุด.
- มุมมอง: มันช่วยรักษาความปลอดภัยของตลาดสำหรับ digital assets ด้วยการยับยั้งการอนุมัติที่ปลอมแปลงและการแก้ไขที่เงียบ.
- ความเกี่ยวข้อง: คุณจะพบมันเมื่อคุณลงนามในการดำเนินการกระเป๋าเงิน อัปเดตซอฟต์แวร์ หรือการอนุมัติ smart contract แม้ว่าแอปจะซ่อนคณิตศาสตร์ไว้.
อย่าใช้งานค่า k แบบสุ่มซ้ำเมื่อทำการลงนาม และควรใช้การลงนามแบบ determinist ถ้า supported การใช้งาน k ซ้ำอาจเปิดเผยความลับของคุณได้ด้วยเหตุการณ์ oops เดียว.
ลักษณะสำคัญของ Digital Signature Algorithm (DSA)
ลักษณะเหล่านี้ทำให้มันมีเขี้ยว:
- ความสุ่ม: ทุกลายเซ็นต้องการ k ที่ fresh และไม่สามารถทำนายได้เพื่อความปลอดภัย.
- คู่: ลายเซ็นคือจำนวนสองตัว r และ s ไม่ใช่ blob เดียว.
- การ hashing: ลงนาม hash ของข้อความ ซึ่งทำให้ใช้งานได้สอดคล้องและรวดเร็ว.
- มาตรฐาน: นิยามโดย NIST ใน FIPS 186 เพื่อให้ผู้ตรวจสอบและไลบรารีพูดภาษาเดียวกัน.
- การตรวจสอบ: ใครก็ได้ที่มี public key สามารถตรวจสอบหลักฐานโดยไม่เรียนรู้ความลับ.
DSA คำนวณอย่างไร?
คุณไม่จำเป็นต้องรันด้วยตนเอง แต่นี่คือภาพรวม ระบบมีพารามิเตอร์สาธารณะ p, q, g คีย์ลับของคุณคือ x และ public key ของคุณคือ y ซึ่งเท่ากับ g ยกกำลัง x mod p.
H = hash(message) choose k as a nonzero random in Z_q r = (g^k mod p) mod q s = inv(k, q) * (H + x*r) mod q signature = (r, s) เพื่อยืนยัน ตรวจสอบ w ซึ่งเท่ากับ inv(s, q), แล้ว u1 ซึ่งเท่ากับ H times w, และ u2 ซึ่งเท่ากับ r times w หาก v which equals (g^u1 * y^u2 mod p) mod q equals r, ลายเซ็นนี้ถูกต้อง.
ลายเซ็นพิสูจน์ต้นทางและความสมบูรณ์ ไม่ใช่ความลับ หากข้อความเป็นความลับ คุณยังต้องเข้ารหัสด้วย
ตัวอย่าง
กระเป๋าเงินของคุณลงนามในการร้องขอการโอน ส่งข้อความพร้อม r และ s และผู้ตรวจสอบยืนยันลายเซ็นก่อนที่จะโอนเหรียญใดๆ
ข้อเท็จจริงสนุกๆ
DSA ได้รับการมาตรฐานในช่วงต้นทศวรรษ 90 และได้รับแรงบันดาลใจจากแนวคิดของ Schnorr Tales ที่มีชื่อเสียง เรื่องรางมาคือเมื่อทีมคอนโซเกมได้ใช้ nonce การลงนามซ้ำกันในโครงร่างลูกพี่ลูกน้อง และคีย์ลับร่วงหล่นเป็นเหรียญห้าสลึง.
Wrap-Up
Digital Signature Algorithm (DSA) คือป้ายรับรองทางคณิตศาสตร์บนข้อความและการเคลื่อนไหวของเงินสด แนวคิดง่ายๆ แต่การป้องกันที่จริงจัง.