asic implementation of triple data encryption algorithm (3des)

23
Triple DES Team members: Junjie Wang, Xiao Xiao, Zhuofan Li, Ming Huen Lee 1

Upload: xiao-xiao

Post on 13-Apr-2017

118 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Triple DES Team members: Junjie Wang, Xiao Xiao, Zhuofan Li, Ming Huen Lee

1

Page 2: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Overview - What is 3DES?Users are able encrypt / decrypt data in a secure way

Prevent hacking into important data

Algorithm applies Data Encryption Standard (DES) 3 times Ciphertext = EK3(DK2(EK1(plaintext)))

Each DES has 16 rounds of processing -> Encrypted with 56-bit keyAppropriate for ASIC design

Less time delay

Consume less power

Data will send through avalon bus to the FPGA 2

Page 3: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

System Design

3

Page 4: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Operation Flow Chart

4

Page 5: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

System Architecture

5

Page 6: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Fixed Success Criteria 1. Test benches exist for all top level components and the entire design. The test benches

for the entire design can be demonstrated or documented to cover all of the functional requirements given in the design specific success criteria. (2 pts/Achieved)

2. Entire design synthesizes completely, without any inferred latches, timing arcs, and, sensitivity list warnings (4 pts/Achieved)

3. Source and mapped version of the complete design behave the same for all test cases. The mapped version simulates without timing errors except at time zero (2 pts/Achieved)

4. A complete IC layout is produced that passes all geometry and connectivity checks (2 pts)

5. The entire design complies with targets for area, pin count, throughput (if applicable), and clock rate. (2pts)

6

Page 7: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Fixed Criteria 1 & 2

7

Page 8: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Fixed Criteria 3

8

Page 9: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Fixed Criteria 4

9

Page 10: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Fixed Criteria 5

10

Page 11: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Design Specific Success Criteria1. Demonstrate by utilizing a know, working 3DES online tool that the output of the

design both encrypts and decrypts according to the 3DES algorithm. (1 point/Achieved)2. Demonstrate by simulation of verilog test benches that the complete design is able to

utilize pipelining.(1 point/Achieved)3. Demonstrate by simulation of verilog test benches that the complete design is able to

successfully implement 3DES encryption (2 points/Achieved)4. Demonstrate by simulation of verilog test benches that the complete design is able to

successfully implement 3DES decryption. (2 points/Achieved)5. Demonstrate that the complete design is able to dump data from atom to FPGA using C

code for Avalon-Bus. (2 points/Achieved)

11

Page 12: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Design Specific Success Criteria #1

2a 8d 69 de 9d 5f df f9 bd 0a ac 78 21 19 7f a4

Message

Key

Output

12

Page 13: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Design Specific Success Criteria #2New data input every 8 clock cycles when dataready is high

13

Page 14: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Design Specific Success Criteria #2 cont.Apply Triple DES algorithm using pipelining with same keys

Input data 1 Input data 2

Encrypted data 1 Encrypted data 2

Encrypted data 1 Encrypted data 2

Decrypted data 1 Decrypted data 2

14

Page 15: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Design Specific Success Criteria #3,4Encryption & Decryption using three different keys.

Input data

Encrypted data

Encrypted data

Original data

15

Page 16: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Design Specific Success Criteria #5

Output

Input

Next_enable

16

Page 17: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Quartus ReportArea on the FPGA

FPGA CLOCK

17

Page 18: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Conclusion Challenges:

Develop an efficient algorithm for pipelining process

FPGA (communication with atom)

Time Management

Approaches differently:Use the SDRAM on the FPGA

Improvement:Expand the key size of the Triple DES to make it more secure

18

Page 19: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Appendix: One Round of Processing in DES

19

Page 20: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Appendix: One Round of Processing in DES

20

Page 21: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Appendix: 16 Rounds DES

21

Page 22: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Appendix: 16 Rounds DES

22

Page 23: ASIC Implementation of Triple Data Encryption Algorithm (3DES)

Appendix: Key Schedule Algorithm (KSA)

23