Сборник трудов III международной научно практической конференции



Pdf көрінісі
бет4/35
Дата25.12.2016
өлшемі7,09 Mb.
#405
түріСборник
1   2   3   4   5   6   7   8   9   ...   35

ЛИТЕРАТУРА 
 
1.
 
Иванов  М.А.  Криптографические  методы  защиты  информации  в 
компьютерных системах и сетях. М.: КУДИЦ-ОБРАЗ, 2001-368с. 
2.
 
Харин.  Ю.С.    Математические  и  компьютерные  основы  криптологии.  –
Мн.: Новое    знание, 2003.-382с. 
3.
 
Шнайер Б. Прикладная криптография. ТРИУМФ. Москва, 2002г. –816 с. 
4.
 
Молдовян Н.А. Криптография: от примитивов к синтезу алгоритмов.-СПб.: 
БХВ-Петербург, 2004.-448 с.: ил.   
5.
 
Арипов  М.М.,  Курьязов  Д.М.  Об  одном  алгоритме  ЭЦП  с  составным 
модулем. // ДАН Республики Узбекистан. №4. 2012г.

6.
 
Арипов М.М., Курьязов Д.М. ЭЦП основанные на сложности решения двух 
трудных  задач.//  Сборник  материалах  международной  научной 
конференций,  Актуальные  проблемы  прикладной    математики  и 
информационных  технологий  -Аль-Хоразмий  2014.  Самарканд  15-17 
сентября 2014года, Том 2, стр. 59-63 
7.
 
Курьязов Д.М. Алгоритм ЭЦП на эллиптических кривых. // Вестник НУУ  
№2. 2013г.  
8.
 
Молдовян    Н.А.,  Гурьянов  Д.Ю.  Повышение  безопасности  протоколов 
слепой подписи // Вопросы защиты информации. 2012.№4.С.3-6. 
9.
 
Дернова  Е.С.,  Молдовян  Н.А.  Синтез  алгоритмов    цифровой  подписи  на  
основе  нескольких  вычислительно  трудных  задач  //  Вопросы  защиты  
информации.2008.№1.С.22-26. 
10.
 
 Дернова  Е.С.,  Молдовян  Н.А.  Протоколы  коллективной  цифровой 
 подписи,  основанные  на  сложности  решения  двух    трудных  задач  
 // Вопросы защиты информации.2008.№2.С.79-85 

40 
 
 
Aripov M., Tuychiev G. 
DEVELOPMENT BLOCK ENCRYPTION ALGORITHM BASED 
NETWORKS IDEA16–2 AND RFWKIDEA16–2 USING THE 
TRANSFORMATION OF ENCRYPTION ALGORITHM AES 
National University of Uzbekistan, Republic of Uzbekistan, Tashkent 
 
Abstract  
A  block  encryption  algorithms  AES–IDEA  16–2  and  AES–RFWKIDEA16–2 
based  on  a  network  IDEA16–2  and  RFWKIDEA16–2.  In  the  encryption  algorithm 
AES–IDEA16–2  as  a  round  function  are  chosen  transformation  SubBytes(), 
ShiftRows(), MixColumns(), AddRoundKey() and in the encryption algorithm AES–
RFWKIDEA16–2  as  a  round  function  are  chosen  transformation  SubBytes(), 
ShiftRows(),  MixColumns  is  developed.  The  length  of  the  block  encryption 
algorithm is 512 bits, the number of rounds is 10, 12, 14 and key length varies from 
256 bits to 1024 bits in steps of 128 bits. 
 
Introduction 
In  September  1997  the  National  Institute of  Standards  and  Technology  (NIST) 
issued  a  public  call  for  proposals  for  a  new  block  cipher  to  succeed  the  Data 
Encryption  Standard  (DES).  Out  of  15  submitted  algorithms  the  Rijndael  cipher  by 
Daemen  and  Rijmen  [1]  was  chosen  to  become  the  new  Advanced  Encryption 
Standard  (AES)  in  November  2001  [2].  The  Advanced  Encryption  Standard  is  a 
block  cipher  with  a  fixed  block  length  of  128  bits.  It  supports  three  different  key 
lengths:  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  
depends on the key length: = 10 for 128 bit keys, = 12 for 192 bit keys, and 
14  for  256  bit  keys.  The  16  byte  input  block  (
0
t

1
t
,  …, 
1 5
t
)  which  is  transformed 
during encryption is usually written as a 4x4 byte matrix, the called AES State
 

