УДК 004.056.55
Алхуссайн А.Х. , Стефанюк В.Л.
Department of Information Technology, Peoples' Friendship University Of Russia, Moscow, Russia
ENCRYPTING DATA USING PSEUDORANDOM NUMBER GENERATORS AND CRYPTOGRAPHY
INTRODUCTION
The growing dependence on computers to process information and transmit it across virtually connected systems has increased the need for security. Cryptography follows a set of mathematical techniques to provide information security, confidentiality, data integrity, authentication and nonrepudiation [5] . Encryption and decryption are the key concepts of cryptography [12] . While sending a data from sender to receiver, the privacy of the data is protected by encrypting it i.e. converting the data in some unreadable form. On the receiver side, the data can be decrypted to its original form [4] . There are two types of cryptographic schemes: symmetric cryptography and
asymmetric cryptography [2] . The symmetric scheme uses the same key for encryption and decryption. Two keys is used in asymmetrical cryptography, one for encryption, known as the public key, and the other for decryption, known as the private key.
In this paper, we propose an algorithm for encryption. First, we merge three pseudorandom number generators Linear Congruential, Lagged Fibonacci and Blum Blum Shum generator. Second, we use the generated sequence of numbers to encrypt the data.
The rest of the paper is organized as follows: In Section 1, we introduce the proposed
Pseudorandom Number Generators methods; Section 2 discusses about the proposed encryption algorithm; Section3 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:
Lagged Fibonacci generator
The Fibonacci sequence may be described by the recurrence relation:
Xn+i= (Xn+Xn-i) mod m where m modulus, Xo initial value
Linear Congruential generator
The generator is defined by the recurrence relation:
Xn+1=(a Xn +c)mod m Where X is the sequence of pseudorandom values, and m -"modulus" a- the
"multiplier"; c- the "increment", X0 - the "seed "or "initial value" .
Blum Blum Shub (B.B.S.) generator
The generator is defined by the recurrence relation:
Xn+1=Xn2 mod m where m - modulus, X0 - initial value.
1.3. Design Algorithm to merge among these PRNG:
1. The algorithm requires just the values of Linear Congruential generator as input to generate its sequence of numbers , but it will internally also used these values to create both Lagged Fibonacci generator and Blum Blum Shub generator sequences of numbers.(because all of these
Fig.1 Schema of the shared parameters among the generators
2. Convert the values of both Blum Blum Shub and linear sequences into binary 8 bit values.
3. Between the values of previous sequences of bits, perform bit by bit (xor, or,and) sequentially to produced new sequence of numbers (intermediate sequence).
4. Add the values of Intermediate sequence to Fibonacci sequence of numbers, to produce the Final sequence of numbers.
Example of applying the algorithm with the parameters (initial value=8, modulus=100, multiplier =4, increment=10, size=100)is shown in fig. 2 .
Fig. 2 Example of applying the algorithm of merging the three random number generators.
2. THE PROPOSED ENCRYPTION ALGORITHM:
2.1. The Key Generation
In key generation procedure five parameters are used which provide strength to the algorithm rendering it difficult for cryptanalysis by intruder. The five parameters of the key are:
Key={ initial value , modulus, multiplier , increment, size}
initial value , modulus, multiplier , increment are the parameters of Linear Congruential method whose values are known only to the intended sender and recipient.
size is the buffer in which random numbers are generated.
2.2. Encryption Process:
The encryption process comprises of the following steps:
Generate the Final sequence of numbers using both the key and the merging algorithm that described previously.
Convert each character in plaintext into its ASCII cod.
Convert both generated Final sequence of numbers and ASCII cod into binary (8bit) values.
XOR each binary value of generated Final sequence of numbers with corresponding binary value of ASCII cod sequentially.
Take mode 8 of the generated Final sequence of numbers to get decimal values ranging from 0 to7, which would form cross point: CrossPointn=mod(Fn,8) .
Divide each XOR result number into two parts according to CrossPointn, and convert each part into hexadecimal value.
Ciphertext would be the sequence of hexadecimal numbers that generated in previous step.
2.3. Decryption Process:
The steps for decryption are just reversal of the encryption.
First generate the Final sequence using Linear Congruential, Fibonacci and Blum Blum Shub generators; by using both the key and the merging algorithm.
Use the Final sequence to generate the cross point, CrossPointn=mod(Fn,8) .
Convert each value in ciphertext from hexadecimal to binary according to cross point.
XOR between the previous value with the binary representation of Final sequence of numbers;
Convert the previous value into decimal.
Convert the previous value into Char.(its character representation in ASCII cod)
Plaintext would be the sequence of characters.
3. EXPERIMENTAL RESULTS:
Plaintext: "hello"
If the parameters of key (initial value=8, modulus=100, multiplier =4, increment=10, size=100) as shown in fig. 3.a; the generated sequence of numbers (result of merging algorithm) is shown in fig.
3.b;
The cipher Text would be="6c0 54 0d 03c 60 "as shown in fig. 4.a;
In decryption process we will obtain the plaintext="hello" as shown in fig. 4.b;
a. Private key
b. Generated sequence of number based on merging algorithm
Fig.3 key and generated sequence of numbers based
a. Encryption process Fig.4 Encryption and Decryption process 4. CONCLUSIONS
on merge algorithm
b. Decryption Process
In present study a cryptographic algorithm has been designed using the concept of merging pseudorandom number generators. So, without the knowledge of the pseudorandom sequence and the merging algorithm; no one will be able to extract the message. The work has been implemented using C#; and MATLAB 7.8.0 is used as simulation platform. It has been tested in all character of English, Russian and Arabic and work successfully.
This algorithm enhances the quality, efficiency and effectiveness of the algorithm being used for the cryptography.
REFERENCES
[1] A.Tragha , F.Omary, A.Mouloudi ," ICIGA: Improved Cryptography Inspired by Genetic
Algorithms" , International Conference on Hybrid Information Technology ,IEEE, 335-341,2006.
[2] Behrouz A. Forouzan , " Cryptography & Network security ", Tata McGraw - Hill , 2007.
[3] Clark A., Dawson Ed. & Nieuwland H., "Cryptanalysis of Polyalphabetic Substitution Ciphers Using a Parallel Genetic Algorithm", In Proceedings of IEEE International Symposium on Information and its Applications, pages 17-20, 1996.
[4] David E Goldberg, "Genetic algorithms in search, optimization and machine learning", Addision - Wesley, 1989.
[5] Douglas, R.Stinson, "Cryptography - Theory and Practice ", CRC Press, 1995.
[6] Harsha Bhasin, Ramesh Kumr, Neha Kathuria, "Cryptography using Cellular Automata". Iternational Journal of Computer Science and Information Technology, Vol. 4(2), 355-357, 2013
[7] Holland J.. "Adaptation in Natural and Artificial Systems" University of Michigan Press, Ann Arbor, Michigan, 1975.
[8] P. Stepaj, G. Marin, "Comparison of a crossover operator in binary coded genetic algorithms," Wseas Trans. on Computers, 9 (9), 1064- 1073, 2010.
[9] Subhranil Som , Niladri Shekhar Chatergee , J.K Mandal, " Key Based Bit Level Cryptographic Technique (KBGCT)", 7th International Conference on Information Assurance and Security , 2011
[10] M. Mitchell, "An Introduction to Genetic Algorithms," The MIT Press, Cambridge, USA, 1999.
[11] S., N. Sivanandan, S. N. Deepa, "Introduction to Genetic Algorithm",Springer Verlag Berlin Heidelberg, 2008.
[12] William Stallings, "Cryptography and Network Security", 3rd Edition