New encryption algorithm based on network RFWKIDEA8-1 using transformation of AES encryption algorithm

Đăng ngày 4/2/2019 3:55:53 PM | Thể loại: | Lần tải: 0 | Lần xem: 2 | Page: 5 | FileSize: 0.38 M | File type: PDF
New encryption algorithm based on network RFWKIDEA8-1 using transformation of AES encryption algorithm. In this article we developed a new block encryption algorithm based on network RFWKIDEA8-1 using of the transformations of the encryption algorithm AES, which is called AES- RFWKIDEA8-1. The block’s length of this encryption algorithm is 256 bits; the numbers of rounds are 10, 12 and 14.
International Journal of Computer Networks and Communications Security
VOL. 3, NO. 2, FEBRUARY 2015, 43–47
Available online at: www.ijcncs.org
E-ISSN 2308-9830 (Online) / ISSN 2410-0595 (Print)
New Encryption Algorithm Based on Network RFWKIDEA8-1
Using Transformation of AES Encryption Algorithm
GULOM TUYCHIEV
National University of Uzbekistan, Republic of Uzbekistan, Tashkent
E-mail: blasterjon@gmail.com
ABSTRACT
In this article we developed a new block encryption algorithm based on network RFWKIDEA8-1 using of
the transformations of the encryption algorithm AES, which is called AES- RFWKIDEA8-1. The block’s
length of this encryption algorithm is 256 bits; the numbers of rounds are 10, 12 and 14. The advantages of
the encryption algorithm AES- RFWKIDEA8-1 are that, when encryption and decryption process used the
same algorithm. In addition, the AES-RFWKIDEA8-1 encryption algorithm encrypts faster than AES.
Keywords: Advanced Encryption Standard, Feystel Network, Lai–Massey Scheme, Round Function, Round
keys, Output Transformation, Multiplicative Inverse, Additive Inverse.
1
INTRODUCTION
the elements of the State. Each round consists in
applying successively to the State the SubBytes(),
In
September
1997
the
National
Institute
of
ShiftRows(), MixColumns() and AddRoundKey()
Standards and Technology (NIST) issued a public
transformations. The first round does the same with
call for proposals for a new block cipher to succeed
an extra AddRoundKey() at the beginning whereas
the Data Encryption Standard (DES) [4]. Out of 15
the
last
round
excludes
the
MixColumns()
submitted
algorithms
the
Rijndael
cipher
by
transformation.
Daemen and Rijmen [1] was chosen to become the
The
SubBytes()
transformation
is
a
nonlinear
new
Advanced
Encryption
Standard
(AES)
in
byte
substitution that
operates
independently on
November
2001
[2].
The
Advanced
Encryption
each byte of the State using a substitution table (S-
Standard is a block cipher with a fixed block length
box).
Figure
1
illustrates
the
SubBytes()
of 128 bits. It supports three different key lengths:
transformation on the State.
128 bits, 192 bits, and 256 bits. Encrypting a 128-
bit block means transforming it in n rounds into a
128-bit output block. The number of rounds n
depends on the key length: n = 10 for 128-bit keys,
n = 12 for 192-bit keys, and n = 14 for 256-bit keys.
t0
t1
t2
t4
t5
t6
t8
t9
t10
t12
t13
t14
S-box
s0
s1
s2
s4
s5
s6
s8
s9
s10
s12
s13
s14
The 16-byte input block (t0 , t1 , …, t15 ) which is
t3
t7
t11
t15
s3
s7
s11
s15
transformed during encryption is usually written as
a 4x4 byte matrix, the called AES State.
Fig. 1. SubBytes() transformation
t0
t1
t2
t4
t5
t6
t8
t9
t10
t12
t13
t14
In the ShiftRows() transformation operates on
the rows of the State; it cyclically shifts the bytes in
each row by a certain offset. For AES, the first row
is left unchanged. Each byte of the second row is
t3
t7
t11
t15
shifted one to the left. Similarly, the third and
fourth rows are shifted by offsets of two and three
The structure of each round of AES can be
reduced to four basic transformations occurring to
respectively. Figure 2 illustrates the ShiftRows()
transformation.
1
'
'
'
'
'
p s'
0102 0301
4i+2 4i+2
'
p
1
'
p
'
'
p
p
'
p
44
G. Tuychiev / International Journal of Computer Networks and Communications Security, 3 (2), February 2015
s0
s1
s4
s5
s8
s9
s12
s13
cyclically shifts
s'0
s'
s'4
s'5
s'8
s'9
s12
s13
the encryption algorithm AES-RFWKIDEA8-1 is
256 bits, the number of rounds n equal to 10, 12,
14 and the length of key is variable from 256 bits to
s2
s6
s10
s14
cyclically shifts
s'2
s'6
s10
s14
1024 bits in steps 128 bits, i.e. key length is equal
to 256, 384, 512, 640, 768, 896 and 1024 bits.
s3
s7
s11
s15
cyclically shifts
s'3
s'7
s'11
s15
2
THE STRUCTURE OF THE
Fig. 2. ShiftRows() transformation.
ENCRYPTION ALGORITHM AES-
RFWKIDEA8-1
The MixColumns() 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
In the encryption algorithm AES-RFWKIDEA8-
1 as the round function used SubBytes(),
ShiftRows(), MixColumns() transformation of the
encryption algorithm AES. The scheme n -rounded
multiplied modulo
x4 +1 with a fixed polynomial
encryption algorithm AES-RFWKIDEA8-1 shown
a(x),
given
by
a(x) = 3x2 + x2 + x+ 2 .
Let
in Figure 4, and the length of subblocks
X 0 ,
X1 ,
p = a(x)s':
...,
X 7 , length of round keys
K8(i1) ,
K8(i1)+1 ,...,
p4i 02 030101s'4i
p4i+1 = 010102 03s'4i+1 , i = 0...3
p4i+3 03010102s'4i+3
K8(i1)+7 , i =1...n+1 and K8n+8 , K8n+9 , ..., K8n+23 are
equal to 32 bits.
As a result of this multiplication, the four bytes in
a column are replaced by the following:
y4i = ({02}s'4i )({03}s'4i+1 ) s'4i+2 s'4i+3
y4i+1 = s'4i ({02}s'4i+1 )({03}s'4i+2 )s'4i+3
y4i+2 = s'4i s'4i+1({02}s'4i+2 )({03}s'4i+3 )
y4i+4 = ({03}s'4i )s'4i+1s'4i+2 ({02}s'4i+3 ) .
Figure
3
illustrates
the
MixColumns()
transformation.
s'0
s'4
s'8
s12
p0
p4
p8
12
s'
s'5
s'9
s13
p1
p5
p9
13
s'2
s'6
s10
s14
MixColumns()
p2
p6
10
14
s'3
s'7
s'11
s15
p3
p7
p11
15
Fig. 3. MixColumns() transformation.
Description
network
RFWKIDEA8-1
given
in
[3] and, similarly as in the Feistel network, when it
encryption
and
decryption
using
the
same
algorithm. In the network used one round function
having four input and output blocks and as the
round function can use any transformation.
In this paper developed block encryption
algorithm AES-RFWKIDEA8-1 based network
Fig. 4. The scheme n-rounded encryption algorithm
AES-RFWKIDEA8-1
RFWKIDEA8-1 using transformation of the
encryption algorithm AES. The length of block of
Consider the round function of the encryption
algorithm AES-RFWKIDEA8-1. Initially 32-bit
1
1
1
1
1
1
0 1 7
0 1 7
j j
1 1
0 1 7
0 4
1 5
2 6
3 7
0 1 7
j j j+ j+
Y Y
1
5 3 4
6 2
0 7
45
G. Tuychiev / International Journal of Computer Networks and Communications Security, 3 (2), February 2015
subblocks T0 , T1 , T2 , T3 , are partitioned into 8-
0x0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x
A E2 DE A4 07 72 89 FE 68 95 7B 23 AC DD29 16 D1
bit subblocks, i.e., on bytes:
t0 = sb0 (T0 ) , t1 = sb (T0 ) ,
t2 = sb2 (T0 ),
0x0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x
B 2C 06 F9 18 6E 66 BC 04 CB FB 2B 71 62 EB CAEE
0x0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x
t3 = sb3 (T0 ) ,
t4 = sb0 (T1 ) ,
t5 = sb (T1 ),
C 03 02 2D 6D 27 B0 64 61 98 1C 8C 1D 9B CD73 A0
0x0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x
t6 = sb2 (T1) ,
t9 = sb (T2 ),
t12 = sb0 (T3 ) ,
t7 = sb3 (T1 ),
t10 = sb2 (T2 ),
t13 = sb (T3 ) ,
t8 = sb0 (T 2 ) ,
t11 = sb3 (T2 ) ,
t14 = sb2 (T3 ) ,
D 78 50 B7 58 A1 AE C2 F3 96 10 28 39 2E AF F4 69
0x0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x
E 31 A5 74 7A EC E8 54 FA 4E CE FD 4B 1B C1 70 F5
0x0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x 0x
F BD7E 9A C9 24 FF 32 3F 08 A7 57 20 90 12 D0 B4
t15 = sb3 (T3 ) ,
here
sb0 (X) = x0 x1...x7 ,
Consider the encryption process of encryption
sb (X) = x8 x9...x15 , sb2 (X) = x16 x17...x23 ,
sb0 (X) = x24 x25...x31 and X = x0 x ...x31 . After
which the 8-bit subblocks t0 , t1 , ..., t15 are written
into the array State and are executed the above
algorithm AES-RFWKIDEA8-1. Initially the 256-
bit plaintext X partitioned into subblocks of 32-
bits X0 , X0 , …, X0 , and performs the following
steps:
transformations SubBytes(), ShiftRows(),
MixColumns().
After the MixColumns() transformation we
obtain 8-bits subblocks p0 , p1 , ..., p15 . The
1) subblocks X0 , X0 , …, X0 summed by
XOR respectively with round key K8n+8 , K8n+9 , …,
K8n+15 : X0 = X0 K8n+8+ j , i = 0...7
resulting 8-bit subblocks are writes on a 32-bit
subblocks Y0 , Y1 , Y2 , Y3 as follows:
Y0 = p0 || p1 || p2 || p3 , Y1 = p4 || p5 || p6 || p7
Y2 = p8 || p9 || p0 || p 1 , Y3 = p12 || p13 || p14 || p15 .
2) subblocks X0 , X0 , …, X0 multiplied and
summed respectively with the round key K8(i1) ,
K8(i1)+1 , …, K8(i1)+7 and calculated 32-bit subblocks
T0 , T1 , T2 , T3 . This step can be represented as
The S-box SubBytes() transformation shown in
Table 1 and is the only nonlinear transformation.
The length of the input and output blocks S-box is
eight bits. For example, if the input value the S-box
is equal to 0xE7, then the output value is equal
follows:
T0 = (Xi1 + K8(i1) )(Xi1 K8(i1)+4 ) ,
T1 = (Xi1 K8(i1)+1)(Xi1 + K8(i1)+5 ),
0xFA, i.e. selected elements of intersection row
0xE and column 0x7.
T 2 = (Xi1 + K8(i1)+2 )(Xi1 K8(i1)+