Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID. 303710388 Saar Vigodskey ID. 039608153 Advisor: Mony Orbach Summer.

Slides:



Advertisements
Similar presentations
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
Advertisements

Stop Watch Sean Hicks Dongpu Jin ELEC 307 Project 2 Instructor: Alvaro Pinto April/12/2011.
Advanced Encryption Standard
This Lecture: AES Key Expansion Equivalent Inverse Cipher Rijndael performance summary.
Advanced Encryption Standard. This Lecture Why AES? NIST Criteria for potential candidates The AES Cipher AES Functions and Inverse Functions AES Key.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
VHDL AES 128 Encryption/Decryption
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Team W1 Design Manager: Rebecca Miller 1. Bobby Colyer (W11) 2. Jeffrey Kuo (W12) 3. Myron Kwai (W13) 4. Shirlene Lim (W14) Stage II: February 4 th 2004.
ICS 454 Principles of Cryptography Advanced Encryption Standard (AES) (AES) Sultan Almuhammadi.
Team W1 Design Manager: Rebecca Miller 1. Bobby Colyer (W11) 2. Jeffrey Kuo (W12) 3. Myron Kwai (W13) 4. Shirlene Lim (W14) Stage II: 26 th January 2004.
ECE Department: University of Massachusetts, Amherst Lab 1: Introduction to NIOS II Hardware Development.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Study of AES Encryption/Decription Optimizations Nathan Windels.
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
RUN-TIME RECONFIGURATION FOR AUTOMATIC HARDWARE/SOFTWARE PARTITIONING Tom Davidson, Karel Bruneel, Dirk Stroobandt Ghent University, Belgium Presenting:
Sub-Nyquist Sampling DSP & SCD Modules Presented by: Omer Kiselov, Daniel Primor Supervised by: Ina Rivkin, Moshe Mishali Winter 2010High Speed Digital.
Encryption Development System Encryption Development System Project Part A Characterization Written by: Yaakov Levenzon Ido Kahan Advisor: Mony Orbach.
Cryptography and Network Security
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
Advance Encryption Standard. Topics  Origin of AES  Basic AES  Inside Algorithm  Final Notes.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
Block ciphers Structure of a multiround block cipher
Company LOGO Mid semester presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
Swankoski MAPLD 2005 / B103 1 Dynamic High-Performance Multi-Mode Architectures for AES Encryption Eric Swankoski Naval Research Lab Vijay Narayanan Penn.
6.375 Final Presentation Jeff Simpson, Jingwen Ouyang, Kyle Fritz FPGA Implementation of Whirlpool and FSB Hash Algorithms.
 Cryptography is the science of using mathematics to encrypt and decrypt data.  Cryptography enables you to store sensitive.
LZRW3 Data Compression Core Dual semester project April 2013 Project part A final presentation Shahar Zuta Netanel Yamin Advisor: Moshe porian.
LZRW3 Decompressor dual semester project Part A Mid Presentation Students: Peleg Rosen Tal Czeizler Advisors: Moshe Porian Netanel Yamin
High Speed Digital Systems Lab. Agenda  High Level Architecture.  Part A.  DSP Overview. Matrix Inverse. SCD  Verification Methods. Verification Methods.
1 Implementation in Hardware of Video Processing Algorithm Performed by: Yony Dekell & Tsion Bublil Supervisor : Mike Sumszyk SPRING 2008 High Speed Digital.
Sub-Nyquist Sampling Algorithm Implementation on Flex Rio
Final Presentation Final Presentation OFDM implementation and performance test Performed by: Tomer Ben Oz Ariel Shleifer Guided by: Mony Orbach Duration:
Company LOGO Final presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
R ECONFIGURABLE H ARDWARE FOR H IGH - SECURITY /H IGH -P ERFORMANCE E MBEDDED S YSTEMS : T HE SAFES P ERSPECTIVE Guy Gogniat, Tilman Wolf, Wayne Burleson,
Lopamudra Kundu Reg. No. : of Roll No.:- 91/RPE/ Koushik Basak
Fifth Edition by William Stallings
FPGA Implementation of RC6 including key schedule Hunar Qadir Fouad Ramia.
RTL Design Methodology Transition from Pseudocode & Interface
Final Presentation Encryption on Embedded System Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Spring 2014 Part B.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Menu Navigation Presented by: Tzahi Ezra Advisors: Moshe Porian Netanel Yamin One semester project Project initiation: NOV 2014 PROJECT’S MID PRESENTATION.
Mid presentation Part A Project Netanel Yamin & by: Shahar Zuta Moshe porian Advisor: Dual semester project November 2012.
Lecture 5B Block Diagrams HASH Example.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
Lecture 3 RTL Design Methodology Transition from Pseudocode & Interface to a Corresponding Block Diagram.
Company LOGO Final presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
Supervisor: Moni Orbach Students: Or Rotem Malachi Levi.
Teaching Digital Logic courses with Altera Technology
Le Trong Ngoc Security Fundamentals (2) Encryption mechanisms 4/2011.
ECE 545 Project 1 Introduction & Specification Part I.
Encryption / Decryption on FPGA Midterm Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
Project characterization Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter semester 2014 Part.
Lab 1: Using NIOS II processor for code execution on FPGA
RTL Design Methodology Transition from Pseudocode & Interface
Triple DES.
FPGA Implementation of Multicore AES 128/192/256
AES Objectives ❏ To review a short history of AES
RTL Design Methodology
Lecture 18 SORTING in Hardware.
Dynamic High-Performance Multi-Mode Architectures for AES Encryption
RTL Design Methodology Transition from Pseudocode & Interface
Security Implementation Using Present-Puffin Protocol
RTL Design Methodology
RTL Design Methodology Transition from Pseudocode & Interface
RTL Design Methodology
RTL Design Methodology Transition from Pseudocode & Interface
RTL Design Methodology Transition from Pseudocode & Interface
Costas Foudas, Imperial College, Rm: 508, x47590
Presentation transcript:

Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer Semester 2011 (August – December)

