Review Paper on Cryptography Vaishnavi Kannan, Smita jhajharia , Dr.Seema Verma Abstract--In the present era digital communication is by far the most important means of communication. The information being transmitted is prone to various attacks (active and passive). Hence, information security is a very important part of the communication process. Cryptography is the branch of information security that provides an excellent method to protect data. Over the years many encryption techniques have been provided and used. This paper discusses different encryption algorithms (symmetric and asymmetric) and newer areas that are being explored in cryptography. Index Terms—Encryption, Decryption, Ciphers, Secret Key I INTRODUCTION Cryptography- Cryptography is the study of methods for secret writing and message hiding. The field of cryptography includes algorithms, methods and protocols for the encryption of a message and its safe traversal over a network (i.e without delay and safe from the hands of an intruder) [1]. Applications of cryptography include its use for confidentiality( to make the message inaccessible to the unauthorized receivers or attackers), integrity( to ensure that the message received is in its original form and not metamorphosed), authenticity(the receiver should be able to verify the sender of the message , its origin and/ or the path travelled by it), non repudiation(confirm the receipt of a message and identity of the sender sending it) and to control/limit the availability , validity or recipient in time or space. Encryption-It is the act of obscuring a message by mystifying its contents. Encryption can also be used to create digital signatures, which helps in the authentication of a message. Decryption - It is the inverse process of encryption. Usually the cipher or algorithm used for encryption is the one used for decryption. Cipher - A cipher is an algorithm, function, method or process for performing encryption or decryption. A cipher generally is a set of well defined steps which can be followed to encrypt and decrypt a data. Plaintext - Any information before being encrypted or in its original undisturbed form. Ciphertext - It is the output or the incomprehensible code obtained by encryption of the plain text. Cryptanalysis- It is the act of trying to decipher an encrypted message without the knowledge of the actual keys or the algorithm used during encryption. A cryptanalytic attack can have two possible goals-The cryptanalyst may have some part of the plaintext and is interested in the rest of it or he might have the cipher text and may want to know about the key and algorithms used. Cryptographic Attacks - They are classified as 1)Passive Attack- The goal here might be to only read the contents of a message and not change anything. 2) Active Attack- The goal here is to change the contents of the message to disable future use or understanding of the message. Cryptanalytic Techniques – 1)Cipher Text Only - The attacker tries to decipher the message without having the knowledge about the kind of information contained in the message and must conjecture from the cipher text only. 2)Known Plaintext Attack - The attacker knows or can guess some parts of the plaintext. 3)Man – in –the-Middle Attack - The idea behind this attack is to intervene the communication between two communicating parties. The attacker can access the traffic, information, modify the original form and then forward it to the receiver. Such attacks can be prevented by public key encryption. 4) Correlation - The correlation (any relation that cannot be deduced and that is not expected on the basis of chance alone) between the secret key and the cipher text are the main source of information in the communication and hence enable the attackers [2]. 5) Attack Against or Using the Underlying HardwareThese attacks make use of the data of the very fine measurements of the cryptographic device to compute the key and the encryption information. 6) Faults in the Cryptosystem- These can even lead to the discovery of the secret key. II TYPES OF CRYPTOGRAPHY Cryptography can be broadly classified into Symmetric/Secret Symmetric-key cryptography refers to cryptographic methods where both the sender and receiver use the same key. The sender would use this key and cipher to encrypt data and the receiver uses the same key and a decryption technique to get back the data. Symmetric key ciphers can be implemented as either block cipher or stream cipher. Also called as a one-key cipher or a shared key cipher they have the drawback of having to manage keys and to use them securely. Asymmetric/Public In asymmetric or public-key cryptography, each participant uses a private key and a public key (i.e. asymmetric encryption requires 2 unique keys). The private key is kept secret whereas the public key is announced to the public. Hash Functions Hash Functions are also called message digests or one-way encryption. Unlike in public and private key cryptography they use no key and are one way functions. . A fixed-length hash value is calculated for the given plaintext to make it extremely difficult to retrieve either the contents or length of the plaintext.A hash function can be defined by the equation f(message)=hash .A given hash value cannot feasibly be reversed to get a message that produced that hash value. There is no inverse hash function f’(hash)=message. A good hash algorithm [3] 1).Converts a message of any size into a fixed "hash length" digitalstring. 2).Given a hash H it should be near impossible to find an M such that H= hash (M). This property of hash functions is also called preimage resistance. 3).hash functions also obey the second preimage resistance property which states that Given an input M1 it should be hard to find another m2 such that hash(m1)=hash(m2). Some famous Hash functions in use today are Hashed Message Authentication Code (HMAC), Message Digest, MD4, MD5, and Secure Hash Algorithm They can be used for digital signatures, in challengeresponse protocols and key derivation functions, for message authentication and integrity functions [3]. Fig I shows a typical Hash algorithm in work. Fig I Hash algorithms III SUBSTITUTION CIPHERS They involve the simple substitution of one character with another. For e.g., If the symbols in the plain text are alphabetical we replace one character with another. For e.g., A can be replaced with D and T with Z. They can be categorized as monoalphabetic or polyalphabetic. In monoalphabetic a character in the plaintext is always substituted by the same character regardless of its position in the text. In polyalphabetic each occurrence of a character can be substituted with a different symbol. The most common example is the shift cipher. Shift/Caesar Cipher-In this cipher alphabets are substituted by another alphabet found some fixed number of positions down in the alphabet set. Correspondingly the decryption algorithm substitutes each alphabet by the alphabet found key places up in the alphabet set. For e.g. A can be made E when key is 4. The shift cipher is called the Caesar cipher when the key is 13.Fig II shows the working of a Caesar cipher where latter A is replaced with D , B with E and so on. Other types of substitution ciphers include homophonic polygraphic, mechanical substitution cipher and the one time pad. IV.TRANSPOSITION CIPHER There is no substitution of characters; instead their positions are changed without any change in their value. For e.g. a character in the tenth position may appear in the fifteenth position in the cipher. A transposition cipher reorders (permutes) symbols one block at a time. Transposition ciphers may include Rail Fence Cipher, Route Cipher, Double Transposition, Myszkowski and Disrupted Transposition Cipher and Grille Cipher. Some of the substitution and transposition ciphers are discussed in Table I.Transposition ciphers are quite weak on their own but can be combined with other ciphers to provide a stronger encryption method.for e.g., transposition cipher can be performed before and after applying a rotating substitution cipher on a plain text. FigI I -CaesarCipher Table I Symmetric Encryption Ciphers S.No NAME YEAR DEVELOPER 1 Hill Cipher 1929 Lester S. Hill Converts plain text into matrix based on ASCII values. 2 Vignere Cipher 1553 Giovan Bellaso This cipher works by replacing each letter by another letter specified number of positions further in the alphabet. 3 Vernam Cipher 1917 Gilbert Vernam 4 Columnar Transposition In a columnar transposition, the message is written out in rows of fixed length, and then read out randomly column by column. 5 Book Cipher A book cipher is a cipher in which the key is some aspect of a book or other piece of text in a book. Users of book ciphers take advantage that the details of the key are sufficiently well hidden from attackers in practice. However, This can have problems; if a word appears in the plaintext but not in the book, it cannot be encoded. 6 Mirror writing The cipher text is the plaintext as reflected by a mirror. It appears normal when it is reflected in a mirror. Standford DESCRIPTION The plain text is XOR’ed with the key bits. 7 Pigpen Cipher Freemasons 18 century Each letter is substituted by a symbol. The alphabet is written in grids, and then each letter is enciphered by replacing it with a symbol that depends on the portion of the grid that contains the letter. 8 Morse Code Samuel Morse mid-1830’s It is a code that uses “dots” and “dashes” for substitution. 9 10 th Scytale The original plaintext message is written on the paper which is wrapped around a cylinder. While it is wound around the cylinder. The Cypher text is obtained by reading the unwounded paper. To decipher the message, the paper can be wrapped around another stick of the same dimensions. Polybius Square A Polybius Square is a table that is used to translate letters into numbers. For encryption, this table(5x5) can be shared with the recipient. To accommodate all the 26 letters into the 25 spots of the table, the letters i and j are written together or are combined. To encode a message each letter is replaced with the row and column in which it appears. V. MODERN ROUND CIPHERS The ciphers used today involve multiple rounds, each round being a complex cipher made up of several simple ciphers and accordingly have been named round ciphers. The key used in each round is derived from the main key (the round key) using a key. There are two famous modern symmetrickey ciphers: DES and AES. These ciphers are referred to as block ciphers because they divide the plaintext into blocks and use the same key to encrypt and decrypt the blocks. DES has been the de facto standard until recently. However, AES is the formal standard now. VI. PUBLIC KEY ALGORITHMS RSA(rivest shamir adleman algorithm) The RSA public key cryptosystem relies on the property that finding two large prime numbers is relatively easy compared to factorizing their product to provide an efficient encryption algorithm. Each user of RSA creates and then distributes the product of two large prime numbers, along with a public key. A participant creates his public and private keys using the following steps— 1. Select two large random prime numbers p and q (not equal).(NO SPACE) 2. Calculate n=pq. 3. Select an odd integer e that is relatively prime to f(n)=(p1)(q-1). 4. Compute the multiplicative inverse of e modulo f(n). 5. P=(e,n) is the RSA public key. 6. S=(d,n) is the RSA secret key. To encrypt a message M use the public key as P(M)= Me mod n (1) To convert the cipher text back to the message use S(C)= Cd mod n. (2) 1. Each party i chooses a random number xi from the interval 0 ≤ xi <l or from some larger interval 2. They publish their xi. 3. The common key of the parties i and j is axixj , which they both can compute quickly from the published information and from their own secret numbers. 4. These keys can then be used for encryption and decryption. The only use of DH is for secret-key key exchange. It is not used for authentication or digital signatures. Digital Signature Algorithm Just like a signature on a paper which can be used as a testimony a digital signature can be used by a receiver to confirm that the message has not been changed during transmission as well to verify the credibility of the sender’s identity. Stored data and programs can also be signed with digital signatures to verify the integrity of the data and programs at any later time. Digital signatures make use of asymmetric cryptography and employ three basic algorithms: 1)A key generation algorithm that selects a private key at random from a collection of possible private keys. The algorithm generates a private key and a corresponding public key. 2)A signing algorithm that produces a signature with message and private key as the inputs. 3)A signature verifying algorithm that either accepts or rejects the message's claim to authenticity. Elliptic Curve Cryptography ECC is an approach to encryption that utilizes the complex nature of elliptic curves in finite fields. ECC is very similar to Diffie-Hellman Key Exchange and RSA algorithms for Encryption. If an attacker is able to factor the modulus n in the public key then he can easily work out the secret key. Therefore if factorizing large numbers was undemanding, then breaking the RSA cipher becomes effortless. Its disadvantages are in its speed, its enormous cost, and the ease of manipulation. The advantage is in its ease of use and ease of upgradation because of flexibility and portability. Diffie Hellman Algorithm This is the simplest and the most secure method to exchange keys. The pre-master secret is established between the client and server using the diffie hellman protocol .The diffie hellman half-keys are sent in plain text. Neither party are known to each other and the key is shared through an insecure communication channel. Fig. III Elliptic Curve Cryptography The difference is that the numbers used in ECC are chosen from a finite field defined within an elliptic curve expression(as shown in Fig.III ,P and Q are te two numbers chosen). An Elliptic curve is a mathematical structure on which a number of operations which provide a one way (hash) function can be performed. ECC uses these one way functions for efficient cryptographic systems. The function is called Elliptic Curve Discrete logarithm Problem (ECDLP). ECC provides equal level of security using smaller key lengths unlike in integer factorization or discrete logarithm based systems which require a longer key. Also ECC occupies less space and is faster compared to RSA. VII. CURRENT PROGRESS IN CRYPTOGRAPHY Early cryptography was solely concerned with converting messages into unreadable figures to protect the message from colluders during its transmission. It was limited to its use in concealment of both diplomatic and military secrets from the enemy. Today cryptography has expanded its domain and is used widely to protect data by encryption in a cost effective manner. The earliest forms of cryptography were transposition and substitution ciphers which deal with the encryption of a message by permuting the words or alphabets and substituting them with another alphabet or number respectively. Such ciphers were easy to decode and were vulnerable to various attack. In the modern era, cryptography has grown from basic message confidentiality to include some phases of message integrity checking, sender/receiver identity authentication, and digital signatures, among other things. Modern cryptography dates back to the late 1960’s when Date Encryption Standards was adopted by NIST for encrypting overt information. In 1978 RSA public key algorithm (one of the first public key algorithms) was given by Ron Rivest, Adi Shamir, and Leonard Adleman at the Massachusetts Institute of Technology. Its discovery solved the need to exchange keys and it also proposed the world wide acceptable standard techniques like authentication and digital signatures. In the 1980’s Elliptical Curve Cryptography became popular due its better security and a smaller key. Chaotic cryptography was introduced in 1993 which utilizes the complex behavior of chaotic dynamical systems to hide or mask information. Several variations and types of chaotic cryptography have been presented since [4]. Another type of cryptography called the policy based cryptography has been proposed. Policy based cryptography uses a policy to encrypt messages in such a way that only the policy holders are able to decipher the message. The encryption of such may contain AND’ing or OR’ing of conditions [5]. Current research in cryptography include the amalgamation of two or more fields to come up with an efficient encryption technique. You may use one for help in transmission of encryption keys that are then used by a second, different method to encrypt the message. This is known as a hybrid cryptosystem, which uses the best traits of its components to make up for the weakness of others. Quantum cryptography is one such field which combines quantum theory with cryptography. This area focuses mainly on the quantum key exchange and the key exchange uses an invisible photon. These use photons to create a shared bit string between two parties. The security of QKE rests on the law that no information about the quantum state of a particle can be obtained without introducing disturbance. Also any attempt to eavesdropping may be identified. A future aim within the reach of current technology is QKE between the ground and a satellite. Quantum key cryptography depends on public key cryptography for integrity and authentication. Hence it can be used for digital signatures[6].Current challenges in QKE include the availability of a source for single photons, higher detector efficiencies, better key generation rates, authentication, and the integration of a QKE system into a computer network. Another field is Genetic Algorithm (GA) which is typically used to obtain solution for optimization and search problems. They model genetic processes usually of inheritance and DNA formation and make use of the crossing over, mutation, selection, population size and individual fitness theories[7]. Biometric cryptosystems are also widely in use today. They don’t have the need to remember passwords or exchange keys and still provide guaranteed identification and privacy but require the presence of the user at all times. Also there are fuzziness issues because of the high variability of biometric trait. Neural cryptography is another emerging field which deals with the application of Neural Network algorithms (and other stochastic ones) for use in encryption and cryptanalysis. It is based on the fact that neural networks can synchronize by mutual learning .On the other hand is Visual cryptography technique which allows visual information like pictures or text, etc. to be encrypted in such a way that decryption becomes a manual operation that does not require the use of a computer. It was proposed by Naor and Shamir in 1994. Visual Cryptography makes use of two transparent images. One is a collection of random pixels and the other image contains the message. It is impossible to retrieve the message from only one of the images. Both the images in the correct order are required to reveal the information. It does not require complex mathematical calculations for decryption. The two images are usually printed on a transparent sheet. It has the disadvantage of wanting information compression in order to use less disk space[8][9]. Lightweight cryptography aims to develop more efficient cryptographic techniques keeping in mind the typical constraints in the hardware of Internet of Things (IoT)The hardware are most likely be constrained in computational power, battery, and memory[10] . Lightweight cryptography is tailored for such constrained devices, with the goal of balancing the tradeoffs between low resource requirements, performance, and cryptographic strength [11]. Techniques used to meet this challenge include the use of block ciphers, hash functions, and public key cryptography for lightweight cryptography. VIII. CRYPTOGRAPHY IN NETWORK SECURITY Computer and network security is an ever expanding area. Security issues and incidents rise at an alarming rate every year. As the complexity in the network rises the need for security also rises. Many applications, softwares and companies have the need to hide details from the users. Some of the most common security wants of a company are Methods for 1) Authentication 2) Access control 3) Data confidentiality 4) Non-Repudiation Cryptography is one such technique that provides a system to meet the said terms. Apart from security cryptography also provides1) Proxy signature mechanism-this mechanism allows a proxy signer to sign on behalf of an individual or organization. 2) Monitoring Communication 3) Fractional observing of data-used when the sender wants only some part of the message to be monitored and not all. In this case translucent cryptography is used that works on the space between strongly encrypted and weak/no encryption areas. 4) Certificates-A certificate is an electronic document that identifies an individual, organization or a server. 5) Key distribution- Diffie Hellman and Quantum Key Exchange were designed specifically for this purpose. Security in most networks is ensured by applying cryptographic methods in various protocols. The level at which cryptography is applied decides the level of transparency to the user. Some of the protocols which use encryption in some form area) SSL- It uses an encrypted tunnel for the exchange of data. It provides all the basic security services except for access control. b) SSH- It is very similar and also provides a channel for secure exchange of data. However it also provides access control. c) KERBEROS-It is used to provide a way to authenticate both the sender and the receiver.it uses only symmetric key for encryption. Apart from nonrepudiation all other services are provided. d) SET-It is specially designed for the security in credit card transactions. e) PGP-It is used to encrypt the data of an email with the use of asymmetric key encryption. It provides authentication, confidentiality and data integrity. While cryptography can ensure security against some types of attacks there are other factors which can degrade the quality of the network to a great extent. IX. CONCLUSION Computer and network security is a new but fast moving technology still needs to be properly defined. Cryptography plays vital role in explosive growth of digital data storage and communication. It is used to achieve the mains of security goals like confidentiality,integrity, authentication, no-repudiation. In order to achieve these goals, various cryptographic algorithms are developed. This paper presents a review of various symmetric and asymmetric ciphers and their algorithms(classical and modern), which are used in cryptography for various security purposes. With the help of these cipher’s and algorithms one can generates his own cipher’s by making slight modifications to the existing cipher algorithms. Also performance evaluation of various ciphers can be done and be improved upon in the future. X. ACKNOWLEDGMENT I would like to take this opportunity to thank and express my deep respect and regard for DR. S. K. PAL (SC ’F’ DRDO, Delhi), DR. Seema Verma (Associate professor, Banasthali University) for their exemplary guidance, constant encouragement and valuable feedback throughout the preperation of this paper.Their valuable suggestions were immensly helpful and working under them was a knowledgeable experience. REFERENCES [1] en.wikibooks.org/wiki/Cryptography/Introduction. [2] http://math.colorado.edu/~hiba/crypto/cryptanalysis.html [3}http://community.roxen.com/developers/idocs/drafts/drafthoffman-schneier-4270bis-02.htm [4]Q.V.Lawande, B.R.Ivan and S.D.Dhodapkar , “Chaos Based Cryptography : A New Approach To Secure Communications” July 2005 No. 258 . [5] Giovanni Di Crescenzo and Marc ,“Policy-Based Cryptography:Theory and Applications” December 2006 Giraulthttp://www.eurecom.fr/en/publication/2122/download/cebaggwa-061208.pdf [6] http://www.ijrte.org/attachments/File/v2i2/B0634052213.pdf [7]http://www.ijarcsse.com/docs/papers/Volume_3/5_May2013/V 3I5-0187.pdf [8] Swati Mishra,and Siddharth Bali, “Public Key Cryptography Using Genetic Algorithm” International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-3878, May 2013 . [9] http://users.telenet.be/d.rijmenants/en/visualcrypto.htm [10]http://cybersecurity.mit.edu/2013/09/lightweightcryptography/ [11]http://link.springer.com/chapter/10.1007%2F978-1-40208737-0_87#page