Study of AES Encryption/Decription Optimizations Nathan Windels.

Slides:



Advertisements
Similar presentations
AES Side Channel Attacks
Advertisements

DSPs Vs General Purpose Microprocessors
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
1 Advanced Computer Architecture Limits to ILP Lecture 3.
Pipeline Computer Organization II 1 Hazards Situations that prevent starting the next instruction in the next cycle Structural hazards – A required resource.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Programmable Logic Devices
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
From Sequences of Dependent Instructions to Functions An Approach for Improving Performance without ILP or Speculation Ben Rudzyn.
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
Advanced Encryption Standard
Advanced Encryption Standard For Smart Card Security Aiyappan Natarajan David Jasinski Kesava R.Talupuru Lilian Atieno Advisor: Prof. Wayne Burleson.
Cryptography and Network Security
This Lecture: AES Key Expansion Equivalent Inverse Cipher Rijndael performance summary.
AES clear a replacement for DES was needed
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
1 COMP541 Sequencing – III (Sequencing a Computer) Montek Singh April 9, 2007.
Cryptography and Network Security (AES) Dr. Monther Aldwairi New York Institute of Technology- Amman Campus 10/18/2009 INCS 741: Cryptography 10/18/20091Dr.
Microprocessors Introduction to ia64 Architecture Jan 31st, 2002 General Principles.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
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.
Getting the O in I/O to work on a typical microcontroller Activating a FLASH memory “output line” Part 1 Main part of Laboratory 1 Also needed for “voice.
Dr. Lo’ai Tawalbeh 2007 Chapter 5: Advanced Encryption Standard (AES) Dr. Lo’ai Tawalbeh New York Institute of Technology (NYIT) Jordan’s Campus.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
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:
1/1/ / faculty of Electrical Engineering eindhoven university of technology Input/Output devices Part 3: Programmable I/O and DSP's dr.ir. A.C. Verschueren.
Cryptography and Network Security
Chapter 5 –Advanced Encryption Standard "It seems very simple." "It is very simple. But if you don't know what the key is it's virtually indecipherable."
A Compact and Efficient FPGA Implementation of DES Algorithm Saqib, N.A et al. In:International Conference on Reconfigurable Computing and FPGAs, Sept.
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
Advance Encryption Standard. Topics  Origin of AES  Basic AES  Inside Algorithm  Final Notes.
Automated Design of Custom Architecture Tulika Mitra
 Team Members & Responsibilities › Adam Jackson  Primary hardware AES implementation  Coprocessor Interfacing › Daniel Risse (project “leader”)  Linux.
SHA-3 Candidate Evaluation 1. FPGA Benchmarking - Phase Round-2 SHA-3 Candidates implemented by 33 graduate students following the same design.
Swankoski MAPLD 2005 / B103 1 Dynamic High-Performance Multi-Mode Architectures for AES Encryption Eric Swankoski Naval Research Lab Vijay Narayanan Penn.
AES Advanced Encryption Standard. Requirements for AES AES had to be a private key algorithm. It had to use a shared secret key. It had to support the.
 Cryptography is the science of using mathematics to encrypt and decrypt data.  Cryptography enables you to store sensitive.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
EE3A1 Computer Hardware and Digital Design
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Advanced Encryption Standard. Origins NIST issued a new version of DES in 1999 (FIPS PUB 46-3) DES should only be used in legacy systems 3DES will be.
Jason Li Jeremy Fowers 1. Speedups and Energy Reductions From Mapping DSP Applications on an Embedded Reconfigurable System Michalis D. Galanis, Gregory.
Fifth Edition by William Stallings
Advanced Encryption Standard Dr. Shengli Liu Tel: (O) Cryptography and Information Security Lab. Dept. of Computer.
ALU (Continued) Computer Architecture (Fall 2006).
ICC Module 3 Lesson 1 – Computer Architecture 1 / 12 © 2015 Ph. Janson Information, Computing & Communication Computer Architecture Clip 6 – Logic parallelism.
FPGA Implementation of RC6 including key schedule Hunar Qadir Fouad Ramia.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
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.
Pipelined and Parallel Computing Partition for 1 Hongtao Du AICIP Research Dec 1, 2005 Part 2.
Lecture5 – Introduction to Cryptography 3/ Implementation Rice ELEC 528/ COMP 538 Farinaz Koushanfar Spring 2009.
2/19/2016http://csg.csail.mit.edu/6.375L11-01 FPGAs K. Elliott Fleming Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology.
Review of “Register Binding for FPGAs with Embedded Memory” by Hassan Al Atat and Iyad Ouaiss Lisa Steffen CprE 583.
ICC Module 3 Lesson 1 – Computer Architecture 1 / 11 © 2015 Ph. Janson Information, Computing & Communication Module 3 : Systems.
The Advanced Encryption Standard Part 1: Overview
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
Encryption / Decryption on FPGA Midterm Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
Resource Sharing in LegUp. Resource Sharing in High Level Synthesis Resource Sharing is a well-known technique in HLS to reduce circuit area by sharing.
STUDY AND IMPLEMENTATION
Dynamic High-Performance Multi-Mode Architectures for AES Encryption
Alireza Hodjat IVGroup
Presentation transcript:

