Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.

Slides:



Advertisements
Similar presentations
Nios Multi Processor Ethernet Embedded Platform Final Presentation
Advertisements

TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Internal Logic Analyzer Final presentation-part B
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Advanced Encryption Standard
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
This Lecture: AES Key Expansion Equivalent Inverse Cipher Rijndael performance summary.
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
Characterization Presentation Spring 2006 Implementation of generic interface To electronic components via USB2 Connection Supervisor Daniel Alkalay System.
NIOS II Ethernet Communication Final Presentation
Presenting: Itai Avron Supervisor: Chen Koren Final Presentation Spring 2005 Implementation of Artificial Intelligence System on FPGA.
Project name: Interface of DSP to Peripherals of PC Supervisor: Broodney, Hen | Presenting: Yair Tshop Michael Behar בס " ד.
29 April 2005 Part B Final Presentation Peripheral Devices For ML310 Board Project name : Spring Semester 2005 Final Presentation Presenting : Erez Cohen.
The Xilinx EDK Toolset: Xilinx Platform Studio (XPS) Building a base system platform.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
VHDL AES 128 Encryption/Decryption
Performance Analysis of Processor Characterization Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor:
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Performance Analysis of Processor Midterm Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor: Evgeny.
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
Final Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Ethernet Bomber Ethernet Packet Generator for network analysis Oren Novitzky & Rony Setter Advisor: Mony Orbach Started: Spring 2008 Part A final Presentation.
Ethernet Bomber Ethernet Packet Generator for network analysis Oren Novitzky & Rony Setter Advisor: Mony Orbach Spring 2008 – Winter 2009 Midterm Presentation.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
ECE 448: Spring 12 Lab 4 – Part 2 Finite State Machines Basys2 FPGA Board.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
General Purpose FIFO on Virtex-6 FPGA ML605 board midterm presentation
Study of AES Encryption/Decription Optimizations Nathan Windels.
RUN-TIME RECONFIGURATION FOR AUTOMATIC HARDWARE/SOFTWARE PARTITIONING Tom Davidson, Karel Bruneel, Dirk Stroobandt Ghent University, Belgium Presenting:
Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf
General Purpose FIFO on Virtex-6 FPGA ML605 board Students: Oleg Korenev Eugene Reznik Supervisor: Rolf Hilgendorf 1 Semester: spring 2012.
Cryptography and Network Security
A Company Selling Technology and not just a Product.
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
PROCStar III Performance Charactarization Instructor : Ina Rivkin Performed by: Idan Steinberg Evgeni Riaboy Semestrial Project Winter 2010.
NIOS II Ethernet Communication Final Presentation
Supervisor: INA RIVKIN Students: Video manipulation algorithm on ZYNQ Part B.
Department of Electrical Engineering Electronics Computers Communications Technion Israel Institute of Technology High Speed Digital Systems Lab. High.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Sub-Nyquist Sampling Algorithm Implementation on Flex Rio
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
A Monte Carlo Simulation Accelerator using FPGA Devices Final Year project : LHW0304 Ng Kin Fung && Ng Kwok Tung Supervisor : Professor LEONG, Heng Wai.
Performed by: Eliran Cohen & Michael Rapoport Instructor: Ina Rivkin המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון.
Hardware Accelerator for Hot-word Recognition Gautam Das Govardan Jonathan Mathews Wasim Shaikh Mojes Koli.
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.
Ethernet Bomber Ethernet Packet Generator for network analysis
Performed by:Elkin Aleksey and Savi Esacov Instructor: Idan Shmuel המעבדה למערכות ספרתיות מהירות High speed digital systems laboratory הטכניון - מכון טכנולוגי.
Performed By: Itamar Niddam and Lior Motorin Instructor: Inna Rivkin Bi-Semesterial. Winter 2012/2013 3/12/2012.
Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
ECE 545 Project 1 Introduction & Specification Part I.
Design with Vivado IP Integrator
Parallel accelerator project Final presentation Summer 2008 Student Vitaly Zakharenko Supervisor Inna Rivkin Duration semester.
Encryption / Decryption on FPGA Midterm Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
CoDeveloper Overview Updated February 19, Introducing CoDeveloper™  Targeting hardware/software programmable platforms  Target platforms feature.
Project characterization Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter semester 2014 Part.
Maj Jeffrey Falkinburg Room 2E46E
Programmable Logic Devices
ENG3050 Embedded Reconfigurable Computing Systems
Using FPGAs with Processors in YOUR Designs
Highly Efficient and Flexible Video Encoder on CPU+FPGA Platform
Implementation of a GNSS Space Receiver on a Zynq
Presentation transcript:

Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A

motivation Now days, there are many portable storage systems with large memories which contains valuable data (such as disk on key, tablets, etc.) Therefore there is a concrete need for portable cryptography systems which are suitable for such devices. In our project, we will aspire to provide a suitable system which will answer this need.

Project Goal main goal: Implementation of data cryptography embedded system using AES algorithm and finding the suitable architecture for portable system.

