The ElGamal digital signature is described as follows:
Key Generation
1. Choose a large prime $p$
2. Choose a primitive element $\alpha$ of $Z_p$, i.e.,
$Z_p = (\alpha) = \{1, \alpha, ..., \alpha^{p-2}\}$
3. Choose a random integer $d \in \{2, 3, ..., p - 2\}$
4. Compute $\beta = \alpha^d \mod p$
ElGamal Signature Generation
1. Choose a random ephemeral key $k_e \in \{1, 2, ..., p - 2\}$ with
$\gcd(k_e, p - 1) = 1$
2. Compute the signature $(r, s)$ for a message $x$ as
$r \equiv \alpha^{k_e} \pmod{p}$, $s \equiv (x - d \cdot r)k_e^{-1} \pmod{p - 1}$
ElGamal Signature Verification
1. Compute the value $t = \beta^r s^r \mod p$
2. Return valid signature if $t = \alpha^x \mod p$
and invalid signature if $t \neq \alpha^x \mod p$.
Suppose the parameters in key generation are: $(p, a, d) = (59, 3, 23)$.
(1) For the message $x = 17$ and ephemeral key $k_e = 25$, calculate the signature of $x$
and show the verification process on $(x, (r, s));$