Triple DES Team members: Junjie Wang, Xiao Xiao, Zhuofan Li, Ming Huen Lee 1
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 key Appropriate for ASIC design Less time delay Consume less power Data will send through avalon bus to the FPGA 2
System Design 3
Operation Flow Chart 4
System Architecture 5
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
Fixed Criteria 1 & 2 7
Fixed Criteria 3 8
Fixed Criteria 4 9
Fixed Criteria 5 10
Design Specific Success Criteria 1. 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
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
Design Specific Success Criteria #2 New data input every 8 clock cycles when dataready is high 13
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
Design Specific Success Criteria #3,4 Encryption & Decryption using three different keys. Input data Encrypted data Encrypted data Original data 15
Design Specific Success Criteria #5 Output Input Next_enable 16
Quartus Report Area on the FPGA FPGA CLOCK 17
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
Appendix: One Round of Processing in DES 19
Appendix: One Round of Processing in DES 20
Appendix: 16 Rounds DES 21
Appendix: 16 Rounds DES 22
Appendix: Key Schedule Algorithm (KSA) 23

ASIC Implementation of Triple Data Encryption Algorithm (3DES)

  • 1.
    Triple DES Team members:Junjie Wang, Xiao Xiao, Zhuofan Li, Ming Huen Lee 1
  • 2.
    Overview - Whatis 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 key Appropriate for ASIC design Less time delay Consume less power Data will send through avalon bus to the FPGA 2
  • 3.
  • 4.
  • 5.
  • 6.
    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
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
    Design Specific SuccessCriteria 1. 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
  • 12.
    Design Specific SuccessCriteria #1 2a 8d 69 de 9d 5f df f9 bd 0a ac 78 21 19 7f a4 Message Key Output 12
  • 13.
    Design Specific SuccessCriteria #2 New data input every 8 clock cycles when dataready is high 13
  • 14.
    Design Specific SuccessCriteria #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
  • 15.
    Design Specific SuccessCriteria #3,4 Encryption & Decryption using three different keys. Input data Encrypted data Encrypted data Original data 15
  • 16.
    Design Specific SuccessCriteria #5 Output Input Next_enable 16
  • 17.
    Quartus Report Area onthe FPGA FPGA CLOCK 17
  • 18.
    Conclusion Challenges: Develop an efficientalgorithm 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
  • 19.
    Appendix: One Roundof Processing in DES 19
  • 20.
    Appendix: One Roundof Processing in DES 20
  • 21.
  • 22.
  • 23.
    Appendix: Key ScheduleAlgorithm (KSA) 23