Image Cipher Technique for Covert and Low Bandwidth Channels

advertisement
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
Image Cipher Technique for Covert and Low
Bandwidth Channels
Sangeeta Solanki1, A.K.Vats1, Shikha Maan1
(Corresponding Author: Sangeeta Solanki)
School of computer engg & IT. Shobhit University, Meerut, U.P. 250110, India1
(Email: solankisangeeta10@gmail.com)
Abstract: Security of images during the transmission over
covert low bandwidth channel has importance in today's image
communications for confidential, integrated and secure real time
communication. The major security problems during
communication over covert and low bandwidth channel is to
reduce no of bits, efficient and secure cryptographic techniques
such that output gain and performance may lead towards more
secure and efficient mechanism. Thus, in this paper, we have
purposed a secure, reliable and efficient mechanism using
arithmetic coding techniques followed by IMAES (Improved
Modified Advanced Encryption standard) techniques. The output
of encrypted images reveals that proposed technique presents
higher performance, quit reliable and robust.
Keywords: AC, AES, MAES, IMAES
1.
INTRODUCTION
1.1 Cryptography
Cryptography is the practice and study of hiding
information. Modern cryptography intersects the disciplines of
mathematics, computer science, and electrical engineering.
Applications of cryptography include ATM cards, computer
passwords, and electronic commerce. It is the art or science of
keeping secrets secret. It is about secure communication
through insecure channels. It is a branch of cryptology dealing
with the design of algorithms for encryption and decryption,
intended to ensure the secrecy and authenticity of messages.
1.2 Cryptographic Confidentiality Technique
Cryptographic technique is the technique which is used for
converting the plain text into cipher text and vice versa.
Key
Plain Text
Encryption
Algorithm
Key
Cipher Text
Decryption
Algorithm
Plain Text
Fig 1: Block Diagram of Cryptographic System
Cryptographic technique falls into two categories:
1.2.1 Symmetric Encryption Technique
Symmetric or Conventional Encryption Technique uses
same key for encryption as well as decryption. A plain text is
encrypted by Ks (secret key) gives cipher text & then cipher
text is decrypted again using the same key to produce output. A
secret key can be a number, a word, or just a string of random
letters. Secret key is applied to the information to change the
content in a particular way. This might be as simple as shifting
each letter by a number of places in the alphabet. Symmetric
algorithms require that both the sender and the receiver know
the secret key, so they can encrypt and decrypt all information.
In this paper we use symmetric encryption technique for
encrypting the plain text into cipher text and cipher text into
plain text. There are various symmetric encryption algorithms
as
AES/
Rijndael,
Blowfish,
DES
,IDEA,RC2,RC4,RC6,Serpent, Triple DES, Two fish etc.
1.2.2 Asymmetric Encryption Technique
Asymmetric or Public Encryption Technique uses one key
for encryption & another key for encryption decryption. A
plain text is encrypted by Ka (public key) gives cipher text &
then cipher text is decrypted using Kb (public key) to produce
output. Asymmetric encryption uses different keys for
encryption and decryption. The decryption key is very hard to
derive from the encryption key. The encryption key is public
so that anyone can encrypt a message. However, the decryption
key is private, so that only the receiver is able to decrypt the
message. It is common to set up "key-pairs" within a network
so that each user has a public and private key. The public key
is made available to everyone so that they can send messages,
but the private key is only made available to the person it
belongs to. The sender and the recipient must have the same
software. Public key can be used by anyone with the same
software to encrypt a message. The sender does not need the
recipient's password to use his or her public key to encrypt
data. The recipient's other key is a private key that only he or
she can use when decrypting the message. There are various
symmetric encryption algorithms as RSA, ECC, Elgamal etc.
1 .3 Image
“An image may be defined as a two dimensional function
f(x, y), where x and y are spatial (plane co-ordinates. The
amplitude of ‘f’ at any pair of co-ordinate (x, y) is called the
intensity ‘or’ gray level of the image at that point”. It can also
be defined as visual representation of something: as a likeness
of an object produced on a photographic material or a picture
produced on an electronic display (as a television or computer
screen). In a mathematical context an image is a set of values
646
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
given by a mathematical function (as a homomorphism) that
corresponds to a particular subset of the domain. There are
various categorization of image.
1.4 Covert Channel
Covert channels [5] are not the most well known source of
risks, and are in fact totally ignored by the public, but they
constitute a real threat. Several definitions of covert channels
exist a covert channel is a mechanism that can be used to
transfer information from one user of a system to another using
means not intended for this purpose by the system developers.
[NCSC TCSEC] defines a covert channel as any
communication channel that can be exploited by a process to
transfer information in a manner that violates the system's
security policy. Covert channels pose a problem for highly
secure environments such as government agencies and military
ones. In multilevel security environments where users with
high security levels must not be able to pass information to
users with lower security levels, covert channels can be used to
circumvent such policies. In a more classical environment,
covert channels can be used by an attacker to communicate
stealthy with a compromised machine, thus complicating the
detection of the attack. This channel cannot provide security
over the data [13].This channel does not have more capacity to
travel the data in huge amount of bits, it can transmit the data
in very less number of bits. This is the reason why the intruder
can analyze the traffic or transmission of data in the form of
bits.
1.5 Paper Organization
In chapter 1, we have discussed regarding introduction to
Cryptographic Confidentiality Technique, covert Channels. In
chapter 2 we undergoes through literature survey called related
work, subsequently in chapter 3 we have given the solution
named as proposed work. Then the mechanism of the proposed
work is given in chapter 4. In chapter 5 we finally conclude
this paper and chapter 6 gives the future scope.
1.6 Problem Identification
We have identified a problem of security for image
information transmitted over covert channel and low
bandwidth channels, so a encryption technique is required
which provide security against different cryptographic attacks
like brute force attack, statistical attack, meet in middle attack
etc. Also there is a need of compression when there is a
channel having low bandwidth so we purpose a security
architecture and mechanism for providing effective and secure
transmission.
2.
RELATED WORK
2.1 Arithmetic Coding
It is shown that Arithmetic Coding [15] is the most powerful
technique for statically loss less encoding. A message is coded
as a real number in an interval from 1 to 0 for data. Arithmetic
Coding typically has a better compression ratio, as it produces
a single symbol rather than several separate code words.
Although AC offers high efficiency in coding, it provides less
or no security as conventionally implemented.
While
Arithmetic Coding is extremely efficient, the issue of
providing both security and compression simultaneously is
growing more important and is given the increasing ubiquity of
compressed image files in host applications of Defense,
Internet and digital cameras and the common desire to provide
security in association with these files. When both security and
compression are sought, one approach is to simply use
Arithmetic Coder (AC) in combining with Advanced
Encryption Standard (AES).
Fig 2: Block diagram of image transmission and reception scheme
As illustrated in figure 2 first the buffered image is
compressed by using arithmetic coder [15] followed by AES
[15] encryption then the same process is repeated for
decrypting the buffered image as first the image is decrypted
using AES decrypter then with the help of arithmetic decoder
the image is decompressed so that the original size of the
image is regained.
Unlike the variable-length codes, Arithmetic Coding
generates single code word. I.e. Arithmetic Coder does not
generate code words one-to-one correspondence between
source symbols and code words. Instead, an entire sequence of
source symbols is assigned a single Arithmetic Code word. The
code word lies between interval of real numbers 0 and 1[26].
As the number of symbols in the input increases, the interval
used to represent it becomes smaller and the number of bits
required to represent the interval becomes larger. Each symbol
of the message reduces the size of the interval in accordance
with the probability of occurrence.
2.2 AES Algorithm
Rijndael is a block cipher developed by Joan Daemen and
Vincent Rijmen. The algorithm is flexible in supporting any
combination of data and key size of 128, 192, and 256 bits
[15]. However, AES merely allows a 128 bit data length that
can be divided into four basic operation blocks. These blocks
operate on array of bytes and organized as a 4×4 matrix that is
called the state. These blocks operate on array of bytes and
organized as a 4×4 matrix that is called the state [15]. For full
encryption, the data is passed through Nr rounds (Nr = 10, 12,
and 14) .These rounds are governed by the following
transformations:
1) Sub Byte transformation: Is a non linear byte Substitution,
using a substation table (s-box), which is constructed by
multiplicative inverse and Affine Transformation.
647
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
2) Shift rows transformation: Is a simple byte transposition,
the bytes in the last three rows of the state are cyclically
shifted; the offset of the left shift varies from one to three
bytes.
3) Mix columns transformation: Is equivalent to a matrix
multiplication of columns of the states. Each column vector is
multiplied by a fixed matrix. It should be noted that the bytes
are treated as polynomials rather than numbers.
4) Add round key transformation: Is a simple X-OR between
the working state and the round key. This transformation is its
own inverse.
The problem with AES was that it is not able to provide
higher level security and is not applicable for real time
application as well as it is time consuming whenever an image
is encrypted by it.
2.3 Key expansion
With AES encryption, the secret key is known to both the
sender and the receiver. The AES algorithm remains secure;
the key cannot be determined by any known means, even if an
eavesdropper knows the plaintext and the cipher text. The AES
algorithm is designed to use one of three key sizes (Nk). AES128, AES-196 and AES-256 use 128 bit (16 bytes, 4 words),
196 bit (24 bytes, 6 words) and 256 bit (32 bytes, 8 words) key
sizes respectively. These keys, unlike DES, have no known
weaknesses. All key values are equally secured thus no value
will render one encryption more vulnerable than another. The
keys are then expanded via a key expansion routine for use in
the AES [1] cipher algorithm. This key expansion routine can
be performed all at once or ‘on the fly’ calculating words as
they are needed. It is extremely fast compared to other block
ciphers. (Though there is tradeoff between sizes and speed).
The round transformation is parallel by design. This is
important in dedicated hardware as it allows even faster
execution. AES was designed to be amenable to pipelining.
The cipher does not use arithmetic operations so has no bias
towards big or little endian Architectures. AES is fully selfsupporting. But it does not use S-Boxes of other ciphers, bits
from Random tables .It is not based on obscure or not well
understood processes. The tight cipher and simple design does
not leave enough room to hide a trap door.
2.4. Improved Modified AES (MAES)
MAES [1] overcome AES which lacked at security and were
also not applicable for real time application so a modification
was done in it by adjusting the shift row phase. It reflected a
high level security and better image encryption. The
modification is done by adjusting the Shift Row phase. The
modification is done as first it is examined whether the value in
the first row and first Column, (state [0][0]) is even or odd. If it
is odd, The Shift Rows step operates on the rows of the state; it
cyclically shifts the bytes in each row by a certain offset. For
MAES, the first and third rows are unchanged and each byte of
the second row is shifted one to the left. Similarly, the fourth
row is shifted by three to the left respectively. If it is even, The
Shift Rows step operates on the rows of the state; it cyclically
shifts the bytes in each row by a certain offset. The first and
fourth rows are unchanged and each byte of the second row is
shifted three to the right. Similarly, the third row is shifted by
tow respectively on to the right.
3.
PROPOSED WORK
3.1 Illustration of IMAES with AC
In [15], a combination of AES with Arithmetic Coder was
used and the given system provides simultaneous compression
and encryption with negligible coding efficiency by
accelerated hardware implementations but the system lacked in
security when applied to real time applications so we purpose a
architecture that is more secure and results in better
performances for real time applications.
Image buffer
Arithmetic Coder
IMAES Encryption
Image buffer
Arithmetic Decoder
IMAES Decryption
Fig 4: Block diagram of image transmission and reception scheme
In the purposed Fig 4 the buffered image is compressed by
using arithmetic coder [15] followed by IMAES encryption
then the same process is repeated for decrypting the buffered
image as first the image is decrypted using IMAES decrypter
then with the help of arithmetic decoder the image is
decompressed so that the original size of the image is regained.
3.2 IMAES ( Improved Modified Advanced Encryption
Standard)
MAES is a modified advanced encryption standard [15] that
gives better encryption results in terms of security against
statistical attacks. Here we have purposed the architecture of
IMAES which can use a keys of length 128,192 and 256 bits
by using RC4 [22] key generation algorithm. In this the
modification is done by adjusting the Shift Row phase. In the
Shift Row phase, if the value in the first row and first column
is even, the first and fourth rows are unchanged and each bytes
in the second and third rows of the state are cyclically shifted
right over different number, else the first and third rows are
unchanged and each byte of the second and fourth rows of the
state are cyclically shifted left over different number of bytes.
In this we have performed substitution on the input followed
by permutation and finally applying multiplicative inverse on
it. This modification allows for greater security and increased
performance.
3.2.1
Phases of IMAES
3.2.1.1 Key Expansion phase
The IMAES algorithm takes the Master Key K, and
performs a Key Expansion routine to
generate a key
schedule using RC4 key generation technique. The Key
Expansion generates a total of 13 sub-key arrays of 16 words
648
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
of 8 bits taking into account that the first sub-key is the initial
key. SP-Box is a non-linear and invertible product cipher table
which is used to perform a one-by-one substitution and
permutation of a byte value. Firstly substitution is performed
on the states and then permutation takes place on the bytes
independently.
a) Add Round Key Phase
The Add Round Key phase performs an operation on the
State with one of the sub-keys. The operation is a simple XOR
between each byte of the State and each byte of the sub-key.
b) Sub Byte phase
The Sub Byte transformation is a non-linear byte substitution
followed by permutation that operates independently on each
byte of the State using the SP Box table.
c)
Shift Row phase
In the Shift Row transformation [1], the bytes in the last
three rows of the State are cyclically shifted over 1, 2 and 3
bytes, respectively. The first row is not shifted
Instead of the original Shift row, we modify it as:
1.
Examine the value in the first row and first column
(state [0][0]) is even or odd?
2.
If it is odd, The Shift Rows step operates on the rows
of the state; it cyclically shifts then bytes in each row by a
certain offset. For IMAES, the first and third rows are
unchanged and each byte of the second row is shifted one to
the left. Similarly, the fourth row is shifted by three to the left
respectively.
3.
If it is even, The Shift Rows step operates on the rows
of the state; it cyclically shifts the bytes in each row by a
certain offset. The first and fourth rows are unchanged and
each byte of the second row is shifted three to the right.
Similarly, the third row is shifted by tow respectively on to the
right.
d) Mix Columns phase
The Mix Columns transformation operates on the State
column by column, treating each column as a four-term
polynomial. The columns are considered as polynomials over
GF (28)
and multi- plied by a fixed polynomial a(x) modulo x4+1
given by
a(x)
=
{03}x3 +
{01}x2
+
{01}x
+{02}
(1)
=
02
01
01
03
03
02
01
01
01
03
02
01
01
01
03
01
s’0,c
s’1,c
s’2,c
s’3,c
for 0≤c ≤4
(2)
As a result of this multiplication, the four bytes in a column
are replaced as follows:
S’0, C = ([02].S0,C) .([03].S1,C)
S2,C S3,C
S’1,= S0,C ([02] .S1,C) ([03] .S2,C)
S3,C
S’2,C = S0,C S1,C
([02].S2,C)
([03].S3,C)
S’3,C = ([03] .S0,C)
S1,C S2,C ([02].S3,C)
(3)
Where
is the XOR operation and. is a multiplication
modulo the irreducible polynomial
M(x) = x8+ x4+ x3+x+1. The below figure shows the
implementation of the function B= x time (A) which will be
used to make the multiplication of the number by 2 modulo
M(x). So, it will only have binary operations as :
[02]. S’X,C = Xtime(S’X,C)
[03]. S’X,C= X time(S’X,C) S’X,C
The matrix multiplication for this can be written as:
S’(x) =A(x)
S(x)
s’0,c
s’1,c
s’2,c
s’3,c
649
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
Plain Text
K0
K1
KNr-1
Add Round Key
Sub Bytes
Shift Rows
Mix Columns
Add Round Key
Sub Bytes
Shift Rows
Mix Columns
Add Round Key
Sub Bytes
Shift Rows
Add Round Key
Cipher Text
KNr
KNr-1
KNr-2
K0
S00
S10
S01
S’00
S’10
S’20
S’30
S’01
S’11
S’ij
S’31
S’02
S’03
S’12
S’13
S’22
S’23
S’32
S’33
Left rotate by 1
S’00
S’10
S’20
S’30
Left rotate by 3
S’11
S’02
S’21
S’12
S’31
S’22
S’01
S’32
S’33
S’03
S’13
S’23
S’00
S’10
S’20
S’30
S’01
S’11
S’1j
S’31
S32
S’02
S’12
S’2j
S’32
S3j
S33
S’03
S’13
S’3j
S’33
S10
S0j
K0j
S’00
S’10
S’0j
S’30
S11
S1j
S30
S31
K1j
S’01
S’11
S’1j
S’31
’
’
’
S30
S11
S20
Sij
S02
S03
S12
S13
S22
S23
S32
S33
S00
S10
S20
S30
S01
S11
S21
S31
S02
S12
S22
S03
S13
S23
S32
S33
S00
S10
S30
S01
S11
S0j
S1j
S02
S12
S2j
S03
S13
S00
S01
S-Box
SP-Box
S31
C(X)
S31
S02
S12
S2j
S32
K2j
S 02
S 12
S 2j
S’32
S03
S13
S3j
S33
K3j
S’03
S’13
S’3j
S’33
S00
S10
S20
S30
S’00
S’10
S’20
S’30
S01
S02
S11
S21
S31
S’31
S’01
S’11
S’21
S12
S22
S32
’
S 02
’
S 12
’
S 22
S’32
S03
S13
S23
S33
S’13
S’23
S’33
S’03
S00
S10
S30
S’00
S’10
S’20
S’30
S01
S11
S20
Sij
S’01
S’11
S’ij
S’31
S02
S12
S22
S32
S’02
S’12
S’22
S’32
S03
S13
S23
S33
S’03
S’13
S’23
S’33
S00
S10
S0j
S’00
S’10
S’20
S’30
S01
S11
S1j
S30
S31
S’01
S’11
S’ij
S’31
S02
S12
S2j
S32
S’02
S’12
S’22
S’32
S03
S13
S3j
S33
S’03
S’13
S’23
S’33
Add Round Key
Inv Shift Rows
Inv Shift Bytes
Add Round key
Inv Mix Column
Inv Shift Rows
Inv Sub Keys
Add Round Key
Inv Mix
Column
Inv Shift Rows
Inv Sub Bytes
Add Round Key
Plain Text
Right rotate by 1
Right rotate by 3
Inv SP-Box
S31
’
C (X)
S00
S10
S30
S31
S’00
S’10
S’0j
S’30
K1j
S’01
S’11
S’1j
S’31
K0j
S01
S11
S0j
S1j
S02
S12
S2j
S32
K2j
S’02
S’12
S’2j
S’32
S03
S13
S3j
S33
K3j
S’03
S’13
S’3j
S’33
Fig 5: IMAES Encryption and decryption when S(state)is odd
650
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
Plain Text
K0
K1
Add Round Key
Sub Bytes
Shift Rows
Mix Columns
Add Round Key
S00
S10
S01
S02
S03
S00
S01
S02
KNr-1
Sub Bytes
Shift Rows
Mix Columns
Add Round Key
Sub Bytes
Shift Rows
Add Round Key
Cipher Text
KNr
KNr-1
S’00
S’10
S’20
S’30
S’01
S’11
S’ij
S’31
S32
S’02
S’12
S’22
S’32
S23
S33
S’03
S’13
S’23
S’33
S10
S20
S30
S’00
S’10
S’20
S’30
S11
S21
S31
S’11
S’21
S’31
S’01
S12
S22
S32
S’22
S’32
S’02
S’12
’
’
’
S30
S11
S20
Sij
S12
S22
S13
S-Box
SP-Box
S31
Right rotate by 3
Right rotate by 2
S03
\S13
S23
S33
S 03
S 13
S 23
S’33
S00
S10
S30
S’00
S’10
S’20
S’30
S01
S11
S0j
S1j
S’01
S’11
S’1j
S’31
S02
S12
S2j
S32
S’02
S’12
S’2j
S’32
S03
S13
S3j
S33
S’03
S’13
S’3j
S’33
S10
S0j
K0j
S’00
S’10
S’0j
S’30
S11
S1j
S30
S31
K1j
S’01
S’11
S’1j
S’31
’
’
’
S00
S01
C(X)
S31
S02
S12
S2j
S32
K2j
S 02
S 12
S 2j
S’32
S03
S13
S3j
S33
K3j
S’03
S’13
S’3j
S’33
S00
S10
S20
S30
Left rotate by 3
S’00
S’10
S’20
S’30
S11
S21
S31
S’31
S’01
S’11
S’21
S02
Left rotate by 2
S12
S22
S32
S03
S13
S23
S33
S’22
S’03
S’32
S’13
S’02
S’23
S’12
S’33
S10
S20
S30
S’00
S’10
S’20
S’30
S01
S11
Sij
S31
’
S 01
’
S 11
’
S 1j
S’31
S02
S12
S22
S32
S’02
S’12
S’22
S’32
S03
S13
S23
S33
S’03
S’13
S’23
S’33
S00
S01
S10
S0j
S’00
S’10
S’20
S’30
S11
S1j
S30
S31
’
S 01
’
S 11
’
S 1j
S’31
S02
S12
S2j
S32
S’02
S’12
S’22
S’32
S13
S3j
S33
S’03
S’13
S’23
S’33
Add Round Key
Inv Shift Rows
Inv Shift Bytes
Add Round key
Inv Mix Column
S01
S00
KNr-2
K0
Inv Shift Rows
Inv Sub Keys
Add Round Key
Inv Mix
Column
Inv Shift Rows
Inv Sub Bytes
Add Round Key
S03
Inv SP-Box
X
C’(X)
S00
Plain text
S01
S02
S03
S10
S11
S12
S13
S0j
S1j
S2j
S3j
S30
S31
S32
S33
K0j
K1j
K2j
K3j
S’00
S’01
S’02
S’03
S’10
S’11
S’12
S’13
S’0j
S’1j
S’2j
S’3j
S’30
S’31
S’32
S’33
Fig 6: IMAES Encryption and Decryption when S(state)is even
651
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
3.3 Key Generation:
In order to gain high security we use RC4 [22] key
generation algorithm to generate a key of 256 bit length with
MAES. RC4 is a symmetric cipher and encrypts/ decrypts text
byte-by-byte. The algorithm uses a mechanism to generate 8
bits pseudorandom numbers, which are used for encryption/
decryption. The algorithm is very simple. Its implementation is
also very easy and consists of several simple machine
operations, which makes the processing very fast. According to
the journals, RC4 is 5 times faster than DES and 15 times
faster than Triple-DES. On the other hand, the pseudorandom
number generation is very close to one time pad, which makes
the cipher very secure. RC4 generates a pseudorandom stream
of bits (a key stream). As with any stream cipher, these can be
used for encryption by combining it with the plaintext using
bit-wise exclusive-or; decryption is performed the same way
(since exclusive-or is a symmetric operation). (This is similar
to the Vernam cipher except that generated pseudorandom bits,
rather than a prepared stream, are used.) To generate the key
stream, the cipher makes use of a secret internal state which
consists of two parts:
1.
A permutation of all 256 possible bytes (denoted "S"
below).
2.
Two 8-bit index-pointers (denoted "i" and "j").
The permutation is initialized with a variable length key,
typically between 40 and 256 bits, using the key-scheduling
algorithm (KSA). Once this has been completed, the stream of
bits is generated using the pseudo-random generation
algorithm (PRGA).
3.2.1 The key-scheduling algorithm (KSA)
The key-scheduling algorithm is used to initialize the
permutation in the array "S". "Key length" is defined as the
number of bytes in the key and can be in the range
≤ key
1
length ≤ 256, typically between 5 and 16, corresponding to a
key length of 40 – 128 bits. First, the array "S" is initialized to
the identity permutation. S is then processed for 256 iterations
in a similar way to the main PRGA, but also mixes in bytes of
the key at the same time.
for i from 0 to 255
S[i] := i
end for
j := 0
for i from 0 to 255
j := (j + S[i] + key[i mod key length]) mod 256
swap values of S[i] and S[j]
end for
The pseudo-random generation algorithm (PRGA)
FIG 7: STAGES OF RC4
The lookup stage of RC4. The output byte is selected by
looking up the values of S(i) and S(j), adding them together
modulo 256, and then looking up the sum in S; S(S(i) + S(j)) is
used as a byte of the key stream, K. For as much iteration as
are needed, the PRGA modifies the state and outputs a byte of
the key stream. In each iteration, the PRGA increments i, adds
the value of S pointed to by i to j, exchanges the values of S[i]
and S[j], and then outputs the element of S at the location S[i]
+ S[j] (modulo 256). Each element of S is swapped with
another element at least once every 256 iterations.
i := 0
j := 0
while Generating Output:
i := (i + 1) mod 256
j := (j + S[i]) mod 256
swap values of S[i] and S[j]
K := S[(S[i] + S[j]) mod 256]
output K
end while
4. MECHANISM OF THE PURPOSED ARCHITECTURE
4.1 Arithmetic coding: Arithmetic Coding [15] offers
extremely high coding efficiency and it provides little or no
security as traditionally implemented. Arithmetic Coding is the
most powerful technique for statically loss less encoding. The
block diagram consists of a first coding and encryption step
applied to the bits produced by encryption. At the Resaving
side decryption and decoding of the image.
652
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
Arithmetic coding encoder
BEGIN
Low_Val = 0.0; High_Val = 1.0; range = 1.0;
while (byte_symbol != nTerminator)
{
get (byte_symbol);
Low_Val = Low_Val + Symbol_Range *
Symbol_Range_low (byte_symbol);
High_Val = Low_Val + Symbol_Range
Symbol_Range_high(byte_symbol);
Symbol_Range = High_Val – Low_Val ;
}
Output a code so that Low_Val <= code < High_Val;
END
Arithmetic coding decoder
BEGIN
get encoded value = value (code);
Do
{
find a byte_symbol s so
that
Symbol_Range_low(s)
<= value <
Symbol_Range_high(s);
Output s;
High_Val =
Symbol_Range_high(s);
Symbol_Range = High_Val Low_Val;
Value = [value - Low_Val] / Symbol_Range;
}
Until byte_symbol s is a nTerminator
END
4.2 IM AES (Improved Modified Advanced Encryption
Standard)
We modify the AES [15] to be more efficient and secure
way by adjusting the Shift Row Phase. MAES [1] provides
better security and the modification are made in this by
adjusting the shift row phase, but in order to reach higher
performance and security we used IMAES.
Pseudo Code for Shift Row
Shift Rows ( byte state [4, Nb] )
begin byte t[Nb]
if state[0][0] odd numbers
for r = 1 step 1, 3
x = r mod 4
if x = 0 step 0 to x + 1
for c = 0 step 1 to Nb – 1
t[c] = state[r, (c + x) mod Nb]
end for
for c = 0 step 1 to Nb – 1
state[r,c] = t[c]
end for
end for
else
for r = 2 step 2, 4
k=0
x = r mod 4
if x = 0 step 0 to 3
for c = Nb - 1, c >= 0 , c -1
t[c] = state[x, (c + x) mod Nb , k + 1
end for
for c = 0 , c < Nb , c + 1
state[x,c] = t[c]
end for
end for
end
.
5.
CONCLUSION:
The system offers compression and security and higher
performance, image access in wireless and fixed covert
communication networks. The Improved Modified Advanced
Encryption Standard with Arithmetic Coding is more secure
and reliable over real time applications . By using RC4 key
generation in IMAES has facilitated towards the expansion of
the key. The purposed cryptosystem provides better encryption
and decryption results and reaches higher performance over
real time application for security of images for transmission
through covert low bandwidth channel.
6.
FUTURE SCOPE:
Our proposed work output of encrypted images reveals that
the technique presents higher performance, quit reliable and
robust. But here techniques we have adopted for compression
of image may changed by improved and reliable one so that
they may deal besides floating point number such that space
and time complexity may be reduced. Another thing that we
have considered SP-Box in IMAES and their contents may be
calculated via more effective and secure way besides product
cipher. Finally, instead taking of Digital Image value from
image buffer, this value may be calculated from Image
directly.
653
ISSN:2229-6093
Sangeeta Solanki,A K Vats,Shikha Maan, Int. J. Comp. Tech. Appl., Vol 2 (3),646-654
11.
12.
Nomenclature
IJCSNS
IJCSE
WCE
AC
AES
MAES
IMAES
International Journal of Computer Science
and Network S 226 security.
International Journal on Computer Science
and Engineering.
World Congress on Engineering.
Arithmetic Coding
Advanced Encryption Standard
Modified Advanced Encryption Standard
Improved Modified Advanced Encryption
Standard
REFERENCES
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Abdulkarim Amer Shtewi, Bahaa Eldin M. Hasan, Abd El Fatah .A.
Hegazy, An Efficient Modified Advanced Encryption Standard (MAES)
Adapted for Image Cryptosystems, IJCSNS VOL.10 No.2, February
2010.
Abir Awad1 , Abdel hakim Saadane2, Efficient Chaotic Permutations
for Image Encryption Algorithms, WCE 2010, June 30 - July 2, 2010,
London, U.K.
AES Proposal: Rijndael Joan Diemen, Vincent Rijmen, 2nd verof
document to NIST. Arithmetic Coding For Data Coiupression Ian H.
Willen, Radford M. Neal, and John G. Cleary “Communications Of The
Acm” June 1987 Volume 30 Number 6.
Cache-Timing attacks on AES Daniel J Bernstein Preliminary version
of report to National Science Foundation, grant CCR-9983950
C. Abad, IP Checksum Covert Channels and Selected Hash Collision,
2003
Cryptography and Network Security Principles and Practices, Fourth
Edition By William Stallings.
Data Compression the Complete Reference Fourth Edition by David
Salomon.
Eli Biham and Yaniv Carmeli. Efficient Reconstruction of RC4 Keys
from Internal States. FSE 2008, pages 270-288, vol. 5086, Lecture
Notes in Computer Science, Springer.
Fast implementation of AES cryptographic algorithms in smart cards
Chi-Feng Lu; Yan-Shun Kao; Hsia-Ling Chiang; Chung-Huang Yang;
Security Technology, 2003
Goutam Paul and Subhamoy Maitra. Permutation after RC4 Key
Scheduling Reveals the Secret Key. SAC 2007, pages 360-377, vol.
4876, Lecture Notes in Computer Science, Springer.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Introduction to Data Compression Third Edition by Khalid Sayood.
1ALIREZA JOLFAEI, 2ABDOLRASOUL MIRGHADRI, AN IMAGE
ENCRYPTION APPROACH USING CHAOS AND STREAM
CIPHER, Journal of Theoretical and Applied Information Technology.
NCSC-TG-030, Covert Channel Analysis of Trusted Systems (Light
Pink Book) from the United States
Department of Defense (DOD)
Rainbow Series publication.
Mete Akgun, Pinar Kavak, Huseyin Demirci. New Results on the Key
Scheduling Algorithm of RC4. INDOCRYPT 2008, pages 40-52, vol.
5365, Lecture Notes in Computer Science, Springer.
P.VIJAYRAM REDDY, Dr.P. Mallesham, K.VENKATESH
SHARMA, P. RADHADEVI Secure Image Transmission Through
Unreliable Channels, IJCSE Vol. 02, No. 06, 2010, 2053-2058.
P. Prasithsangaree and P. Krishnamurthy (2003). Analysis of
Energy Consumption of RC4 and AES Algorithms in Wireless LANs.
http://www.sis.pitt.edu/~is3966/group5_paper2.pdf.
R. A. Mollin," An introduction to cryptography", CRC Press Boca
Raton FL USA. 2006.
Shiguo Lian, Multimedia Content Encryption: Techniques and
Applications. Taylor & Francis Group, LLC, 2009.
Shujun Li, Guanrong Chen and Xuan Zheng, "Chaos-based encryption
for digital images and videos," chapter 4 in Multimedia Security
Handbook, February 2004.
Selecting the Advanced Encryption Standard Burr, W.E.; Security &
Privacy Magazine, IEEE Volume 1, Issue 2, Mar-Apr 2003 Page(s):43 –
52
Stein, Lincoln D., Web Security, New York: New York AddisonWesley, 1988. [23]. McGraw, Gary, Felten, Edward F, Securing Java,
New York: New York, John Wiley & Sons, 1999
Shish Ahmad, DR. Mohd.Rizwan Beg, Dr. Qamar Abbas, Jameel
Ahmad, Syed Mohd Atif, Comparative study between stream cipher and
block cipher using RC4 and Hill Cipher, International Journal of
Computer Applications (0975 - 8887) Volume 1 – No. 25
“Secure Arithmetic Coding” In IEEE Transactions On Signal
Processing, Vol. 55, No. 5, Pp. 2263–2272, May 2007.
Title: Introduction to Cryptography Author: Johannes A Buchman
Publisher..
Vincent Berk, Annarita Giani, George Cybenko, Covert Channel
Detection Using Process Query Systems, 2005.
Wikipedia, Page Title: Block cipher modes of operation
http://en.wikipedia.org/ wiki/Cipher_block_chaining.
654
Download