Научная статья на тему 'Design and implementation of encryption algorithm based on Genetic algorithm and pseudorandom number generators'

Design and implementation of encryption algorithm based on Genetic algorithm and pseudorandom number generators Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
136
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Design and implementation of encryption algorithm based on Genetic algorithm and pseudorandom number generators»

УДК 004.056.55

Алхуссайн А.Х. , Стефанюк В.Л.

2Department of Information Technology, Peoples' Friendship University of Russia, Moscow, Russia

DESIGN AND IMPLEMENTATION OF ENCRYPTION ALGORITHM BASED ON GENETIC ALGORITHM AND PSEUDORANDOM NUMBER GENERATORS

INTRODUCTION

Cryptography is the science of making communication unintelligible to everyone except the intended receiver(s). It is the study of methods of sending messages in disguised form so that only intended recipients can remove the disguise and read the message. Cryptography offers efficient solution to protect sensitive information in a large number of applications including personal data security, internet security, diplomatic and military communications security, etc. through the processes of encryption/decryption. A cryptosystem is a set of algorithm, indexed by some keys(s), for encoding messages into cipher text and decoding them back into plaintext [3] and [4]. The model for a secret key system, first proposed by Shannon [2] is shown in Fig. 1

Fig. 1: Shannons model of secret communication

Many genetic algorithm based encryption have been proposed. A. Tragha et al. [ 5, 6], describe a

new symmetrical block ciphering system named ICIGA (Improved Cryptography Inspired by Genetic Algorithms) which generates a session key in a random process. The block sizes and the key length are variable and can be fixed by the user at the beginning of the ciphering. ICIGA is an enhancement of the system (GIC) "Genetic algorithms Inspired Cryptography" [7].

In this paper, we propose an approach for encryption. First, we generate pseudorandom sequences using Linear Congruential and Lagged Fibonacci generator. Second, by the help of these sequences would create lookup table for characters; third used lookup table with crossover and mutation operators to encrypt the data. The rest of the paper is organized as follows. In Section 1, we introduce the proposed Pseudorandom Number Generators methods; Section2 discusses about the proposed encryption method; Section 3 experimental results; Section 4 concludes the paper.

1. PSEUDORANDOM NUMBER GENERATORS

1.1. A pseudorandom number generator (PRNG), also known as a deterministic random bit

generator (DRBG), is an algorithm for generating a sequence of numbers that approximates the properties of random numbers.

1.2. Classes of PRNG algorithm that used:

Linear Congruential generator

The generator is defined by the recurrence relation:

Xn+i= (a Xn +c)mod m Where X is the sequence of pseudorandom values, and m -"modulus" a- the

"multiplier"; c- the "increment", Xo - the "seed "or "initial value" .

Lagged Fibonacci generator

The Fibonacci sequence may be described by the recurrence relation:

Xn+1= (Xn+Xn-1) mod m where m modulus, X0 initial value

Fig.2 the roles of PRNG that used in the proposed encryption algorithm

2. THE PROPOSED ENCRYPTION ALGORITHM:

2.1. The Secret Key

The secret key is consists of five parameters; which provide strength to the algorithm rendering it difficult for cryptanalysis by intruder. The five parameters of the secret key are:

Key= {initial value, increment, multiplier, modulus, size}

Initial value, increment, multiplier, modulus are the parameters of Linear Congruential method whose values are known only to the intended sender and recipient. And in the same time (initial value, modulus) would use to produce the Fibonacci sequence of numbers.

size represents the size of sequence in which random numbers are generated.

2.2. Encryption Process:

Before starting the encryption, a set of characters with corresponding values should be generated based on the addition of the value of ASCII cod to Generated Sequence of numbers (which is created based on the addition between both the linear and Fibonacci pseudorandom numbers) let's call it LookUpASCII table.

Attention should be taken that each character in LookUpASCII table must be unique (more conditions and constrains implemented inside cryptosystem).the benefit here is that the ASCII values would not be static, it would vary depending on the secret key (this is increase one more level of security) ;

Encryption Steps:

Get the value of first character in plaintext from LookUpASCII table.

Convert the previous value into binary (8bits)

Apply XOR operation between the obtained value in step2, and the binary representation (8bits) of Generated Sequence of numbers.

