เนื่องจากบุคคล B มีเพียงรหัสสาธารณะ ไฟล์ ลายเซ็น และแฮช การตรวจสอบลายเซ็นโดยใช้รหัสสาธารณะจะเพียงพอที่จะพิสูจน์ว่าบุคคล A ลงนามในไฟล์จริงหรือไม่
บุคคล B ไม่ต้องการแฮช หากได้รับแล้ว ก็จะสามารถใช้เพื่อวัตถุประสงค์ในการแก้ไขจุดบกพร่องหรือยกเลิกการตรวจสอบก่อนเวลาได้ แต่ไม่ควรเชื่อถือ ต่อไปนี้ฉันไม่สนใจแฮชที่ B อาจได้รับ
บุคคล B จะแฮชไฟล์ และตรวจสอบว่าแฮช คีย์สาธารณะ และลายเซ็นนั้นตรวจสอบหรือไม่นั่นควรจะเป็น¹เพื่อพิสูจน์ว่าบุคคล A ลงนามในไฟล์
การแฮชเป็นส่วนหนึ่งของการตรวจสอบลายเซ็นที่มักจะระบุว่า: บุคคล B จะตรวจสอบว่าไฟล์ คีย์สาธารณะ และลายเซ็น ได้รับการยืนยันหรือไม่
ข้อยกเว้นสำหรับย่อหน้าด้านบนคือเมื่อระบบลายเซ็นเหมาะสมแล้วที่จะเซ็นข้อความ/ไฟล์ที่มีความยาวเท่าใดก็ได้โดยใช้แฮช $H_1$จะเพิ่มการแฮชอีกชั้นด้วยแฮช $H_2$. ในกรณีนี้ จะพูดว่า: บุคคล B จะแฮชไฟล์ด้วย $H_2$และตรวจสอบว่าแฮช คีย์สาธารณะ และลายเซ็น ตรวจสอบ (โดยปริยาย: ด้วยฟังก์ชันแฮช $H_1$ นำไปใช้กับผลลัพธ์ของ $H_2$ เป็นส่วนหนึ่งของการตรวจสอบลายเซ็น) การแฮชแบบผสมดังกล่าวบางครั้งทำขึ้นเพื่อเหตุผลด้านประสิทธิภาพ เนื่องจาก $H_2$ เป็นไปตามการออกแบบที่เร็วกว่า $H_1$; หรือ/และเพราะ $H_1$ ดำเนินการโดยอุปกรณ์ (เช่น สมาร์ทการ์ด) และ $H_2$ ดำเนินการโดยเครื่องอื่น (เช่น คอมพิวเตอร์ที่ใช้สมาร์ทการ์ด)
แฮชและอัลกอริทึมใด (เหมาะสำหรับ) สิ่งนี้
จากจุดยืนทางทฤษฎี ลายเซ็นต้องการอัลกอริทึมแฮชที่ป้องกันการชนกัน (หมายถึงการทนต่อภาพที่สองก่อน) และความกว้างที่เหมาะสมสำหรับระบบลายเซ็นภายใต้การพิจารณา
หากความกว้างนั้นสูงสุด 512 บิต SHA-512 ตัดทอนอย่างเหมาะสมจะทำ สำหรับขนาดตามอำเภอใจมี SHAKE256. เพื่อความเร็วที่ดีขึ้นก็มี เบลค2.
จากมุมมองเชิงปฏิบัติ โดยทั่วไปแฮชจะถูกระบุโดยระบบลายเซ็นหรือพารามิเตอร์ของมัน และข้อกำหนดนั้นมักจะฝังอยู่กับคีย์สาธารณะในใบรับรองคีย์สาธารณะ
ตัวอย่างของอัลกอริทึมลายเซ็นและแฮชที่ใช้กันทั่วไปคือ ECDSA ด้วยเส้นโค้ง secp256r1 และกัญชา SHA-256. อีกตัวอย่างหนึ่งคือ เอ็ด25519ซึ่งระบุอัลกอริทึม เส้นโค้ง และแฮช (หมายเหตุ Ed25519ph เหมือนกับ Ed25519 ยกเว้นการแฮชคู่ในข้อยกเว้นข้างต้น)
¹ ไม่มีอะไรที่เหมือนกับการพิสูจน์อย่างสมบูรณ์: บางทีรหัสสาธารณะอาจไม่ใช่ของบุคคล A; หรือคีย์ส่วนตัวของบุคคลถูกขโมย; หรือพีซีของพวกเขาอยู่ภายใต้การควบคุมของผู้ประสงค์ร้าย ดังนั้น A จึงต้องการเซ็นชื่ออย่างอื่นทั้งหมด หรือระบบลายเซ็นหรือแฮชเสียâ¦