Sie sind auf Seite 1von 21

Implementation of AES

Encryptor/Decryptor on FPGA
Supervisor

Dr. Umer Farooq

GROUP MEMBERS
Mobeen Ahmad
M.Faisal Aslam
M.Raza Rafiq
COMSATS

BCE-FA09-024
BCE-FA09-031
BCE-FA09-033
12/2/15

Contents

Background & Introduction


Goals of the project
Objectives completed
Results

COMSATS

12/2/15

Background and Introduction


Cryptography is the study of
Secret (crypto-) writing (-graphy)
Conceal the context of some message
from all except the sender and recipient
(privacy or secrecy), and/or
Verify the correctness of a message to
the recipient (authentication).

COMSATS

12/2/15

Encryption and Decryption


The whole process of encryption/decryption can be
illustrated by following figure.

plaintext

enciphering

COMSATS

Encrypt
Ksecret

ciphertext

Decrypt
Ksecret

plaintext

deciphering

12/2/15

Advanced Encryption Standard(AES)


The AES is an iterated symmetric block
cipher, which means that,
AES works by repeating the same defined
steps multiple times.
AES is a secret key encryption algorithm.
Key sizes are 128,192 and 256 bits.
Block size is 128 bits.

COMSATS

12/2/15

AES flow chart

COMSATS

12/2/15

Data Encryption Standard(DES)


The DES is an iterated symmetric block cipher,
which means that,
DES works by repeating the same defined steps
multiple times.
DES is a secret key encryption algorithm.
Key sizes is 64-bits but in 3DES key size is two
times of 64-bits.
Block size 64-bits.

COMSATS

12/2/15

DES Flow Chart

COMSATS

12/2/15

Goals of project
Study and implementation of AES Algorithm on
FPGA.
Implementation of triple DES on FPGA
Comparison between triple DES and AES.

COMSATS

12/2/15

Objectives completed

Studied basic concept of AES


Implemented AES in MATLAB
Implemented triple DES in MATLAB
Compared AES with triple DES

COMSATS

12/2/15

10

AES (MATLAB results)

Average
Encryption
Time(sec)

Average
Decryption
Time(sec)

No.

Input Data length

16 Bytes

0.0528

0.0590

64 Bytes

0.2780

0.3040

128 Bytes

0.4469

0.4930

256 Bytes

0.8847

0.9845

512 Bytes

1.6873

1.8794

1024 Bytes

3.3519

3.7694

COMSATS

12/2/15

11

Triple DES (MATLAB result)

No.

Input Data
length

Average Encryption
Time(sec)

Average Decryption
Time(sec)

16 bytes

0.298017

0.288115

64 bytes

1.098321

1.089192

128 bytes

2.175754

2.161152

256 bytes

4.334603

4.328652

512 bytes

8.652362

8.643217

1024 bytes

17.282174

17.300508
12/2/15

COMSATS

12

Objectives completed(cont..)
Implemented AES in C
Implemented triple DES in C
Compared AES with triple DES

COMSATS

12/2/15

13

AES (C Language)
Text length
16 bytes

Average Encryption
Time(sec)
0.000000

Average Decryption
Time(sec)
0.000000

64 bytes

0.015000

0.016000

128 bytes

0.031300

0.036200

256 bytes

0.046500

0.051600

512 bytes

0.093000

0.094000

1024 bytes

0.184000

0.187000

COMSATS

12/2/15

14

3DES(C Language)
Text length

Average Encryption
Time(sec)
0.015000

Average Decryption
Time(sec)
0.015000

0.020600

0.020600

0.047000

0.047000

0.101500

0.101500

0.210000

0.210000

0.406000

0.406000

16 bytes
64 bytes
128 bytes
256 bytes
512 bytes
1024 bytes
COMSATS

12/2/15

15

Objectives completed (cont)


Implemented AES in VHDL
Implemented triple DES in VHDL
Compared AES with triple DES

COMSATS

12/2/15

16

COMSATS

12/2/15

17

Resource Utilization and Combinational Delay Results of AES


for xc6slx150-3-fgg900

In %age

In Numbers

21

19635 out of 92152

21

19635 out of 92152

66.8

385 out of 576

Number of slice LUTs

Number used as logic

Number of IOs
Total Combinational
Delay
COMSATS

Logic

20

23.93 ns

Route

80

95.76ns

119.7 ns
12/2/15

18

COMSATS

12/2/15

19

Resource Utilization and Combinational Delay Results of 3DES


for xc6slx150-3-fgg900

In %age

In Numbers

31

28896 out of 92152

31

28896 out of 92152

66.8

385 out of 576

Number of slice LUTs

Number used as logic

Number of IOs

Total Combinational
Delay

Logic

37.094 ns
191.206 ns

Route
COMSATS

19.4
80.6

154.112ns
12/2/15

20

Thank You!

COMSATS

12/2/15

21