มันไม่สิ้นสุด มีสองปัจจัยที่ควบคุมจำนวนลายเซ็นที่เป็นไปได้
ขั้นแรก เมื่อใช้ลายเซ็น ElGamal คุณต้องมีรูปแบบช่องว่างภายใน เนื่องจากเป็นอัลกอริทึมลอการิทึมแบบไม่ต่อเนื่อง ขนาดคีย์จึงต้องมีอย่างน้อย 3072 บิตเพื่อความปลอดภัยที่เหมาะสม และเว้นแต่คุณจะใช้ XOF เช่น SHAKE256 คุณจะต้องแพดแฮชให้มีขนาดที่เหมาะสมอย่างปลอดภัย หากรูปแบบการเติมของคุณเป็นแบบกำหนดขึ้น เช่น PKCS #1 1.5 สิ่งนี้จะไม่แนะนำลายเซ็นที่เป็นไปได้เพิ่มเติม อย่างไรก็ตาม หากคุณใช้รูปแบบลายเซ็นที่น่าจะเป็น เกลือที่ใช้ในรูปแบบลายเซ็นจะเพิ่มความเป็นไปได้เพิ่มเติม
ประการที่สอง เมื่อลงนาม คุณจะต้องเลือกด้วย $k$ซึ่งควรจะสุ่มเลือกจาก $ \{ 2 ⦠p-2 \} $ และค่อนข้างสำคัญ $ พี - 1 $. ขนาดของชุดนั้นกำหนดจำนวนลายเซ็นที่ถูกต้องสำหรับข้อความที่กำหนด มีวิธีการที่ปลอดภัยหลายวิธีในการสร้าง $ พี $และความง่ายในการคำนวณขนาดของชุดนี้ขึ้นอยู่กับที่ใช้
อย่างไรก็ตาม ในทางปฏิบัติ มักจะระมัดระวังที่จะใช้วิธีที่กำหนดขึ้นอย่างปลอดภัยสำหรับการหยิบสินค้า $k$ (เช่น RFC 6979 ซึ่งขยายไปยัง ElGamal เล็กน้อย) เพราะนั่นหมายความว่าความล้มเหลวของ CSPRNG จะไม่ส่งผลให้คีย์ส่วนตัวรั่วไหล (เนื่องจากไม่มีการใช้ CSPRNG เมื่อลงนาม) ในกรณีเช่นนี้ ลายเซ็นสามารถกำหนดได้อย่างดี แม้ว่าผู้รับจะตรวจสอบไม่ได้ก็ตาม