You are on page 1of 8

2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

Design of DNA-based Advanced Encryption


Standard (AES)
Mona Sabry, Mohamed Hashem, Taymoor Nazmy, Mohamed Essam Khalifa
Computer Science department,
Faculty of Computer Science and Information Systems,
Ain Shams University,
Cairo, Egypt.
E-mail: mona.sabry@cis.asu.edu.eg

Abstract- DNA cryptography is a new promising direction in selection process. Rijndael is a family of ciphers with different
cryptography research that emerged with the progress in DNA key and block sizes. AES has been adopted by the U.S.
computing field. Traditional cryptographic systems have long government and is now used worldwide. It supersedes
legacy and are built on a strong mathematical and theoretical the Data Encryption Standard (DES), which was published in
basis. So, an important perception needs to be developed that the
1977. The algorithm described by AES is a symmetric-key
DNA cryptography is not to negate the tradition, but to create a
algorithm.
bridge between existing and new technology.
Traditional cryptographic systems have long legacy and are
The power of DNA computing will strengthen the existing
security systems by opening up a new possibility of a hybrid built on a strong mathematical and theoretical basis.
cryptographic system. In our work, we are presenting the DNA­ Traditional security systems like RSA, DES or NTRU are also
based design and implementation to "Advanced Encryption found in real time operations. So, an important perception
Standard" [AES]. We built our algorithm with all its needs to be developed that the DNA cryptography is not to
specifications (data, algorithms operations and used functions) on negate the tradition, but to create a bridge between existing
DNA basis instead of bits. This aims at proving the possibility of and new technology. DNA cryptography should be
building such a complex system on DNA basis in a way of making
implemented by using modem biological techniques as tools
it a suitable candidate for implementation in biological
and biological hard problems as main security basis to fully
environment or on DNA computers. Our algorithm kept the
exert the special advantages. The power of DNA computing
same security strength and robustness of the standard algorithm.
will strengthen the existing security systems by opening up a
Keywords- Advanced Encryption standard; AES; DNA; RNA; new possibility of a hybrid cryptographic system.
Cryptography; DNA cryptography; block cipher; symmetric cipher.
From DNA based encryption algorithms proposed, few studies
I. INTRODUCTION have conducted simulating the processes of central Dogma in

With the inspiring advances in the field of DNA cryptography, cryptographic applications. There is a simple cryptographic

multiple theories have been conducted for implementing DNA method based on the same idea [7], and a symmetric

computers which are DNA based and use biological functions encryption DNA-based algorithm called YAEA that was

to implement the desired operations. DNA cryptography is a proposed by Amin et al in [8]. In this research, the binary form

cryptographic field emerged with the research of DNA of data, such as plaintext messages, and images are

computing [1], [2], [3], [4] in which DNA is used as transformed into sequences of DNA nucleotides. Then,

information carrier and the modem biological technology is efficient searching algorithms are used to locate the multiple

used as implementation tool. The high parallelism, exceptional positions of a sequence of four DNA nucleotides that

energy efficiency and extraordinary information density represent the binary octet plaintext character within a Canis

inherent in DNA molecules are explored for cryptographic Familiaris genomic chromosome. Randomly selected pointers

purposes such as encryption, authentication, signature, and so of the four DNA nucleotides for each plain text character are

on. In fact, the tremendous storage capacity of DNA as well as assembled in a file that constitutes the ciphered text. This

the ability to synthesize DNA sequences in any desirable technique can be used to enforce other conventional

length makes DNA a perfect medium for cryptography and cryptographic algorithms.

steganography. Another work led by [9] proposes a method simulating

The Advanced Encryption Standard (AES) specifies a Federal mechanisms of the central dogma of biology, and also presents

Information Processing Standards (FIPS) which approves a symmetric encryption algorithm designed according the

cryptographic algorithm that can be used to protect electronic recommendations of experts in cryptography [10] and

data. The AES algorithm is a symmetric block cipher that can containing a part called DNA module that simulates critical

encrypt (encipher) and decrypt (decipher) information [5], [6]. processes of the central dogma in order to enhance its security.

AES is based on the Rijndael cipher developed by Recently in 2013, Jun Peng, Shangzhu, Jin Hiang Lei and Qia
two Belgian cryptographers, Joan Daemen and Vincent Han proposed an encryption algorithm with a 192-bit key by
Rijmen, who submitted a proposal to NIST during the AES utilizing the hyper chaotic system and combination with DNA

390
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

