Crypto 2
Crypto 2
Crypto 2
The Digital Signature is a technique which is used to validate the authenticity and
integrity of the message.The basic idea behind the Digital Signature is to sign a
document. When we send a document electronically, we can also sign it. We can sign
a document in two ways: to sign a whole document and to sign a digest.
• In Digital Signature, the private key is used for encryption while the public key is
used for decryption.
• Authentication: We can use the following reasoning to show how the message is
authenticated. If an intruder (user X) sends a message pretending that it is
coming from someone else (user A), user X uses her own private key to encrypt
the message. The message is decrypted by using the public key of user A.
Therefore this makes the message unreadable. Encryption with X's private key
and decryption with A's public key results in garbage value.
• Non-Repudiation: Digital Signature also provides non-repudiation. If the sender
denies sending the message, then her private key corresponding to her public key
is tested on the plaintext. If the decrypted message is the same as the original
message, then we know that the sender has sent the message.
Note: Digital Signature does not provide privacy. If there is a need for privacy, then
another layer of encryption/decryption is applied.
• Public key encryption is efficient if the message is short. If the message is long, a
public key encryption is inefficient to use. The solution to this problem is to let
the sender sign a digest of the document instead of the whole document.
• The sender creates a miniature version (digest) of the document and then signs
it, the receiver checks the signature of the miniature version.
• The hash function is used to create a digest of the message. The hash function
creates a fixed-size digest from the variable-length message.
• The two most common hash functions used: MD5 (Message Digest 5) and SHA-1
(Secure Hash Algorithm 1). The first one produces 120-bit digest while the second
one produces a 160-bit digest.
• A hash function must have two properties to ensure the success:First, the digest
must be one way, i.e., the digest can only be created from the message but not
vice versa.
• Second, hashing is a one-to-one function, i.e., two messages should not create the
same digest.
• The miniature version (digest) of the message is created by using a hash function.
• After the digest is encrypted, then the encrypted digest is attached to the original
message and sent to the receiver.
• The receiver receives the original message and encrypted digest and separates the
two. The receiver implements the hash function on the original message to create
the second digest, and it also decrypts the received digest by using the public key
of the sender. If both the digests are same, then all the aspects of security are
preserved.
Birthday attack is a type of cryptographic attack that belongs to a class of brute force
attacks. It exploits the mathematics behind the birthday problem in probability
theory. The success of this attack largely depends upon the higher likelihood of
collisions found between random attack attempts and a fixed degree of permutations,
as described in the birthday paradox problem.
• f – cryptographic function.
• Mark makes a legitimate document called (m) and a fraudulent one named as
(m’)
• Here if Mark changes (m) to (m’) at several positions he will be able to create
multiple variations of the legitimate document (m).
• Here Mark can use the hash function to match hash values of f(m)= f(m’).
• Now even if Jack signs the legitimate document, Mark can easily replace it with
the matching fraudulent document and prove that Jack originally signed the
fraudulent document.
To conclude, security experts recommend that we should also use a very strong
combination and a long sequence of bit length to prevent brute-force attacks.
(b) hashcash
A blind signature scheme is a type of digital signature that conceals the identity of
the message contents and the sender.
Going further, should the voting authority be called upon to validate the information
they received they are able to validate the message’s authenticity but unable to
connect it with the sender (called unlinkability).