Project Specifications Implementing on a Zync SoPC by Xilinx. Suitable for portable systems (Disk-on-Key, tablets, etc.) - low power system. Transparent system (while storing/loading files) - The cryptography system won’t create traffic bottle necks. Finding the best architecture – according to the requirements above: Profiling AES algorithm. Finding the balance between using the ARM processor and using the FPGA (the hardware accelerator needs more power).

AES algorithm Advanced Encryption Standard, also known as “Rijndael”, is a block cipher. The cipher is iterative, quick and comfortable to implement both by software and hardware, and it doesn’t have high memory requirements. Most of the AES calculations are made through 10 rounds. In each state the data block is described as a 2D, 4X4 array of bytes. In each round a “Round Key” is created by the key-expansion process. Each round consists of 4 steps: 1.SubBytes 2.ShiftRows 3.MixColumns 4.AddRoundKey

PS UART DDR System Block diagram RS232 PL ZEDBOARD Encrypted data Decrypted data Zynq BRAM

PS UART Out Memory In Memory RS232 PL ZEDBOARD Encrypted data Decrypted data Zynq System Block Diagram BRAM

Zedboard Block Diagram

Tools and development environment PlanAhead- hardware design (VHDL), simulation and synthesis tool. XPS/EDK- configuring the embedded system. SDK - software development kit. Visual Studio ZedBoard - including Zynq SOPC.

PS UART RS232 PL ZEDBOARD Encrypted data Decrypted data Zynq AES in software System Block Diagram project part A Implementation of AES algorithm on ARM and code optimization. DDR BRAM

Software Engineering Each step is implemented as a separate function. Each function is independent of the other functions. The program can encrypt and decrypt the data.

Software Engineering The input data will be entered by the user via PuTTY terminal. The program’s output is the data after encryption and the encrypted data after decryption.

Encryption Process

Development stages XPS/EDK- Configuring the ARM system:  Creation of the ARM processor interface to the RS-232 UART.  Addition of the Bram and Bram Controller IP and connection to the AXI Interconnect.

Development stages PlanAhead  Creation of the Top level entity in VHDL code.  Generation of the Bitstream.  Exporting hardware to SDK.

Development stages SDK -  Generating the software platform project: Creating Board Support package (BSP). Selection of memory – DDR vs. Bram.  Test in Hardware: Downloading the application to the ARM processor. Running and profiling the application.

Profiling Bram vs. DDR Encryption and decryption of 10x16 Bytes ms ms

Software optimization #1 The MixColumns and InvMixColumns functions takes around 65%-70% of the whole process execution time. Improving them will significantly reduce the delay time.

Software optimization #1 We will implement the MixColumns function using LUTs instead of arithmetic commands and if/else statements. Should speed up the calculations.

MixColumns initial implementation

MixColumns improved implementation

2.626 ms ms Profiling Bram vs. DDR With an improved MixColumns implementation

Software optimization #1  Bram : The total execution time decreased from msec to 88 msec. Decreasing in 21%.  DDR : The total execution time decreased from msec to msec. Decreasing in 5%.

Software optimization #2 We will implement the MixColumns and the InvMixColumns functions using LUTs and without using for loops. Should speed up even more the calculations.

MixColumns optimized implementation

InvMixColumns optimized implementation

With an optimized MixColumns and MixColumns implementation ms ms Profiling Bram vs. DDR With an improved MixColumns implementation

Software optimization #2  Bram : The total execution time decreased from msec to msec. Decreasing in 57%.  DDR : The total execution time decreased from msec to msec. Decreasing in 58%.

Hardware optimization The ARM processor clock: At first, we used the default clock rate, which was 160MHz. We will now set the clock rate to 225MHz (the maximum clock rate).

Hardware optimization The ARM processor uses LogiCORE IP AXI Interconnect (v1.06.a) with AXI4 protocol. At first we set the AXI’s clock rate to 160MHz. We will now set the clock rate to be 225MHz.

With higher clock rate (160MHz  225MHz) ms ms Profiling Bram vs. DDR

 Bram : The total execution time decreased from msec to 34.8 msec. Decreasing in 69%.  DDR : The total execution time decreased from msec to 0.82 msec. Decreasing in 70%. Hardware optimization

Optimizations Execution’s time improvement

Optimizations Execution’s speed improvement

Every optimization that we have made has decreased the total time and improved the speed. The most significant improve was attributed by the 2 nd SW optimization. Both DDR and Bram speeds were eventually increased by 3 times and more.

Bram vs. DDR In every optimization : running the application from BRAM was significantly slower then running from DDR. This is due to: – DDR has it own dedicated Bus. – The DDR clock rate is 550 MHZ, when BRAM clock rate is 160 MHZ. – DDR works on both rising and falling edge.

Transmission rate The typical maximum data rate in USB is 1.5 MB/s (The typical rates are around 0.5 MB/s.) The encryption rate we were able to achieve at the end is 323 KB/s  1.5 times slower. Conclusion: An hardware accelerator is needed.

Project Specifications Implementing on a Zync SoPC by Xilinx. Suitable for portable systems (Disk-on-Key, tablets, etc.) - low power system. Finding the best architecture – according to the requirements above:  Profiling AES algorithm.

Demonstration