How Digital Signatures Work
There are two steps involved in creating a digital signature from a message.
The first step involves creating a hash value
(also known as a message digest
) from the message. This hash value is then signed, using the private key of
the signer. Following is an illustration of the steps involved in creating a
To verify a signature, both the message and the signature are required. First,
a hash value must be created from the message, in the same way as when the
signature was created. This hash value is then verified against the signature,
using the public key of the signer. If the hash value and the signature match, you
can be confident that the message is indeed the one the signer originally
signed and that it has not been tampered with. The following diagram illustrates
the process involved in verifying a digital signature.
A hash value consists of a small amount of binary data, typically around 160
bits. This is produced using a hashing algorithm
. A number of these algorithms are listed later in this section.
All hash values share the following properties, regardless of the algorithm
- The hash value is of a fixed length, regardless of the size of the message.
The message can be several kilobytes or several gigabytes, it doesn't matter.
Depending on the algorithm used, the hash value length will generally be either
128 or 160 bits.
- Every pair of nonidentical messages will translate into a completely different
hash value, even if the two messages differ only by a single bit. Using
today's technology, it is not feasible to discover a pair of messages that translate
to the same hash value without breaking the hashing algorithm.
- All hashing algorithms are fully deterministic. That is, each time a
particular message is hashed using the same algorithm, the exact same hash value will be
- All hashing algorithms are one-way. Given a hash value, it is not possible to
recover the original message. In fact, none of the properties of the original
message can be determined given the hash value alone.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages
- Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database