Это не бесконечно. Есть два фактора, которые контролируют потенциальное количество подписей.
Во-первых, при использовании подписей Эль-Гамаля вам практически нужна какая-то схема заполнения. Поскольку это алгоритм дискретного логарифмирования, размер ключа должен быть не менее 3072 бит для обеспечения надлежащей безопасности, и если вы не используете XOF, например SHAKE256, вам потребуется безопасно дополнить хэш до соответствующего размера. Если ваша схема заполнения является детерминированной, такой как PKCS #1 1.5, то это не вводит никаких дополнительных возможных подписей. Однако если вы используете вероятностную схему подписи, то соль, используемая в схеме подписи, добавит дополнительные возможности.
Во-вторых, при подписании вам также придется выбрать $к$, который должен быть выбран случайным образом из $ \{ 2 ¦ p-2 \} $ и быть относительно простым $п - 1$. Размер этого набора определяет количество допустимых подписей для данного сообщения. Существует несколько различных безопасных методов создания $ п $, и простота вычисления размера этого множества зависит от того, что используется.
Однако с практической точки зрения часто целесообразно использовать безопасный детерминированный метод для выбора. $к$ (например, RFC 6979, который тривиально расширен до ElGamal), потому что это означает, что сбой CSPRNG не приводит к утечке закрытого ключа (поскольку CSPRNG не используется при подписании). В таком случае подпись вполне может быть детерминированной, хотя получатель не может ее проверить.