ABSTRACT

Cryptography is divided into two main classes, classical and modern cryptography. Classical cryptographic schemes are mostly designed in an ad hoc way that they cannot provide security proofs. In the modern cryptography, schemes are designed in a structured way so that they could provide security proofs, which are commonly based on rigorous definitions and hardness assumptions of underlying mathematical problems. Representative historical classical ciphers include shift ciphers and substitution ciphers. A cipher means an algorithm for performing encryption or decryption. In contrast to classical cryptography, modern cryptographic schemes are designed in a rigorous way that they can provide proofs of security, which are based on definitions and hardness assumptions of underlying mathematical problems. Modern cryptography is based on complexity theory. It should not matter whether a cipher-text reveals information about the message. Modern cryptography takes computational approach which is weaker than perfect but sufficient security.