Study of AES Encryption/Decription Optimizations Nathan Windels

Outline  Introduction  AES Algorithm  Areas of Optimization  Progress/Conclusion

Introduction

Three major implementation methods:  Software  -Typically, this method is much slower than hardware implementations.  FPGA  -Implemented as a hardware module directly to pins.  -Peripheral to a soft-core processor (communicates via on-chip bus).  -Tightly-coupled hardware implemented as an extended instruction set.  Custom Hardware (ASIC)

Introduction (2)  High throughput implementations are mainly used for high-end devices such as accelerator cards for e-commercial service and security trunk communications.  These types of implementations are typically unrolled loops within the AES algorithm with a pipelining of the 128-bit datapath.  Although they typically have a very high throughput, their area is very large.

Introduction (3)  The 32-bit AES implementations mainly multiplex the 128-bit datapath to 32 bits  This reduces circuit area at the expense of lowering speed.  This type of implementation is actually ideal for embedded applications.  My goal is to provide synthesis results for the different implementations as well as simulation/implemented results if time permits.

The AES Algorithm

AES Algorithm: Top Level Encryptor Encryption Key Data Cypher Data

AES Algorithm: Input StateCypher Key 2B28AB09 7EAEF7CF 15D2154F 16A6883C E0 435A3137 F A88DA234 to Encryption Processto Key Schedule

AES Algorithm: Data Path From Key Schedule

AES Algorithm: Data Path – SubBytes

AES Algorithm: Data Path – ShiftRows 1 2 3

AES Algorithm: Data Path – MixColumns X =

AES Algorithm: Data Path – Add Key DataRound Key

AES Algorithm: Key Schedule  Without going into too much detail, the Key is generated in a ‘similar’ way.  In each Round a new Round Key is generated from the previous key.  This key is added to the dataset at the end of the round.

Areas of Optimization

Physical Layout - Starting Point

Optimization: Key Expansion  Pre-calculated in software and then stored in hardware (loaded when needed)  Low area  Hardware has to wait if new key is introduced (not good for continually changing key)  Calculated in parallel with the corresponding iteration  This allows for a changing key to be calculated on the fly  Extra hardware/area cost (not good for (embedded) fixed key applications)  Calculated in hardware ahead of time and stored  High hardware cost – introduces latency when a new key is introduced  The circuit can be ‘turned off’ in ASIC solution

Optimization: Shift Row  16x8 memory with shifting ability  2 shift registers  Rearrangement of wires (requires no extra area, but may cause congestion in the wiring)

Optimization: Substitute Byte  LUT  Easy to implement and understand. Would be a good idea to use the on chip ROM rather than LE’s (depending on application).  Uses lots of resources  Combinational logic  No need for memories (XOR circuit could be good in FPGA as we’ve seen earlier in this class)  Slow due to complex circuit.

Optimization: Mix Columns  Multiplication and XOR done in combinational logic  Easy to implement  Could be slow and cover a large area  Combine the MixCols multiplication with the sbox and leave XOR in the LE’s  Uses very few LE’s. Removes multiplication from the equation.  Quadrupals the size of the necessary ROM - could be a drawback

Conclusion: So Far....  Studied Papers that address several of the optimizations listed above  Decided on an approach to modify and test existing code  Begun modifications on the code that I’ve decided to use as a starting point ...don’t quite have synthesis results yet...

Papers “Embedded a Low Area 32-bit AES for Image Encryption/ Decryption Application” “Exploring HW/SW Co-Design of AES Algorithm Using Custom Instructions” “Improved Method to Increase AES System Speed” “An AES Tightly Coupled Hardware Accelerator in an FPGA-based Embedded Processor Core” “DSP’s, BRAM’s and Pinch of Logic: New Recipes for AES on FPGA’s”