Take mode 8 of the Linear Congruential and Fibonacci sequence generated to get decimal values ranging from 0 to7

Ln =mod (Ln, 8) , Fn =mod (Fn, 8)

Apply mutation based on the mod 8 of Linear Congruential Ln =mod (Ln, 8), in the values obtained in step 3.

Crossover the two consecutive bytes of the data stream obtained in step6 according to the mod 8 of Fibonacci Sequence Fn =mod (Fn, 8)

The summarization of encryption steps is shown in fig.3.

start

Produce (tie Generated S&qiierae Of Number by Add the value of Linear and Fibonacci pseudorandom number generators

1 r

Generate LookUpASCI I table by Add tbe value of ASCII Cod to (tie Generated Sequence of Numbers

1

Map the character from plain text to LoofcUpASCH taWeFangget И& value ;XOR this value to Generated Sequence Of Number

Mutate the previous value according to mods of Нгьеаг Congruential generator

1 r

Crossover the two consecutwe bvtes of the previous data stream ac&nrd-ingto the mod -3 of Fibonacci generator

t

end

Fig.3 the summarization of encryption process

2.3. Decryption Process:

Before starting the decryption LookUpASCII table should be generated in the same way mentioned in encryption, after that the steps of decryption are just reversal of the encryption.

3. EXPERIMENTAL RESULTS:

Plaintext: "Encryption"

If the parameters of private key {initial value=5, modulus=100, multiplier = 7, increment=3, size=500} (as shown in figure 4.a) is chosen; the Linear Congruential and Fibonacci sequence of numbers and Generated Sequence of numbers (result of adding Linear and Fibonacci) is shown in figure 4.b;

a. Private key

b. Linear Congruential , Fibonacci and Generated sequence of numbers

Fig.4 key and generated pseudorandom number generators& Generated Sequence

Fig.5 The Produced LookUpASCII table based on private key

The produced LookUpASCII table is shown in Fig5.

The cipher Text would be=" 91 ac d5 b7 b7 15 3 15 c3 b7 "as shown in figure 6.a;

In decryption process we will obtain the plaintext="Encryption" as shown in figure 6.b;

a. Encryption process Fig.6 Encryption and Decryption process 4. CONCLUSIONS

b. Decryption Process

This paper presents example of how to design an encryption algorithm used the concept of genetic algorithms in cryptography along with the randomness properties of Linear Congruential and Fibonacci generators. This total way of transferring secret information is highly safe and reliable. So, without the knowledge of the pseudorandom sequence no one will be able to extract the message

The work has been implemented and analyzed. The implementation has been done in C# .After the examinations of the proposed method, it is clear that it is satisfied the goals that are required in any encryption method.

REFERENCES

[1] David E Goldberg, „Genetic algorithms in search, optimization and machine learning",Addision-Wesley Pub.Co.1989.

[2] C.E.Shannon, "Communication Theory of Security System",Bell,System Technical Journal, 28,

1949

[3] A.J.Bagnall, "The Applications of Genetic Algorithms in Cryptanalysis", School of Information Systems, University Of East Anglia, 1996.

[4] N.Koblitz , „A Course in Number Theory and Cryptography", Springer-Verlag, New York, Inc., 1994 .

[5] Menzes A. J., Paul, C., Van Dorschot, V., Vanstone, S. A., "Handbook of Applied Cryptography", CRS Press 5th Printing; 2001.

[6] National Bureau Standards, "Data Encryption Standard (DES)," FIPS Publication 46; 1977

[7] Tragha A., Omary F., Mouloudi A.,"ICIGA: Improved Cryptography Inspired by Genetic

Algorithms", Proceedings of the International Conference on Hybrid Information Technology (ICHIT'06), pp. 335-341, 2006.

[8] X. F. Liao, S. Y.Lai and Q. Zhou. Signal Processing. 90 (2010) 2714-2722.

[9] H. Cheng and X. Li. IEEE Transactions on Signal Processive. 48 (8) (2000) 2439-2451.

[10] O. Lafe. Engineering Applications of Artificial Intelligence. 10 (6) (1998) 581-591.

i Надоели баннеры? Вы всегда можете отключить рекламу.