International Journal of Computer Applications (0975 – 8887)
Volume 111 – No 2, February 2015
1
Text Encryption Algorithms based on Pseudo Random
Number Generator
Mina Mishra
Ph. D. Scholar
Electronics & Telecommunication, Nagpur
University, Nagpur, Maharashtra, India
V.H. Mankar
Lecturer
Department of Electronics Engineering,
Government Polytechnic, Nagpur,
Maharashtra, India
ABSTRACT
This paper presents algorithms for encryption and decryption
developed using pseudo random number generator (PRNG)
and non-Linear functions. PRNG used in the work are matlab
random number generator (RNG) and Linear congruential
generator (LCG). The developed algorithms are named
according to PRNG used in it. State of PRNG is considered as
secret key of the cipher. The encryption schemes have been
cryptanalyzed for four different methods to test its strength
like key space analysis, plaintext and key sensitive test.
Known plaintext attack is also performed by taking into
consideration a small string of plaintext and the complete
cipher text for small text. The analysis is performed on
different keys selected randomly from key space for various
texts and files.
Key sensitivity up to 50 % and plaintext sensitivity ranging
from 3% to 50 % have been obtained in the developed
ciphers. It is concluded that proposed encryption algorithms
have strength against linear, differential and statistical attacks.
Keywords
Cryptography, Pseudo random number generator (PRNG),
Random number generator, Linear Congruential Generator.
1. INTRODUCTION
Cryptography has remained important over the centuries, used
mainly for military and diplomatic communications. With the
advent of the internet and electronic commerce, cryptography
has become vital for the functioning of the global economy,
and is something that is used by millions of people on a daily
basis. Various schemes of encryption using different
techniques have been proposed in recent years. The Pseudo
random number generators have been used for design of
ciphers and found to be fundamental tool in many
cryptographic applications like key generation, encryption,
masking protocols and for internet gambling [1]- [4].
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. The sequence is not truly
random in that it is completely determined by a relatively
small set of initial values, called the PRNG's state, which
includes a truly random seed. Good statistical properties are a
central requirement for the output of a PRNG, and common
classes of suitable algorithms include linear congruential
generator, lagged fibonacci generator, and linear feedback
shift register [5], [6].
This paper aims to develop a number of algorithms for
-linear
functions. The encryption techniques are crypt analyzed for
linear and differential attacks to test their validity. Various
methods of cryptanalysis used in this work are key space,
plaintext and key sensitive test. Known plaintext attack is also
performed by taking into consideration a small string of
plaintext and the complete cipher text for small text. Simple
pseudorandom number generator like matlab random number
generator (RNG) and linear congruential generator (LCG)
have been used here. The developed algorithms are named
according to PRNG used in it.
The analysis is performed on different keys selected randomly
from key space for various texts and files. Key sensitivity up
to 50 % and plaintext sensitivity ranging from 3% to 50 %
have been obtained in the developed ciphers. It is concluded
that proposed encryption algorithms have strength against
linear, differential and statistical attacks.
The rest of the paper is organized as follow. Section II,
developed algorithm. Next section presents and discusses
about the algorithm. In section IV, analysis and results have
been discussed. Section V gives conclusion of the work.
2. PSEUDORANDOM NUMBER
GENERATOR
PRBG plays an important role in cryptography. They have
been frequently used in the designing of the ciphering
methods. Two of the simple PRBG used in designing of
encryption algorithm have been discussed in brief here:
A. Random Number Generator (RNG)
Matlab Rand produces uniformly distributed pseudorandom
numbers, scalar value drawn from a uniform distribution on
the unit interval.
number corresponding to state k, which is the seed (also
known as initial condition) of generator, acting as key for
cryptosystem.
B. Linear Congruential Generator (LCG)
A Linear Congruential Generator (LCG) represents one of the
oldest and best-known pseudorandom number generator
algorithms. The generator is defined by the recurrence
relation:
x(k+1) = (ax(k)+b) mod c
Where, x(k) is the sequence of pseudorandom values, and c,0
< c - -
< c - -
period of a general LCG is at most c, and for some choices of
a much less than that. Provided that b is nonzero, the LCG
will have a full period for all seed values if and only if:
b and c are relatively prime,
( a -1) is divisible by all prime factors of c,