complementary rule [11]. Author uses the Arnold cat map for II. AES DESIGN
obtaining the better confusion, and then it is encoded into
AES is based on a design principle known as a substitution­
DNA image. After that, each nucleotide of DNA image is
permutation network, and is fast in both software and
transformed into its base pair by means of the complementary
hardware. Unlike its predecessor DES, AES does not use a
rule and XORED with a hyper-chaotic binary sequence.
Feistel network. AES is a variant of Rijndael which has a
Other DNA cryptographic approaches involved the use of fixed block size of 128 bits, and a key size of 128, 192, or 256
AES like DNA-Crypt approach proposed by Heider and bits. By contrast, the Rijndael specification per se is specified
Bamekow [12] that combines and extends the steganographic with block and key sizes that may be any multiple of 32 bits,
and cryptographic methodologies proposed by Wong et al. both with a minimum of 128 and a maximum of 256 bits
[13] and Arita and Ohashi [14]. DNA-Crypt encodes [5], [6].
information using a substitution cipher and two types of error­
AES operates on a 4x4 column-major order matrix of bytes,
correcting codes, namely, Hamming and WDH [15]. DNA­
termed the state, although some versions of Rijndael have a
Crypt incorporates a fuzzy controller and powerful
larger block size and have additional columns in the state.
cryptographic algorithms such as one-time pad, AES,
Most AES calculations are done in a special [mite field.
Blowfish, and RSA.
The key size used for an AES cipher specifies the number of
In 2014, a combination of DNA computing and round-reduced
repetitions of transformation rounds that convert the input,
AES block cipher is proposed by Eman Shehab et al. [16] The
called the plaintext, into the final output, called the ciphertext.
method proved to have high resistance to most of the known
The nwnber of rounds are as follows:
attacks such as exhaustive search, statistical analysis, and
differential analysis concluding that the method achieves high • lO rounds for 128-bit keys.
level of security and fast implementation.
• 12 rounds for 192-bit keys.
Lately on 2015, AI-Wattar et al. proposed an approach for
altering the MixColumns transformation engaged in the AES
• 14 rounds for 256-bit keys.

algorithm [17]. The approach employed methods inspired At each round (Nr), AES has four basic steps for the plaintext
from DNA processes and structure, which relied on the key. to be implemented. AES should implement another step of key
The analyzing of the obtained results showed that, this new expansion to expand the cipher key to the round keys schedule
transformation is more secure, resistance against the attacks, presenting a round key for each round with size equals to the
and will increases the stability of AES against linear and block size. Cipher key is Nb= 128, 192, or 256 bits according
differential cryptanalysis. to each Nr: 10, 12, and 14 respectively. The binary form of

In this paper, we are trying to facilitate the link and interaction plaintext is divided into blocks of Nb bits [STATE] and each

between the fields of DNA computing and digital computing block goes through Nr rounds of encryption.

by presenting a DNA-based implementation of "Advanced


encryption Standard" [AES]. The core operations of the A. Steps ofKey Expansion
standard algorithm along with the recommended specifications The input key is subjected to steps of key expansion Nr times
are all kept the same with our algorithm in order to assure the resulting of Nr round keys. Steps of key expansion are:
standard level of security proved by AES. Our work is
1- RotWordO takes a word [aO,al,a2,a3] as input,
summarized in converting all the algorithm data, operations,
performs a cyclic permutation, and returns the word
used functions and specifications, from binary basis to DNA
[al,a2,a3,aO].
basis. As researches in DNA cryptography recently focuses
2- SubWordO is a function that takes a four-byte input
more on theory than implementation, we have converted all
word and applies the S-box to each of the four bytes
the used materials to the form of DNA and implemented our
to produce an output word (substitution).
algorithm on digital computers with detailed specification of
3- The round constant word array, Rcon[i], contains the
the least requirements needed to implement the algorithm on
values given by [Xi_I, {OO}, {OO}, {OO}], with x /_1 being
DNA computers.
powers of x (x is denoted as {02}) in the field
The rest of the paper is organizes as follows: section II gives a GF(28), (note thati starts at 1, not 0).
summary on the details of AES algorithm, data block, used 4- Last operation includes XOR with Rcon and then
keys and different AES operations. Section III presents our XOR with the temp (output of the previous round).
proposed DNA-based implementation of AES with all its
B. AES Round Operations
details. It also shows the algorithm software implementation
in details along with comparing our results with the standard 1- Add round key: Round STATE XOR the round key.
AES. Section IV summarizes the conclusion and our future 2- Substitute bytes (SubBytes): Each 2 bytes act as
work. row and column entry to s-box resulting 2 different
bytes.

391
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

TABLE I. AES SUBSTITUTION S-BOX III. THE PROPOSED DNA-BAESD ADVANCED ENCRYPTION
y STANDARD
0 1 2 3 4 5 6 7 8 9 a b c d e f

0 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 Having seen the implementation of Advanced Encryption


1 ca 82 c9 7d fa 59 47 fO ad d4 a2 af 9c a4 72 cO

2 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 standard on digital computers, we will now show how it can


3 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
4 09 83 2c la Ib 6e 5a aO 52 3b d6 b3 29 .3 2f 84 be converted to DNA basis so that it can be a candidate to be
5 53 dl 00 ed 20 fo bl 5b 6a ob be 39 4a 40 58 of
6 dO ef aa fb 43 4d 33 85 45 f9 02 7f 50 30 9f a8 implemented on DNA computers. The algorithm idea
7 51 a3 40 8f 92 9d 38 f5 bo b6 da 21 10 ff f3 d2
x
8 cd Oc 13 eo 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
depends on converting every step in AES to its
81 46 14 de db
9 60 4f do 22 2a 90 88 ee b8 5e Ob
complementary DNA form instead of binary basis including
a eO 32 3a Oa 49 06 24 5c c2 d3 ac 62 91 95 e4 79

8d 4e f4 08
b e7 08 37 6d d5 a9 6c 56 ea 65 7a ae
inputs, outputs, the operations and keys.
0 ba 78 25 2e 10 a6 b4 06 e8 dd 74 If 4b bd 8b 8a
d 70 3e b5 66 48 03 f6 Oe 61 35 57 b9 86 cl Id ge

e el f8 98 11 69 d9 8e 94 9b Ie 87 e9 ce 55 28 df
f 80 al 8' Od bf e6 42 68 41 99 2d Of bO 54 bb 16 A. Inputs and Outputs
The plaintext is to be introduced in the form of block each of
3- Shift Rows: Left Circular shift of each row (0<r<3) 128 bits. Initial key is in lengths 128, 192 or 256 bits. Table 2
with the value of r ,As stream: shift (0,3)=do nothing; is to be used to convert all the inputs to DNA streams. The
shijt( 1,4) = 1; shijt(2,4) = 2 ; shijt(3, 4) = 3, result is input stream of size =64 DNA value-considered one
s s' block ( 128 bit). Key size is 64, 96, or 128 DNA. The
So,O SO SO, SO 3 SO, SO,I SO, S ,3
ciphertext will be of the same size as the plaintext.
,I 2 , O 2 O

Sl,O S} ,1 SI,2 $
1,3 SI,
1
S1,
2
Sr 3
,
SI,
O TABLE IT. DNA AND RNA REPRESENTATION OF BITS (TRUTH TABLE FOR
TWO BITS)
S2 , 0 S }, 1 S2, S2 3 S2, S 3 S},O S2,I
2 , 2 2,

S3,0 S3 , S3, S3,3 S3,3 S3,0 S3,1 $3


Bit 1 Bit 2 RNA DNA
1 2 ,2
0 0 A A
. ShiftRows () cyclically shifts the last three rows in the State.
0 1 C C
Fig. I. AES Shift Rows Operation 1 0 G G
1 1 U T
4- Mix Columns: Each column of state is transformed as
follows:
We need to implement DNA Key Expansion operations which
are:

DNA RotWord.
MixColumns ()
DNA SubWord: substitute in the s-box.
s o ,c so
DNA XOR with Rcon.
sO o , SO, 2 SO 3
,
so,o
,c
0. 2
SO,]

