A cipher is a secret method of writing, as by code. Cryptography, in a very broad sense, is the
study of techniques related to aspects of information security. Hence cryptography is concerned with the
writing (ciphering or encoding) and deciphering (decoding) of messages in secret code. Cryptographic
systems are classified along three independent dimensions:
The type of operations used for performing plaintext to ciphertext
All the encryption algorithms make use of two general principles; substitution and transposition through
which plaintext elements are rearranged. Important thing is that no information should be lost.
The number of keys used
If single key is used by both sender and receiver, it is called symmetric, single-key, secret-key or
conventional encryption. If sender and receiver each use a different key, then it is called asymmetric, twokey or public-key encryption.
The way in which plaintext is processed
A block cipher process the input as blocks of elements and generated an output block for each input block.
Stream cipher processes the input elements continuously, producing output one element at a time as it goes
The process of attempting to discover the plaintext or key is known as cryptanalysis. It is very difficult
when only the cipher text is available to the attacker as in some cases even the encryption algorithm is not
known. The most common attack under these circumstances is brute-force approach of trying all the possible
keys. This attack is made impractical when the key size is considerably large. The table below gives an idea on
types of attacks on encrypted messages.