41 
 
 
0
t
 
4
t
 
8
t
 
1 2
t
 
1
t
 
5
t
 
9
t
 
1 3
t
 
2
t
 
6
t
 
1 0
t
 
1 4
t
 
3
t
 
7
t
 
1 1
t
 
1 5
t
 
 
The structure of each round of AES can be reduced to four basic transformations 
occurring to the elements of the State. Each round consists in applying successively 
to  the  State  the  SubBytes(),  ShiftRows(),  MixColumns()  and  AddRoundKey() 
transformations. The first round does the same with an extra AddRoundKey() at the 
beginning whereas the last round excludes the MixColumns() transformation. 
The  SubBytes()  transformation  is  a  nonlinear  byte  substitution  that  operates 
independently on each byte of the  State using a substitution table (S–box). Figure 1 
illustrates the SubBytes() transformation on the State
 
0
t
 
4
t
 
8
t
 
1 2
t
 
 
0
s
 
4
s
 
8
s
 
1 2
s
 
1
t
 
5
t
 
9
t
 
1 3
t
 
1
s
 
5
s
 
9
s
 
1 3
s
 
2
t
 
6
t
 
1 0
t
 
1 4
t
 
2
s
 
6
s
 
1 0
s
 
1 4
s
 
3
t
 
7
t
 
1 1
t
 
1 5
t
 
3
s
 
7
s
 
1 1
s
 
1 5
s
 
Figure 1. SubBytes() transformation 
 
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 shifted one to the left. Similarly, the third 
and  fourth  rows  are  shifted  by  offsets  of  two  and  three  respectively.  Figure  2 
illustrates the ShiftRows() transformation. 
 
0
s
 
4
s
 
8
s
 
1 2
s
 
 
0
'
s
 
4
'
s
 
8
'
s
 
1 2
'
s
 
1
s
 
5
s
 
9
s
 
1 3
s
              cyclically shifts 
1
'
s
 
5
'
s
 
9
'
s
 
1 3
'
s
 
2
s
 
6
s
 
1 0
s
 
1 4
s
              cyclically 
shifts 
2
'
s
 
6
'
s
 
1 0
'
s
 
1 4
'
s
 
S-box 

42 
 
 
3
s
 
7
s
 
1 1
s
 
1 5
s
              cyclically 
shifts 
3
'
s
 
7
'
s
 
1 1
'
s
 
1 5
'
s
 
Figure 2. ShiftRows() transformation. 
 
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(
8
2
) and multiplied modulo 
1
4