Sl,e Sl DNA_XOR with the temp: temp is the output


Sl,O SI,2 SI Sl,
,e S
,3 O I,3
word from the previous cycle operation.
S2,e S 2 ,c
S2 ,0 $2,2 S2 3
,
S2, 0 $2,3
Then the following operations on each DNA Input block
S3, S 3,
$3,0 c $3,2 $3,3 S ,0 c $3,3
3
(plaintext):

DNA_AddRoundKey: XOR with round key


Fig. 2. AES Mix Columns Operation DNA_SubBytes: Substitute with the S-box
DNA ShiftRows: Shift rows
Each block should follow the following equations:
DNA MixColumn: Mix columns.

In order to implement the previous operations, we have to


S�,e = ({02}. SO,e)€±'! ({03} . SI,e)€±'! S2,e® S"e define some functions to be implemented using DNA. These
functions are to be used in the DNA-based AES
S; ,e = So,c€±'! ({02} • SI,e) ® ( { 03} • S2,c ) ® S3,e
implementation operations.
S;.e = S O, e €±'! SI.e €±'! ({02 } . S2,e ) ® ({03}. S"e)
S;,e = ({03 } . SO,e)€±'! SI,e€±'! S2,c® ({02} . S3,e)' B. Proposed DNA/unctions
( 1) 1- DNA XOR:
The . notification (Multiplication) at the byte level is The XOR operation using DNA inputs will result in
defined by shift left then XOR with the value {lb}. DNA output and can be implemented as follows:

392
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

XOR with A= same


4- Detect if one of the inputs is 'T'-7output
XOR with T= inverse
=the inverse of the other DNA.
One with one = A
2- DNA Substitute in the S-box
One with inverse = T
The idea depends on saving the S-box in the form of
Where A is the inverse of T and DNA. We will store the contents of the s-box but as
C is the inverse of G. streams of DNA saved row by row. So we will have 16
DNA streams. The next table shows the DNS-based S­
Box and the following figure shows how it is saved as
The XOR function will take 2 DNA inputs. The
DNA streams.
function has three conditional operations to test:
1- Detect if the two inputs are the
Now, we will face the problem of searching through
same-7output =A.
these streams as we cannot construct a table.
2- Detect if one of the inputs is the inverse of
Substitution in S-box in AES includes 8 bits as input
the other (A and T are inverse, C and G are
and 8 bits as output which are corresponding to 4 DNA
inverse) -7output =T.
input and 4 DNA output.
3- Detect if one of the inputs is 'A'-7output
=the other DNA.

TABLE TIT. S-Box SAVED IN THE FORM OF DNA STREAMS (TABULAR VIEW )


0 1 2 3 4 5 6 7 8 9 . b c d e f
AA AC AG AU CA CC CG CU GA GC GG GU UA UC UG UU
0 AA CGAU CUUA CUCU CUGU UUAG CGGU CGUU UACC AUAA AAAC CGCU AGGU UUUG UCCU GGGU CUCG
1 AC UAGG GAAG UAGC CUUC UUGG CCGC CACU UUAA GGUC UCCA GGAG GGUU GCUA GGCA CUAG UAAA
2 AG GUCU UUUC GCAU AGCG AUCG AUUU UUCU UAUA AUCA GGCC UGCC UUAC CUAC UeGA AUAC ACCC
3 AU AACA UACU AGAU UAAU ACGA GCCG AACC GCGG AACU ACAG GAAA UGAG UGGU AGCU GUAG CUCC
4 CA AAGC GAAU AGUA ACGG ACGU CGUG CCGG GGAA CCAG AUGU UCCG GUAU AGGC UGAU AGUU GACA
5 CC CCAU UCAC AAAA UGUC AGAA UUUA GUAC CCGU CGGG UAGU GUUG AUGC CAGG CAUA CCGA UAUU
6 CG UCAA UGUU GGGG UUGU CAAU CAUC AUAU GACC CACC UUGC AAAG cuuu CCAA AUUA GCUU GGGA
7 CU CCAC GGAU CAAA GAUU GCAG GCUC AUGA UUCC GUUA GUCG UCGG AGAC ACAA UUUU UUAU UCAG
8 GA UAUC AAUA ACAU UGUA CCUU GCCU CACA ACCU UACA GGCU CUUG AUUC CGCA CCUC ACGC CUAU
9 GC CGAA GAAC CAUU UCUA AGAG AGGG GCAA GAGA CACG UGUG GUGA ACCA UCUG CCUG AAGU UCGU
. GG UGAA AUAG AUGG AAGG CAGC AACG AGCA CCUA UAAG UCAU GGUA CGAG GCAC GCCC UGCA CUGC
b GU UGCU UAGA AUCU CGUC GAUC UCCC CAUG GGGC CGUA CCCG UUCA UGGG CGCC CUGG GGUG AAGA
c UA GUGG CUGA AGCC AGUG ACUA GGCG GUCA UACG UGGA UCUC CUCA ACUU CAGU GUUC GAGU GAGG
d UC CUAA AUUG GUCC CGCG CAGA AAAU UUCG AAUG CGAC AUCC CCCU GUGC GACG UAAC ACUC GCUG
e UG UGAC UUGA GCGA ACAC CGGC UCGC GAUG GCCA GCGU ACUG GACU UGGC UAUG CCCC AGGA UCUU
f UU GAUA GGAC GAGC AAUC GUUU UGCG CAAG CGGA CAAC GCGC AGUC AAUU GUAA CCCA GUGU ACCG

pub1ic void f_sen_S_Box()


//AA
s_box (0) .. CGAUCUUACUCUCUGUUUAGCGGUCGUUUACCAUAAAAC
A CGCUAGGUUUUGUCCUGGGUCUCG" ;
//AC
s_box(1) · · UAGGGAAG·UAGCCUUCUUGGCCGCCACUUUAAGGUCUCCAGGAGGGUUGCUAGGCACUAGUAAA";
//AG
s_box(2] _ " GUCUUUUCGCAUAGCGAUCGAUUUUUCUUAUAAUCAGGCCUGCCUUACCUACUCGAAUACACCC " ;
//AU
s_box (3) .• AACAUACUAGAU·UAAUACGAGCCGAACCGCGGAACUACAGGAAAUGAGUG6UAGCUGUAGCUCC·· ;
//CA
s_box[ 4- ) •• AAGCGAAUAGUAACGGACGUCGUGCCGGGGAACCAGAUGUUCCGGUAUAGGCUGAUAGU·UGACA" ;
//CC
s_box( 5] - "CCAUUCACAAAAUGUCAGAAUUUAGUACCCGUCGGGUAGUGUUGAUGCCAGGCAUACCGAUAUU";
//CG
s_box[ 6] - · · UCAAUGUUGGGGUUGUCAAUCAUCAUAUGACCCACCUUGCAAAGCUU·UCCAAA UUAGCUUGGGA " ;
//CU
s_box( 7 ] _ "CCACGGAUCAAAGAUUGCAGGCUCAUGAUUCCGUUAGUCGUCGGAGACACAAUUUUUUAUUCAG";
//GA
s_box[ a] _ "UAUCAAUAACAUUGUACCUUGCCUCACAACCUUACAGGCUCUUGAUUCCGCACCUCACGCCUAU";
//GC
s_box(9) _ "CGAAGAACCAUUUCUAAGAGAGGGGCAAGAGACACGUGUGGUGAACCAUCUGCCUGAAGUUCGU";
//66
s_box(19] _ .. UGAAA UAGAUGGAAGGCAGCAACGAGCACCUAUAAGUCAUGG·UACGAGGCACGCCCUGCACUGC · · ;
// 6U
s_box(11] _ .. UGCUUAGAAUCUCGUCGAUCUCCCCAUGGGGCCGUACCCGUUCAUGGGCGCCCUGGG6UGAAGA";
//UA
s_box(12] - ·'GUGGCUGAAGCCAGUGACUAGGCGGUCAUACGUGGAUCUCCUCAACUUCAGUGUU
· CGAGUGAGG " ;
//uc
s_box[ 13] - "CUAAA UUGGUCCCGCGCAGAAAAUUUCGAAUGCGACAUCCCCCUGUGCGACGUAACACUCGCUG" ;
//l>G
s_box[ 14] - ., UGACUVGAGCGAACACCGGCUCGCGAUGGCCAGCGUACUGGACUUGGCUAUGCCCCAGGAUCUU " ;
//UU
s_box[ 15 ) - "GAUAGGACGAGCAAUCGUUUUGCGCAAGCGGACAACGCGCAGUCAAUUGUAACCCAGUGUACCG" ;

Fig. 3. S-Box saved in the form of DNA streams (code version)

Substitution to reach the right output includes two rows and 2 DNA for columns). Each row is saved as
sub operations: a stream of DNA named according to the row
1- Finding the right DNA stream (row) which is number from AA to TT ( 16 values). Parallel search
one of 16 streams. which is available in DNA computers is used to reach
2- Finding the right sequence in this stream the right row. Suppose the pointer is on the right row,
(column). now we will read the other 2 DNA characters to find
We have the input in the form of 4 DNA characters the right column through the following rules:
which act as key for search (divided into 2 DNA for

393
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

TABLE IV. RULES FOR SEARCHING A SPECIFIC STREAM IN THE S-TABLE. Take 4 by 4 DNA from input
Search the s-box streams (as explained in the
DNA Move Action if First Move Action if Second previous section)
input character character Return an output 4 DNA
Collect all outputs to give 16 DNA
A Do nothing Do nothing

3- XOR with Rcon:


C Move 4 entries Move 1 entries

Get Constant (Rcon) which is stored in streams for


G Move 8 entries Move 2 entries
each iteration. Then the result of the previous step is
XORed with RCon according to the round number.
T Move 12 entries Move 3 entries

p riva t e v o id f_sen_RCon ()

{
RCon = ne'.... string[NRound s + 1 ] ..;.
Ilfor ( i n t i =' 0;i <NRound s ;:i ++ )
·"AAA.C AAAA. AAAA. AAAA.' • ..:. //91
The table above explains the steps to be taken with RCon[1.]
RCon[2] •• AAAG AAAA. AAAA. AAAA." .;. //92

different inputs included in the first and second DNA RCon[3] "AACA AAAA. AAAA. AAAA,";//04
RCon[4] · ' AA.GA AAAA. AAAA AAAA."..;. //98 0000 1000
characters which are inputs to search the right column. The RCon[5] •• ACAA AAAA. AAAA. AAAA.";. //10' 000001 0000
RCon[6] "AGAA AAAA. AAAA. AAAA.' · ;//20 00010 0000
move action means moving the pointer from the beginning RCon[ 7 ] "CAAA AAAA. AAAA. AAAA.";//40 001000 0009
RCon[8] "GAAA AAAA. AAAA AAAA."..;. //80 1000 0000
of the s-box right row stream. The entry means one value of RCon[9] "ACG'U AAAA. AAAA AAAA,";//1B 0001 1011

the s-box which is equals to 4 DNA. Once the pointer is RCon[1.0] = "AUCG AAAA AAAA. AAAA,o;,//36 '00 011 00119

successfully located; we should read 4 DNA starting from }

the pointer position.


Fig. 4. RCon constant saved in the form of DNA corresponding
For example: The pointer stays still if the first and second to each round
DNA is 'A'. This means that we will read the first entry in
the stream. If frrst DNA is 'C' and second is 'G', then the 4- XOR with W[i-4]
pointers should move 4 complete entries to reach the 'C'
position. Then it should move additional two entries to The output from the previous step is XORed with
reach the 'G' position. W[i-4] which is also 16 DNA. Note that the
generated keys have 4<= i <=43.
C. The proposed D-AES algorithm implementation
The next two figures show the detailed example of DNA
a- DNA-based Key expansion: key expansion generation. Note that we used the same
example used in Appendix A - Key Expansion Examples
Suppose we take the key size = 128 bits with 10
published at announcing of the Advanced Encryption
rounds. The DNA key stream (64 DNA) is divided
Standard AES [5] to verify the operations. The Cipher
into smaller streams of size = 16 DNA resulting in 4
Key = "2b 7e 15 16 28 ae d2 a6 ab 17 15 88 09 cf 4f 3c"
words (W[i], I =0, 1, 2, 3). Key expansion should
and when distributed into 4 words we get:
expand from 4 words to 44 words. So we need to
generate from W[4] to W[43] through the wO = [2b7eI516], wI = [28aed2a6],
following steps: w2 = [ab171588], w3 = [09cf4f3c].

1- Rotation by 4 DNA (DNA RotWord):


When converted to RNA we get:
wO = [AG GU CU UG AC CC AC CG],
This step includes left rotation of 16 DNA
wI = [AG GA GG UG UC AG GG CG],
(equivalent to 32 bits) by 8 bits or 4 DNA. So input is
w2 = [GG GU UU CU AC CC GA GA],
16 DNA and output is 16 DNA after rotation. It is
w3 = [AA GC UA UU CA UU AU UA].
implemented through the following algorithm steps:

The next figures show the detailed implementation of


Take the first 4 DNA and save them in
key expansion for 128 bits or 64 DNA Cipher key
streaml
through 10 rounds.
Remove the first 4 DNA from Input
Output Input+ streaml
=

2- Substitute in S-box:

This step includes taking as input the output of the


rotation step (16 DNA), and then we substitute each 4
DNA in the s-box and return the result 16 DNA.

394
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

b- DNA-based AES Plaintext Encryption:


.... '" !","'OIIIi"'ttIlCOI � "' ''' .II[A''5 C1i_. � '' III C1AC (UA''' IV'iC"'.CAWMM 1 0... ... ..,. I
I '" AMIdooo(J ,*WIOoo(j '-"!<I;j .!(a.-It. -'-'\1.:1 The plaintext in the fonn of DNA is divided into separate
streams of size 64 DNA (128 bit). If the last stream is less than
"''''tcCA'''MIiIAC
64, then it is concatenated by 'A' till reaching the 64 DNA

""'."AlMSCMa:
: ::::::
1

ISM(lOI ... a:"" IttMM&lai•• a: �MIIIlMMUN.»M ICX"""'al8lIlitt ltli .... W••• M.O ..r...==...-- size.
11 OI."".«CA .. Each stream is put in the form of STATE. The STATE
«ecMCUUACUI;
consists of 4 streams (rows), each row contains16 DNA. We
11

� :::::: a:liC.CSClWClM IMatuUe",,,,. ,MCAMMMMMM IIM.tU'W:""�.l."."IICa:.", '====


have to consider the ability to convert the elements of the
14 CACJIICOii .....
U IICIliMMOIIliGlCA STATE streams from rows to columns to fit the function
:: :::::: (J!ii"''''MliIHUC IIC"."(,,,I; IU• .,. JMiAMMMMMM IIIC".CA."'MM l"UCilMCAClCUC
-b.===­ "MixColumns". Each STATE will go through the four round
.",a:MCC.e».
II
functions for each round.
pt .(10"'''0: ••

1- SubBytes:
In this step, each 4 DNA in STATE streams will be
Fig. 5. Detailed example of the steps of Key Expansion generation
an input to the function substitute in the S-Box which
- is explained before.
: :::::: "''''''CMMlIC8I
J
",'UCOCCUUUt J:.liCMMMAWMMI ",uuit CCa;MeUC l"·CACA"tt(U( -r...=ii'r.""

n (I."'''iClIC'''CI
u ••• "''''''". 2- Shift rows
: :::::: .«oI(<<".oIiCl( J CecCCKCSa:,..., J:-w-.wuw.MMI"ClCCUCCSCC"''' lIlCCAllou,a;.", "","==;;- 1 It is a transformation that operates row by row on
»IACACM" ••• lIC I separating each
STATE. It is basically a function of
11 1IC •• tlCilCSCAAC

: :::::: MM,«".IC." la;MIICMa:CACICA J�.uMMMMMI"·IIC.a:CAClCA �IIC"''''QltM(U'


J
-/;.,;==;;;-1 row in a separate stream then left rotation by 4
• «.ct . ... « •• DNA characters according to each row number. The
"'CAliliatCA.,,'"
)1
row number ranges between 0 and 3. The rotation
n IU5ICMitl .. ",0I( value = 4 DNA multiplied by the row number. We
:M lIIa:"'ICIIIU5I1CMi

:n "oI(Mi••a:C5"" have explained before how to implement rotation by


4 DNA. We will call this function with every stream
II oI(ICW'''C.'''oI(
JlMi5olltJCMiICCAoI(
a number of times equals to the row number.
: :::::: a:.""U.CUIia:CI.ICA8IIC5MIICW«81 JMalMMWtAMM IClIMC5M«W«1III J"IMClClC5o;." -10..==... '
4J IMICIIIO"MiCtlUC 3- Mix columns:
41 "oI(M.""IM.'"
The MixColumns transformation operates on the
Fig. 6. Continue Detailed example of the steps of Key Expansion generation State column-by-column, treating each column as a
four-term polynomial. As each row is separated in a
The following figure shows the output of 10 round keys
different stream, we need to put each column in a
generated by DNA Round keys generation.
separated stream.

Converting Rows streams to columns streams in


(USNttAIX!GNiCA�ICIoIO",""", ...Ntt�MIi(lMIc-- STATE:
Key 0
F I Key Expansion I We will have to generate also 4 DNA streams each of
Key 1
size 16 DNA but representing columns.
CIIOMIIM...s/lt:Dl""",u:u.IQJA'WICNiMCSMNIIil.NIliC.AfoQII;�c.a;AN;C
I

Key 2 1
1- Initially we have 4 pointers pointing to the
__ tIClX_m8IIMX58IKCNWIClKI«LIillAACWoIalMcac.ai<.w

Key 3
I
AlM:IillACAal
A lw::CAalMD; ____ OIIlOKA<-=CWoI __
beginning of each row stream and one empty
_CACAIIIIIIXCAN.�lXAIilXac.lWOlic_=MiIX_ ... column stream to fill.
Key 4
I
NI/II_=ANI.A

IIa:AUCK�1IIIUoQl/jl,_ .. __ _ 2- Move the pointer of each row to read 4 DNA


Key 5 I
MCI __ fJUC-=N«

Key 6
1C-= __ CWoIMK.NI/II_�"IM(WliCN£ __ «M"
from each row.

7 1�u:u."-'-UUlctW-=_WAtiIIiC5rA111arM;CM5G1U"""c- 3- Concatenate the output of each row in order of


Key
rows to generate the column stream.
AES one
round 4- Repeat step 2 till the pointers reach the end of
9 WMOO�"""'AC$CMIi"'��IICAC"tMCOXICQIj\_CQIIi
Key I streams.
IICMACtA.-c�WI«"-"'C'CWIC""'AMAMA�QIQ;CW�"" AES
Key 10 I Encryption

According to MixColumn equations, they involve the

Fig. 7. Example of complete key expansion given the initial secret key in operations: XOR '.' Multiplication by 02 and '.'
KeyO. Multiplication by 03. DNA XOR is explained before. While
'.' multiplication by 02 can be simplified to simple one bit
Having prepared the round keys for each of the 10 rounds, we left shift followed by XOR with the value "lb". While X • 03
will now investigate the round functions which are repeated can be implemented by:
for 10 rounds to encrypt the DNA plaintext.

395
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

Let Res = X. 02 Standard [AES] [5] using the same key and same plaintext to
verify the operation.
X • 03 = X EB Res
Input = "32 43 f6 a8 88 5a 30 8d 31 31 98 a2 eO 37 07 34"
One bit Shift left on DNA stream can be implemented by the
following algorithm: Or input = "AA UA GC AA UU UC GG GG AG AG AC CG
GA UA AG AU CU AC AU AC GC GA GG AG UG AA AU
1- Define the following groups:
CU AA CU AU CA"

Xl: DNA with the first bit = 0 -7 A,C Cipher Key = "2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f
Y1: DNA with the first bit = 1 -7 T,G 3c" which is expanded to different round keys in a previous
example.
X2: DNA with the second bit = 0 -7 A,G
Y2: DNA with the second bit = 1 -7 C, T ,...t!'I.... roawCANJIAIai� �('OiI5IWMWIC Jl"ll#lCIiAJM&CGo\CiIGM f'tiiMAUl'IMaiNICA
�� ���� ���� ���� ����
2- For shift left by one bit follow the following IHfMCA ..... UUCU""" MWCUUGACttKCti

I "',",CC"NlM'"'UC
rules table: F"1N.t�NJN:.t;C"'''M 1----- 1------ 1-----
I"'MAUCUMOIMCA
JDR 1=::::::=
IMK .... UUCAWHJ ....

TABLE V. RULES FOR SEARCHING A SPECIFIC STREAM IN THE S-TABLE. N.:.K"MIlCCiIII"'«

AlfIlCWCA""a;uu,",
r.IK���.�MT.W���.�

MOUilfWWCACAAC
r.IK��T..�M�W7.����.�IMCA"MCA"'M'"

IIIiIIW "'CACAACMOI ICliCli..,.WW,",MCIi


I""""''''AGAU M''

IWCl5OCCACi5Ma;v.

r- "' ..... UGNi"'UCCAIiA ACACKliACClICttM I tt KCCM


���� I�����MM�
XOA
IW U5Ni .... HJICQlCS
First Second Output RemamderJi RemamderJi RemamderJi RemamderJi 1"''''MQlM''''''''' la"'WAC\II5U AUM IMM""'W� "'U luro U 5t "OI"CA IIIA IN:.CUQlACMKMct
DNA DNA second 'A' second is 'c' second is 'G' second is 'u' I"CA($Uo�WMM ICA«CAUOIIlUQlQI ICA «CACCOlWQlQI Itt�AU"UCIIIIACIIII IWMOI"CCa::OIAil

1«W.CiCwttCUCUilii l.cllGKW.wU:MM 1_.AU«MM':u.; ICA ':CAW�c.C5W I .... MSCa;Ma:a:«

X2 Xl A X2 Y2 r--ICUIJUNlltt"''''ttM KMCiCC5UoQlttNil UoQla:AII':MU:� IUAOGttg;UA"WM XOAIClCttCiUgc"'MUUC5

IWMM"'CAAUCACiC IUoIiCUUIoC�"AII. IAllGU�IiCUU�AC" IUUACClIiUA"�",a: IWNiCAAUOIGIlQlW

X2 Yl C X2 Y2 laoao(.1iACUoMC5� laoMU5WACAlfCAa: laoMU5WACNlCAa: ICUa:MMCCMCiIIIW ' ..... UCCACUIlCUliC5UC

IOAUUUC.UC ..... AIIM IOfMUAACCillla:N;M IIIAACCillla:MMCU ..... IUCiUAMCilllUA M ..... a: IIOAMIICOiM ..... cua;

r-- a:W�NlCA"CAa; IIIAUlACAC.ca;a:ao 1_a;a:ClIi""WACM. IMU:alNlIIII.WUCM XORICA[]IW�QI���

Y2 Xl G X2 Y2 IMAllIlliW':M«1Ii lo .... .. tt .. "" I .. ""c.wucwcua: (GCAll AllNlClUAUCUA Ic.UCNIIIlliCA CA .... '"

ICAIiAOiOlCAIICCcro IUMI04OCU5AUWOi ICCM�CCU5MUU(.1i IMUU�M�UUCC'" I uroWClIiIiAGUC5C'"


Y2 Yl T X2 Y2
fC5MACUCU5N11UW a: MCili CAAC ACUAW I "' CA ACACMuua:M IUCC5MACMMW..... ICACACC NO OIACMW
rICAU5U:IICIIIIACa:� MWa:IlliUAIiAC5Ci1i IIIII.IOII.alClIiMUUCC U5 IUC" ..... IiAIICMAC ..... XDRICilia:a:wMa:a;uc

I_SMUCAUIOAU5Of IMIOAUCCfMCW'CCA IKCAMIiAUCCUM[]I I"IICIIIIWC5Q1MM. ICAACCW.MIiIIM M


The input to the algorithm is the DNA stream. Firstly, we take
2 DNA and classify their group from (X2, Y2) for the first
Fig. 8. Details of Encryption used DNA-based AES (round 1 to 4)
DNA and (Xl, Yl) for the second DNA. Then following the
DNA·Ias«lAESEna)opbon - !.:It;!'
table input conditions, the output and remainder are registered. "'MUAIiAIIC�IiAOC "ACUIilOAMCUtOf "AC "' IiAMct IilC W M CUlI lIC W Oi tAUA IICtAWW.UMl'ACAC

IKNOC5AUC;UAC"'� I CAUlUlIlllIIof.IiAC5M IUUUIIof.IiAC5MCAW IUCIlCIICIIC ..... "CAUA I·AC IiA ..... WNOWCiIC
The remainder is to be used with the next DNA as an input to
r--IOIlUaiNlAUUCUUG ICMUI .. «OiClliUG IIiIC 00 Clli " UCM IUIiU I"«C AC MMUAM XORIM ai IiC C"' ''' �CC

the next iteration. If for example, the first DNA is X2 [A or G] I"'IOAMMCC MMAC IK",wa;a:MOIUA ItllUACilCWWa;OCM ICiliUCC5IiAIiAUIiliVM IWIiAIOA til "'UAW""

WACIlAACatUACCUC IliAII:ClI04
ll A11:MCAUA l"'II£QlIiAAll:MCAIIA CA"'MUA .... ........ 01 1OiUCAII:II£UC"'UAClIi
and second DNA is Xl [A or C], then the output is 'A'. If the
MMIilC MUA "' ''' U C5 ..... CAW ", I04 I1C CC ICAWUGI04UCctC5 ..... IOA� tA "IiICIICIIC M IOAIOII.MwW�MM

second DNA is [A] then remainder is X2 which is input to the rIOiWCAMIiAWIICa: IIIiIiAMClCAUUCM ..... I ..... UCMMClIi"'MK IIiAUCIiACiCWCAACIiA CiliAU AUU5liAaiCilCAU

1a:a: "WMMM ..... 1"'..... UCWMAUIlUIIIi IUUU5WUAIICWNOM IC5UC�MUliIiAUCIiA I CU"'WUCCAIoCWIIC


next step in addition to taking one new DNA from the DNA
IM($MUCU5fio\WIIC IwaMQlflCCUCCCA IWtll MQlflC llll tC CA IACCACA t5 N; WMCA CA�CC"'''''C ' ACA U5

stream. If the second DNA is [C] then the remainder is Y2. IMUCiCAAC�CAUCM IIIIi W"AI,I
" IIiA M CAAUGUCC fiilO GU IACCCA C tl: CA OiM fiiIO
CAMIIIICC CC CA CC WIjIIOOO"OO

rIMIUfQlWM"-'" IMAC"filC CAMAU IIC ICAMMUCAUAC"� IWotACCCCCcr;-.c"" XOAIWOIllAfilCCAWUCIlo\


lAC CllQlIIC"1it Mot j_MWWUCAilMUI IAUWWMIIIIII':NJ IGUW 15 M lC tll CAA&I IMUliIliAUGUMCAIil
Note that the remainder from each operation is used as input
ICC"AC IitIjllO AU QJIjIIO 1_"lICtAM"IIC" 1_ 15 GC tA M '''C IjIIO I M M Ql AC U tAW" ,''''''CCAIIACQJW

for the next step till the end of the four characters. The last ICA ACCAKUliiM"'UA IIOA ..... NJliUU5ACC5CA INJWU5ACC5CA"'AU ICCACUA"'C.C5I1CW IICMIiAUCNiiWIiAUC

rltANiUCMAC�MCA jMM"'C5l1CtAWNi IIC CAWMNiM "' � IMw",�a;IICIit� XOR1CUAUQI"wotNifiIC

remainder is not used. jQlACA(.WOia:M ..... jM"'UAMCAUCW15 11IIU5\1o\""""'MCAUC IUCACWWIU\ UCUili " IMACUCAGC5MNiW

IIG&GMCAaiCC",a: I ""01 IIIMCA.KOI l""OIUltMCA UCKOI ItAWtAM"AUCA UA 1IIGIIofollCClCMGACCCU


Example: I"' MCAOC ct GC filCai I IIi MOi UliCAMfilC M laiUliCAWlfilCMUliUA INJQJICCAOIMfilCW ICUOl .. "IICACUUA

rla:M ..... ..... ClCliAliU M ICACiliUANJCAtl:U5t11 jCAC5UGalCACiG""AU jClCCAUCiCA ..... ClIiCANii XOA1tl:a."'MCilCMM

I IlUMMUCQltCMCC I"'MUC",�a:IjIIO('5 1"cr;""WlC"'KOC IUCiUCi5UQGaiWw. IIIUAUM/I£CAACOOUCi


Input: 0110 1010 1110 0001
1"' '''ct � ''''''' AC W I "KM "' AUICIOIi W IU5Ci1C M W M ICIOIi W IICMWlfilCU5ACQI('5

ICAMMIGIjIIOAC WlAU IMClCAU IIC NJNO M " INlACNJMMUliMIit IAC t A U""NlWQ;Nl

DNA: CG GG UG AC ro-jllUA5M""IICMCA NO l"" IilC M OIOI NOIK: Uot. ICUUCMUAIiAKMW XORIWCiCMa:MUAMUA

N:.U5IiACAUGOIUCNi ClINOa:WKCAIIIICC 5Ua:OIMCCWKCA 1""'''''IlCUAGACiGC5

One Shift left: 1101 0101 1100 0010


Fig. 9. Continue details of Encryption used DNA-based AES (round 5 to 10)
DNA: UC CC UA AG

4- Add Round key: i] DNA-Based AES Encryption

IAU GCAA AG UCUAACGC


It is a simple operation that involves XOR of elements of the IAG CC UCUAACAC CGGG
STATE with the corresponding Round key. The following 1001tput I GA CA AA GC GA CC AA GU
example shows the use of plaintext with the expanded key in lAC UCU U GO GC OJ AU AG
III
figure 8 to perform DAES encryption different rounds. The
first figure shows the detailed results of every operation in a
Fig. 10. Continue details of Encryption used DNA-based AES (round 5 to
given round. The second example shows the [mal results of all
10)(Final output)
rounds. Note that we also used the same example used in
Appendix B - in the announcement of Advanced Encryption

396
2015 IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS'15)

"' .......
requirements. Our main contribution was to prove the
I�ut F�o�w�����ttOO�M�oc����OCgOO��M�ruMm�o
availability of implementing such a complex system on DNA
Round 0 1M1iCAW:UGNJGWGGGMWCA�o\GQJGCGGUACGGAUCAGGGUGGCWCACAGAMGA Encryption
computers using DNA basis.
Round 1 IGGtAGCUAOJUUWACiCfiGAGCWMlCCAGQJ(f,QJCCGUUGGGWUM/tt.CGGGCCMCNiC
Round 2 I
GQ;GGAWccwWJJ«K.OCOCUGAUUGWGMCiOCACiCAGGUCAGCliQAlIAGCACGGtGG
REFERENCES
Round 3 ICAGACWAr..u;UW6COOJIlCUCOOJCMUCCAOCUGMltil.MCAUGAlIIDiCCWccr.AUOOI
[I] A. Gehani, T.H LaBean, 1.H. Reif, "DNA-based cryptography", In:
Round 4 IUGMIiOGll.UllKiGAlIMiAcr.NJaiAUUMAOCGCGUACAOCCCCMr.IlCGUCiAGWGMN. 5th DiMACS Series in Discrete Mathematics and Theoretical Computer
5 IWACWACGWCCCCUMCIiCAGCAUAI.GAJOJUAl.IAGAr.AGUAlJAGCCUCGUCCucttMUA Science, MIT,vol. 54,pp. 233-249,1999.
Round
IAOOiAoUiMiUGoIiCOIAWCCMCGUQ/(1JU(IXi(iACWaw;(i(i6(lUlCUCAGCillWAGCC [2] A. Leier, C. Richter, and W. Banzhaf. "Cryptography with DNA
Round 6
binary strands", Biosystems. pp. 13- 22,2000.
7 ICCGGCNl(JN;QU£ACOCCAGC�ACllIGGAUIJGAAIlOCCGCC(IJG(jGNJAAI£AMUA
Round [3] S.V. Kartalopoulos, "DNA-inspired cryptographic method in optical
Round 8
IUGGGGMUCOIAWAAIJO.CN;CAUo\UAGUCCGCCCCUCGCGAGGUCr.IlCGCaiGUMIMCC communications, authentication and data mimicking", in Military
Communications Conference. pp. 774-779,2005.
Round 9 I
tmlWAWNiACUGctGCAQJGAl.lGAGACAGAQlGGACACNJUGOJACQIUMUWGUCAG

[4] T. Kazuo, O. Akimitsu, S. Isao, "Public-key system using DNA as a


Round 10 one-way function for key distribution", Biosystems, pp. 25-29,2005.
output [5] National Institute of Standards and Technology (NIST). Fips 197:
Advanced encryption standard (AES). Technical report,
National institute of Standards and Technology (NiST), 2001.
Fig. II. Result of Each Round Encryption of DNA-based AES [6] Joan Daemen and Vincent Rijmen. AES proposal: Rijndael. 1998.
After we explained various steps of DNA-Based AES [7] Ning Kang, "A pseudo DNA cryptography Method",
DBLP:journals/corr/abs-0903-2693,2009,http://arxiv.org/abs/0903.2693
encryption, we now will summarize the DNA system
[8] Sherif T. Amin, Magdy Saeb, Salah El-Gindi, "A DNA-based
requirements that will be able to implement the DAES
Implementation of YAEA Encryption Algorithm," lASTED
encryption algorithm: International Conference on Computational Intelligence (CI 2006), San
Francisco,Nov. 20,2006.
1- Pointer that reads the value of each DNA value.
[9] S. Sadeg, M. Gougache, N. Mansouri, H. Drias" "An encryption
2- Ability to insert and delete any DNA value. algorithm inspired from DNA" in the IEEE proceedings of
3- Named spaces of memory with the ability to International Conference on Machine and Web Intelligence (ICMWI),
access them. pp.344-349,October,2010.

4- Store DNA value and its inverse. [10] National Security Agency, Fact sheet NSA Suite B cryptography, 30
Mars 2008, http://www.nsa.gov/iai files/SuiteB Implementer G-
5- Way of separating one stream of DNA into small 113808.pdf.
streams. [Il] Peng, 1., Jin, S., Lei, L., & Han, Q.. "Research on a novel imali:e
6- A mechanism to read the instructions and encryption alli:orithm based on the hybrid of chaotic maps and DNA
implement them. in In Cognitive Informatics & Cognitive Computing (lCCI*
encodinli:".
CC), 2013 12th IEEE International Conference on IEEE, pp. 403-408,
According to our explained algorithm with all its details, these July 2013.
are the least requirements needed in the DNA computer to be [12] D. Heider and A. Barnekow, "DNA-based watermarks using the
DNA-Crypt algorithm," BMC Bioinformatics, vol. 8, article 176,
used to implement the DNA-based AES encryption algorithm
2007.
[D-AES].
[13] P. C. Wong,K. Wong,and H. Foote,"Organic data memory using the
DNA approach,"Communications of the ACM, vol. 46, no. I, pp. 95-

CONCLUSION 98,2003.
[14] M. Arita and Y. Ohashi, "Secret signatures inside genomic
We explained how we can use DNA as a basic element for DNA," Biotechnology Progress,vol. 20,no. 5,pp. 1605-1607,2004.
many processes which lead to the implementation of a DNA­ [15] A. S. Tanenbaum, "Computer Networks", Prentice Hall, New York,
based version of the "Advanced Encryption Standard" (D­ NY,USA,4th edition,2002.
AES). We succeeded to put all functions, rules and data in the [16] Shehab, Eman, Abdelalim K. Farag, and Arabi Keshk. "An Jmali:e

form of DNA. We proved that our algorithm leads to the same Encryption Technique based on DNA Encodinli: and Round-reduced
AES Block Cipher." International Journal of Computer Applications,
results of the binary-based AES. We have lead the same
vol. I07 no.20, December 2014.
example proposed in the AES announcement [5] and proved
[17] Al-Wattar, A. H., Mahmod, R., Zukarnain, Z. A., Udzir, N. "A New
we obtained the same results. The DNA- based AES have the DNA Based Approach of generating key-dependent
same strength properties and high security proved by AES. MIXCOLUMNS transformation". International Journal of Computer

We showed also how the complicated binary based operations Networks & Communications (IJCNC) Vol.7, No.2, March 2015.

can be implemented on DNA basis using very elementary

397

You might also like