Project Goal Creation of data cryptography system using hardware components of type FPGA DE2-110 with cyclone II EP2C35 device, designated to external memory devices such as Disk-On-Key The system will encrypt the data efficiently according to standard encryption algorithms, which are being used by the private sector. The encryption will be symmetric or asymmetric and made by keys.

Algorithm Description Most of the AES calculations are made through 10 rounds. Each round consists 4 steps, state transformation. The state describes the current data block as a 2D, 4X4 array of bytes. In each round a “Round Key” is created by the key-expansion process. AES encryption includes 4 steps: 1)SubBytes 2)ShiftRows 3)MixColumns 4)AddRoundKey

AddRoundKeySubBytesShiftRowsMixColumnsAddRoundKey SubBytesShiftRowsAddRoundKey Inv ShiftRows Inv SubBytes AddRoundKey Inv MixColumns Inv ShiftRows Inv SubBytes AddRoundKey Key Expansion data encrypted data encrypted data x9 key Cipher Inverse Cipher

Full Piped Architecture Top Level INPUT data [0..127] – raw data ed – ‘0’ for encryption, ‘1’ for decryption clk – system clock rst – high active key[0..127] – 128 bit cryptography key OUTPUT data_out [0..127] – processed data valid_out – ‘1’ when key expansion is ready

Round Module Cryptography direction determined using ‘e_d’ signal. When encryption (decryption) is needed, the decryption (encryption) components are not active.

AES Compilation Summery

Post Synthesis Simulation Expanded key is ready Data input 1.Set key. 2.Reset 3.Key expansion process (40 cycles) 4.System is ready to receive data, set data. 5.Each cycle set 128 input data. 6.First output is given after 10 cycles from step 4.

Post Synthesis Simulation

Timing Analysis According to Quartus the clock frequency is 57.8MHz. After some testings, the system operates as needed at 50MHz. Throughput: Throughput: processing 6.4 * 10^9 bit/sec or 763 Mbytes/Sec For comparison, software implementation of AES algorithm on Pentium M 1.7GHz reaches 60Mbytes/sec. Latency Latency: each block goes through 10 rounds in AES. Each round lasts 20nsec. Therefor the latency is 0.2µsec.

Testing and verification Vhdl editor Modelsim simulation Post synthesis simulation ok synthesis ok Testing using Signaltap and memory sampling program ok yes end start no The verification was done using Example Vectors taken from the AES standard and typical inputs. The final test is to encrypt data using the encryption block and to decrypt the output using the decryption block and compare the result with the original data.

DE2 FPGA Testing Environment SRAM

Verification System

Verification Waveform 2 rounds as previously described. A: FIFO_IN is filled with data from SRAM. B: Expanded key is calculated, encryption/decryption is being performed. Calculated data is written to FIFO_OUT. C: Data is written from FIFO_OUT to SRAM.

Verification Process Writing test pattern to SRAM using DE2 Control Panel Program. Running Encryption and Decryption. Comparing original data and decrypted data. Tests were performed with different keys. Patterns used in tests: o Random text from the web. o Random values. o Incremental Values ( ABCDEF) o Decremental Values (FEDCBA ) o Constant Values (7777…) o Test Vectors from standard (3243F6A8885A308D313198A2E ).

Bugs 1.Dual Port ROM – bug was found in Modelsim Gate Level simulation. Second data output changes one cycle later than expected. No problems were found during verification. The bug is only at Gate Level simulation.

Bugs 2. Inverted FIFO Values – FIFO components show inverted words in output blocks. for example: The solution was correction component attached to the FIFO, which reorganized the words inside the block.

Conclusions All project goals were reached. Before implementation, an architecture has to be designed, and compared to different possible implementations. Always check if the best architecture fits the FPGA area. During coding, use the coding guidelines according to the FPGA manufacturer. Code robustness – keep the code simple. Code changes with little affect on other code parts. Plan the project timetable, and allow enough time for testing and debug (at least as long as the design took).