Digital Signature Calculator
Digital signature calculators. This has some basic examples and steps for verifying signaures for both RSA Digital signature and Elgamal Digital signature examples.
RSA Signature System:
Tools to store values:
Public Keys: Value: n, Value: e
Private Keys: Value: d
Description maximum set value | Value [ max ] | Input | Edit Input | Generate Value | Clear Field |
Description [P] value | Value [ p ] | Input | Edit Input | Generate Value | Clear Field |
Description [Q] value | Value [ q ] | Input | Edit Input | Generate Value | Clear Field |
Description [N] value | Value [ n ] | Input | Edit Input | Generate Value | Clear Field |
Description [φ(N)] Phi(n) | Value [ phin ] | Input | Edit Input | Generate Value | Clear Field |
Description [E] Value | Value [ e ] | Input | Edit Input | Generate Value | Clear Field |
Description [D] Value | Value [ d ] | Input | Edit Input | Generate Value | Clear Field |
Description [M] message to encode | Value [ m ] | Input | Edit Input | Generate Value | Clear Field |
Description [S] Signature Value | Value [ s ] | Input | Edit Input | Generate Value | Clear Field |
Description [VS] Verified Signature Value | Value [ vs ] | Input | Edit Input | Generate Value | Clear Field |
Step Order:
- Choose 2 prime numbers for p and q
- Calculate n value: p * q = n
- Calculate φ(n) value: (p - 1) * (q - 1) = φ(n)
- Generate e using φ(n) value
- Public keys generated to send out: (n, e)
- Generate private key d value: de = 1 mod φ(n) : which can also be calculated as: e-1 mod φ(n) = d
- Sign message m and create signature using d: m d mod n = s
- Verify signature s with received message m: s e mod n = m 1
- Verified value should match the message value, if not, then there has been some tampering with the message
Elgamal Signature System:
Tools to store values:
Public Keys: Value: p, Value: g, Value: y
Private Keys: Value: x
Description maximum set value | Value [ max ] | Input | Edit Input | Generate Value | Clear Field |
Description [P] value | Value [ p ] | Input | Edit Input | Generate Value | Clear Field |
Description [G] value | Value [ g ] | Input | Edit Input | Generate Value | Clear Field |
Description [X] value | Value [ x ] | Input | Edit Input | Generate Value | Clear Field |
Description [Y] value | Value [ y ] | Input | Edit Input | Generate Value | Clear Field |
Description [K] Value | Value [ k ] | Input | Edit Input | Generate Value | Clear Field |
Description [R] Value | Value [ r ] | Input | Edit Input | Generate Value | Clear Field |
Description [K-1] Value | Value [ inv-k ] | Input | Edit Input | Generate Value | Clear Field |
Description [M] message to encode | Value [ m ] | Input | Edit Input | Generate Value | Clear Field |
Description [S] Signature Value | Value [ s ] | Input | Edit Input | Generate Value | Clear Field |
Description [V] Verified Signature Value | Value [ v ] | Input | Edit Input | Generate Value | Clear Field |
Description [W] Verified Signature Value | Value [ w ] | Input | Edit Input | Generate Value | Clear Field |