ENCRYPTION AND DECRYPTION
A symmetric encryption scheme has five ingredients
Plaintext: This is the original intelligible message or data that is fed into
the algorithm as input
Encryption algorithm: The encryption algorithm performs various
substitutions and transformations on the plaintext.
Secret key: The secret key is also input to the encryption algorithm. The
key is a value independent of the plaintext and of the algorithm. The
algorithm will produce a different output depending on the specific key
being used at the time. The exact substitutions and transformations
performed by the algorithm depend on the key
Ciphertext: This is the scrambled message produced as output. It depends
on the plaintext and the secret key. For a given message, two different
keys will produce two different ciphertexts. The ciphertext is an
apparently random stream of data and, as it stands, is unintelligible.
Decryption algorithm: This is essentially the encryption algorithm run in
reverse. It takes the ciphertext and the secret key and produces the
original plaintext.
With the message X and the encryption key K as input, the encryption algorithm
forms the ciphertext Y = [Y1, Y2, , YN]. We can write this as
Y = E(K, X)
This notation indicates that Y is produced by using encryption algorithm E as a
function of the plaintext X, with the specific function determined by the value
of the key K. The intended receiver, in possession of the key, is able to invert
the transformation:
X = D(K, Y)
Diffie–Hellman Key-Exchange/Agreement Algorithm
STEGANOGRAPHY
Steganography is a technique that facilitates hiding of a message that is to be
kept secret inside other messages. This results in the concealment of the secret
message itself! Historically, the sender used methods such as invisible ink, tiny
pin punctures on specific characters, minute variations between handwritten
characters, pencil marks on handwritten characters, etc.
KEY RANGE AND KEY SIZE
The encrypted messages can be attacked, too! Here, the cryptanalyst is armed
with the following information:
The encryption/decryption algorithm
The encrypted message
Knowledge about the key size (e.g. the value of the key is a number
between 0 and 100 billion)
POSSIBLE TYPES OF ATTACKS
Cipher-Text Only Attack
In this type of attack, the attacker does not have any clue about the plain text.
She has some or all of the cipher text. The attacker analyzes the cipher text at
leisure to try and figure out the original plain text. Based on the frequency of
letters (e.g. the alphabets e, i, a are very common in English, etc.) the attacker
makes an attempt to guess the plain text.
Known Plain-Text Attack
In this case, the attacker knows about some pairs of plain text and
corresponding cipher text for those pairs. Using this information, the attacker
tries to find other pairs, and therefore, know more and more of the plain text.
Examples of such known plain texts are company banners, file headers, etc.,
which are found commonly in all the documents of a particular company
Chosen Plain-Text Attack
The attacker selects a plain-text block, and tries to look for the encryption of the
same in the cipher text. Here, the attacker is able to choose the messages to
encrypt. Based on this, the attacker intention ally picks patterns of cipher text
that result in obtaining more information about the key.
Chosen Cipher-Text Attack
In the chosen cipher-text attack, the attacker knows the cipher text to be
decrypted, the encryption algorithm that was used to produce this cipher text,
and the corresponding plain-text block. The at tacker’s job is to discover the key
used for encryption. However, this type of attack is not very commonly used
Chosen-Text Attack
The chosen-text attack is essentially a combination of chosen plain-text attack
and chosen cipher-text attack.