Sei sulla pagina 1di 12

2.

Chaos and cryptography: Cryptography is the practice and study of techniques for secure communication in the presence of third parties (called adversaries). More generally, it is about constructing and analyzing protocols that overcome the influence of adversaries and which are related to various aspects in information security such as data confidentiality, data integrity, and authentication. . Applications of cryptography include ATM cards, computer passwords, and electronic commerce. Modern Cryptography: It can be divided into several areas of study.The chief ones are symmetric key cryptography and public key cryptography. Symmetric-key Cryptography: It refers to encryption methods in which both the sender and receiver share the same key (or, less commonly, in which their keys are different, but related in an easily computable way). A cipher is another name for a cryptographic algorithm.The purpose of a cipher is to take unencrypted data, called the plain text, and produe an encrypted version of it ,called the cipher text. Modern study of symmetric-key ciphers relates mainly to the study of block ciphers(encrypts blocks of plain text larger than one bit) and stream ciphers(encrypts one bit of data at a time). Cryptographic key is used to increase the degree of security. Our first atempt was to apply the principles of chaos theory to the field of cryptography based on the paper by K.M.Roskin and J.B.Casper.

This algorithm is called as "Simple cipher".The simple cipher is a block cipher with a 256-bit key.we use two session keys ,ki and ki+1 .Instead of adding them directly to the plain text we instead use them as initial conditions in the chaotic map.The box M1 represents a mapping from the session key space,all integers between 0 and 255,into the domain of the logistic map,all reads in the interval [0,1].The sum of the next session key and the number 16 is used as the number of iterations of the logistic map.M2 uses fuzzy set membership to map the domain of logistic map, [0,1),back into the interval [0,255].As we encrypt each new block,i,the counterused to keep track of the current session key,is incremented.The output of the logistic map is then merged with the plain text to give the cipher text.Decryption is very simple,the same pad is generated but this time unmerged with the cipher text to retrieve the plaintext. We implemented this algorithm for both encryption and decryption for an image, in matlab.The code is attached here and our results are

cipher image

original image MATLAB CODE Next, a bit advanced algorithm for image encryption than this, from N.K. pareek research paper was implemented.

ABOUT N.K.PAREEK PAPER AND CODE. 1.DES Algorithm: The algorithm's overall structure is shown in Figure 1: there are 16 identical stages of processing, termed rounds. There is also an initial and final permutation, termed IP and FP, which are inverses (IP "undoes" the action of FP, and vice versa). The block is divided into two 32-bit halves and processed alternately; this criss-crossing is known as the Feistel scheme.The + symbol denotes the exclusive-OR (XOR) operation. The F-function scrambles half a block together with some of the key. The output from the Ffunction is then combined with the other half of the block, and the halves are swapped before the next round. After the final round, the halves are not swapped; this is a feature of the Feistel structure which makes encryption and decryption similar processes. The F-function, depicted in Figure 2, operates on half a block (32 bits) at a time and consists of four stages: The Feistel function (F-function) of DES Expansion the 32-bit half-block is expanded to 48 bits using the expansion permutation, denoted E in the diagram, by duplicating half of the bits. The output consists of eight 6bit(8*6=48bits) pieces, each containing a copy of 4 corresponding input bits, plus a copy of the immediately adjacent bit from each of the input pieces to either side. Key mixing the result is combined with a subkey using an XOR operation. 16 48-bit subkeys one for each round are derived from the main key using the key schedule (described below). Substitution after mixing in the subkey, the block is divided into eight 6-bit pieces before processing by the S-

boxes, or substitution boxes. Each of the eight S-boxes replaces its six input bits with four output bits according to a non-linear transformation, provided in the form of a lookup table. The S-boxes provide the core of the security of DES without them, the cipher would be linear, and trivially breakable. Permutation finally, the 32 outputs from the S-boxes are rearranged according to a fixed permutation, the P-box. This is designed so that, after expansion, each S-box's output bits are spread across 6 different S boxes in the next round.