x
 with a fixed polynomial 
)
(x
a

given by 
2
3
)
(
2
2




x
x
x
x
a
. Let 
'
)
(
s
x
a
p



3
...
0
,
'
'
'
'
02
01
01
03
03
02
01
01
01
03
02
01
01
01
03
02
3
4
2
4
1
4
4
3
4
2
4
1
4
4
















































i
s
s
s
s
p
p
p
p
i
i
i
i
i
i
i
i
 
As  a  result  of  this  multiplication,  the  four  bytes  in  a  column  are  replaced  by  the 
following: 
3
4
2
4
1
4
4
4
'
'
)
'
}
03
({
)
'
}
02
({









i
i
i
i
i
s
s
s
s
y
 
3
4
2
4
1
4
4
1
4
'
)
'
}
03
({
)
'
}
02
({
'










i
i
i
i
i
s
s
s
s
y
 
)
'
}
03
({
)
'
}
02
({
'
'
3
4
2
4
1
4
4
2
4










i
i
i
i
i
s
s
s
s
y
 
)
'
}
02
({
'
'
)
'
}
03
({
3
4
2
4
1
4
4
4
4










i
i
i
i
i
s
s
s
s
y

Figure 3 illustrates the MixColumns() transformation. 
 
0
'
s
 
4
'
s
 
8
'
s
 
1 2
'
s
 
 
0
p
 
4
p
 
8
p
 
1 2
p
 
1
'
s
 
5
'
s
 
9
'
s
 
1 3
'
s
 
1
p
 
5
p
 
9
p
 
1 3
p
 
2
'
s
 
6
'
s
 
1 0
'
s
 
1 4
'
s
 
2
p
 
6
p
 
1 0
p
 
1 4
p
 
3
'
s
 
7
'
s
 
1 1
'
s
 
1 5
'
s
 
3
p
 
7
p
 
1 1
p
 
1 5
p
 
Figure 3. MixColumns() transformation. 
 
In  the  AddRoundKey()  transformation,  a  round  key  is  added  to  the  State  by  a 
simple  bitwise  XOR  operation.  Figure  4  illustrates  the  AddRoundKey() 
transformation. 
 
0
p
 
4
p
 
8
p
 
1 2
p
 
 
0
k
 
4
k
 
8
k
 
1 2
k
   
0
'
p
 
4
'
p
 
8
'
p
 
12
'
p
 
MixColumns() 

43 
 
 
1
p
 
5
p
 
9
p
 
1 3
p
 

 
1
k
 
5
k
 
9
k
 
1 3
k
 

 
1
'
p
 
5
'
p
 
9
'
p
 
13
'
p
 
2
p
 
6
p
 
1 0
p
 
1 4
p
 
2
k
 
6
k
 
1 0
k
 
1 4
k
 
2
'
p
 
6
'
p
 
10
'
p
 
14
'
p
 
3
p
 
7
p
 
1 1
p
 
1 5
p
 
 
3
k
 
7
k
 
1 1
k
 
1 5
k
   
3
'
p
 
7
'
p
 
1 1
'
p
 
1 5
'
p
 
Figure 4. AddRoundKey() transformation 
 
Description  of  networks  IDEA16–2  and  RFWKIDEA16–2  is  given  in  [7,  10] 
and  similarly  as  in  the  Feistel  network,  while  encryption  and  decryption  the  same 
algorithm is usid. The network used two round function, having four input and output 
blocks and as a round function use any transformation. 
Using 
SubBytes(), 
ShiftRows(), 
MixColumns(), 
AddRoundKey() 
transformation of encryption algorithm AES as a round function networks IDEA8–1 
[5],  RFWKIDEA8–1  [5],  PES8–1  [6],  RFWKPES8–1  [7],  IDEA16–1  [8],  created 
encryption algorithms AES–IDEA8–1 [9], AES–RFWKIDEA8–1 [10], AES–PES8–
1 [11], AES–RFWKPES8–1 [12], AES–IDEA16–1 [13]. 
In  this  article,  developed  a  new  block  encryption  algorithms  AES–IDEA16–2 
and AES–RFWKIDEA16–2 based networks IDEA16–2 and RFWKIDEA16–2 using 
transformation  of  the  encryption  algorithm  AES.  The  block  length  of  encryption 
algorithm is 1024 bits, the number of rounds is 10, 12, 14 and key length is variable 
and  varies  from  256  bits  to  1024  bits  in  steps  128  bits,  i.e.  key  length  is  256,  384, 
512, 640, 768, 896 and 1024 bits. 
 
The structure of the encryption algorithm AES–IDEA16–2 
In  the  encryption  algorithm  AES–IDEA16–2  as  a  round  function  used 
SubBytes(),  ShiftRows(),  MixColumns(),  AddRoundKey()  transformation  of 
encryption  algorithm  AES.  The  scheme  of  n–rounded  encryption  algorithm  AES–
IDEA16–2  shown  in  Figure  5  and  the  length  of  the  subblocks 
0
X

1
X
,  …, 
1 5
X
,  the 
length of the round keys 
)
1
(
1 8

i
K

1
)
1
(
18


i
K
, ..., 
15
)
1
(
18


i
K

1
...
1


n
i

16
18

n
K

17
18

n
K
, ..., 
47
18

n
K
 is 32 
bits. A length of round keys 
16
)
1
(
18


i
K

17
)
1
(
18


i
K

n
i
...
1

 is 128 bits. 
 

44 
 
 
 
Fig. 5. The structure of the n–rounded encryption algorithm AES–IDEA16–2 
 
Consider the round function of the encryption algorithm AES–IDEA16–2. First, 
32–bit subblocks 
0
T

1
T
, ..., 
7
T
 is divided into 8 bit subblocks 
0
0
t

0
1
t
, ..., 
0
1 5
t
 and 
1
0
t

1
1
t

..., 
1
1 5
t
 as follows: 
)
(
4
4
mod
0
idiv
i
i
T
sb
t


)
(
4
4
4
mod
1


idiv
i
i
T
sb
t

15
...
0

i
. Here div–integer part of the 
division,  mod–remainder  of  the  division  and 
7
1
0
0
...
)
(
x
x
x
X
sb


15
9
8
1
...
)
(
x
x
x
X
sb


23
17
16
2
...
)
(
x
x
x
X
sb


31
25
24
3
...
)
(
x
x
x
X
sb

,  
31
1
0
...x
x
x
X

. As elements of the array State the first 

45 
 
 
round function selected 
0
0
t

0
1
t
, ..., 
0
1 5
t
, as well as the second round function selected 
1
0
t

1
1
t
, ..., 
1
1 5
t
. Then performed SubBytes(), ShiftRows(), MixColumns(), AddRoundKey() 
transformation. In the  AddRoundKey()  transformation 128  bit  keys  are  divided  into 
32  bit  keys,  i.e. 
j
i
K
16
)
1
(
18



j
i
K
17
)
1
(
18



3
...
0

j
.  Here 
3
16
)
1
(
18
2
16
)
1
(
18
1
16
)
1
(
18
0
16
)
1
(
18
16
)
1
(
18
||
||
||











i
i
i
i
i
K
K
K
K
K

3
17
)
1
(
18
2
17
)
1
(
18
1
17
)
1
(
18
0
17
)
1
(
18
17
)
1
(
18
||
||
||











i
i
i
i
i
K
K
K
K
K
. The elements of the array of keys the first round 
function 
0
0
k

0
1
k
,  …, 
0
15
k
  and  second  round  function 
1
0
k

1
1
k
,  …, 
1
15
k
  is  calculated  as 
follows: 
)
(
4
32
)
1
(
36
4
mod
0
div
i
i
i
i
K
sb
k




)
(
4
33
)
1
(
36
4
mod
1
div
i
i
i
i
K
sb
k




15
...
0

i

After 
AddRoundKey() 
transformation 8 bit output values combined and will receive eight 32 bit subblock 
0
Y

1
Y
, ..., 
7
Y
. Here 
0
Y

1
Y

2
Y

3
Y
–output value from the first round function, 
4
Y

5
Y

6
Y

7
Y

output value from the second round function and 
0
Y
=
'
| |
'
| |
'
| |
'
0
3
0
2
0
1
0
0
p
p
p
p

1
Y
=
'
| |
'
| |
'
| |
'
0
7
0
6
0
5
0
4
p
p
p
p

2
Y
=
'
| |
'
| |
'
| |
'
0
11
0
10
0
9
0
8
p
p
p
p

3
Y
=
'
||
'
||
'
||
'
0
15
0
14
0
13
0
12
p
p
p
p

4
Y
=
'
| |
'
| |
'
| |
'
1
3
1
2
1
1
1
0
p
p
p
p

5
Y
=
'
| |
'
| |
'
| |
'
1
7
1
6
1
5
1
4
p
p
p
p

6
Y
=
'
||
'
||
'
||
'
1
11
1
10
1
9
1
8
p
p
p
p

7
Y
=
'
||
'
||
'
||
'
1
15
1
14
1
13
1
12
p
p
p
p

The  S–boxes  of  SubBytes()  transformation  is  given  in  Table  1  and  2  and  the 
only nonlinear transformation. The length of the input and output blocks of S–boxes 
is equal to eight bits. The first S–box used in the first round function and the second 
S–box used in the second round function. 

Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   35




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет