What’s that – a digital signature?
A digital signature is a data string which associates
a message (in digital form) with
some originating entity.
What’s a digital signature for?
A digital signature of a
message is a number dependent on some secret known
only to the signer, and,
additionally, on the content of the message being signed. Signatures must be
verifiable; if a dispute arises as to whether a party signed a document (e.g.
caused by either a lying signer), an unbiased third party should be able to
resolve the matter equitably, without requiring access to the signer’s secret
information (private key).
Digital signatures
have many applications in information security, including authenti-cation, data
integrity, and non-repudiation. One of the most significant applications of
digital signatures is the certification of public keys in large networks.
Certification is a means for a trusted third party (TTP) to bind the identity
of a user to a public key, so that at some later time, other entities can
authenticate a public key without assistance from a trusted third party.
How do we create a digital
signature?
There exist several procedures to generate a digital
signature. The first method discovered was the RSA signature scheme, which remains
today one of the most practical and versatile techniques available. Subsequent
research has resulted in many alternative digital signature techniques (e.g.
Rabin, Nyberg-Rueppel), but we concentrate on RSA.
RSA-Algorithm to generate the keys:
- 1 < e< a
- gcd(e; a)
=1 (gcd: greatest common divider)
- 1 < d< a
- ed = 1 (mod a)
RSA-Algorithm to
verify the signature and recover the message from the signature:
Verification of s:
additional explanations:
The redundancy
function R and its inverse R-1 are publicly known. It adds redundant
information to the message m. If M is the quantity of all possible messages m,
then MR is the quantity of all messages m out of M after having
executed the redundancy function R.
Example: a message
contains eight figures. So M is the quantity of all messages containing eight
figures. R is a function which adds a ‘5’ at the end of the message. now MR
is the quantity of all messages containing nine figures and ending with a ‘5’.
R-1 cuts off the last figure of a message. Obviously: m = R-1(R(m)).
RSA-Example:
key generation:
signing the message m = 9:
verification of s = 86: