### Samantha

##### Parameters known by Samantha:

Computes the generator $g$:

Computes the fingerprint $\mathcal{H}(m)$:

Computes the public verification key $v$:

Chooses the ephemeral key and its inverse:

Computes the signature of the fingerprint:

### Step y/x

Enter the message (or integer) that Samantha wants to sign:

Hit enter to generate the parameters and use the left and right arrow keys to navigate.

A trusted third party chooses two prime numbers $q$ and $p$ and a generator $g_{1}$ of the group $\mathbb{Z}_{p}$.

The generator $g_{1}$ is used to compute another generator $g$ of order $q$ from the group $\mathbb{Z}_{p}^{*}$.

Samantha and Victor receives the two prime numbers $p$ and $q$ and the generator $g$.

Samantha computes the fingerprint$\mathcal{H}(m)$ of the message $m$ by using the SHA-1 hash function $\mathcal{H}$.

Samantha chooses a secret signing key $s$ and computes the public verification key $v$ which she sends to Victor.

In the signature Samantha needs a random ephemeral key $e$ that is unique for this signature and its inverse $e^{-1}$.

The extended Euclidean algorithm is used to compute the inverse $e^{-1}$.

Samantha computes the signature of the fingerprint $\mathcal{H}(m)$ which consists of the two values $\sigma_{1}$ and $\sigma_{2}$.

Finally she sends the message $m$ and the signature $(\sigma_{1}, \sigma_{2})$ to Victor.

In the verification Victor needs the inverse of $\sigma_{2}$ and the fingerprint of the message.

The extended Euclidean algorithm is again used to compute the inverse $\sigma_{2}^{-1}$.

Victor uses the SHA-1 hash function $\mathcal{H}$ as Samantha to compute the fingerprint $\mathcal{H}(m)$ of the message $m$.

If nobody has tampered with the content of the message Victor gets the same fingerprint as Samantha.

Victor computes $V_{1}$ and $V_{2}$ which he needs in the last step of the verification.

Victor verifies the signature of the fingerprint $\mathcal{H}(m)$.

If the two computed values are equals, the message was signed by Samantha and nobody has tampered with the content of the message.

### Victor

##### Parameters known by Victor:

Receives the public verification key $v$