A digital signature lets a holder of a private key authenticate a message while anyone with the public key verifies it. Signing a message digest ties the signature to the message and detects alterations; it does not conceal the message. Authentication also requires a trustworthy association of the public key with its owner.
For the ElGamal signature scheme, choose a large prime and a generator of . The secret is , and the public key is with . To sign a message whose hash is represented by , choose a fresh secret nonce coprime to and set
Transmit with the message. Verification checks the permitted ranges and . Correctness follows from . The secret exponent prevents an outsider from directly constructing this relation for an arbitrary hashed message; nonce reuse can expose the exponent through the repeated linear congruences. Hashing is part of the signature scheme, rather than signing arbitrary raw exponents with no message encoding.

Articles by others on the same topic (0)

There are currently no matching articles.