DES with Chaos: Accoring to the research paper published by Ranjan Bose,this algorithm complexity can be increased by using multiple keys instead of a sinle key which is generated by using a siple logistic map f(x)=4*x(1-x) which shows chaotic behaviour.For an error as small as the order of 10-30 we achieve differences of greater than 0.0625 after about 100 iterations. The divergence of obtained chaos values for just a small disturbance in the initial start can be seen much more clearly in Figure.The following factors are to be considered to obtain the multiple keys. i) The starting value for the iterations (x0) , ii) The number for decimal places of the mantissa that are to be supported by the calculating machine and iii) The number of iterations after which the first value can be picked for generating keys. iv) The number of iterations to be maintained between two picked values thereafter. Based on some calculations, the optimum values,are found for these in the paper, for which the algorithm is more secure.

2.Public-key Cryptography: Public-key algorithms, also called asymmetric algorithms,are designed so that (i) the encryption key is different from the decryption key, (ii) the encryption key can be madepublic, and (iii) the decryption key cannot, at least in any reasonable amount of time, be calculated from the encryption key. There are many public-key algorithms: Only a few of them are both secure and practical, of which only three work well for both encryption and digital signature: RSA, ElGamal, and Rabin. Public key Encryption: Here we publish a "public" key that anyone could use to encrypt, but not decrypt messages. 1. A public key cryptosystem consists of (G, E, D). 2. Alice generates a key pair: G(r)(PKa, SKa) 3. Alice publishes her public key PKa 4. Bob encrypts a message with her public key: E(PKa,m) c 5. Alice decrypts a ciphertext with her secret key: D(SKa,c) m Public key Signatures: Only you can sign messages, but anyone in the world can verify them. Public-key analog of a MAC. 1. A public key signature scheme consists of (G, Sign, Ver).

2. 3. 4. 5.

Alice generates a key pair: G(r)(VKa, SKa) Alice publishes her verifying key VKa Alice signs a message: Sign(SKa, m) Bob verifies a signature with her verifying key: Ver(VKa,m)

There are many algorithms with these public key encryption and signatures.Some of the chief ones are discussed here. RSA algorithm: RSA gets its security from the difficulty of factoring large numbers.The public and private keys are functions of a pair of large (100 to 200 digits or even larger) prime numbers. Recovering the plaintext from the public key and the ciphertext is conjectured to be equivalent to factoring the product of the two primes.

ElGamal: The ElGamal scheme can be used for both digital signatures and encryption; it gets its security from the difficulty of calculating discrete logarithms in a finite field.Algorithms are discussed in short here below.

Elgamal Signatures:

Elgamal encryption:

Using Chaos with cryptographic algorithms: Based on the researh paper "Public key encryption with Chaos", by Kokarev and Stervej,public key algorithms are combined with chaotic maps and the algorithm is as secure as RSA algorithm. Chebechev maps: Chebyshev polynomial maps Tp :R ->R of degree p is defined using the following recurrent relation: with T0=1 and T1=x. The interval [1,1] is invariant under the action of the map Tp :Tp([1,1])=[1,1]. Therefore, the Chebyshev polynomial restricted to the interval [1,1] is a well-know chaotic map for all p>1.The above equation can be written as

Without loss of generality in what follows we consider the following form of a torus automorphism:

The determinant of the matrix is 1 and its trace is 2k (torus automorphisms are parameterized only with one parameter, the trace of the corresponding matrix). Since we will implement our algorithm using integers, one can rewrite as follows:

where X,Y,N are integers. To encrypt a message m, Bob should do thefollowing: (a) Obtain Alices authentic public key (N,d); (b) represent the message m as an integer in the interval [0,N1]; (c) compute

(d) send c=Xe to Alice. Decryption. To recover the message m from c, Alice should do the following: (a) Use the private key d to compute

(b) recover the message as m=Xd. So,we have changed the steps 1(c) and 2(a) from the original algorithm.In order words, we have replaced powers with matrix powers, choosing the matrix to be a matrix which defines a two-torus automorphism, an example of strongly chaotic system, for which the link with the number theory has already been established.

Potrebbero piacerti anche