CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #10 – HW.

Slides:



Advertisements
Similar presentations
TIE Extensions for Cryptographic Acceleration Charles-Henri Gros Alan Keefer Ankur Singla.
Advertisements

1 Lecture 3: Secret Key Cryptography Outline concepts DES IDEA AES.
Digital Kommunikationselektroink TNE027 Lecture 6 (Cryptography) 1 Cryptography Algorithms Symmetric and Asymmetric Cryptography Algorithms Data Stream.
CS 6262 Spring 02 - Lecture #7 (Tuesday, 1/29/2002) Introduction to Cryptography.
Block Ciphers and the Data Encryption Standard
CS457 – Introduction to Information Systems Security Cryptography 1b Elias Athanasopoulos
Information Security Principles & Applications Topic 4: Message Authentication 虞慧群
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
Advanced Encryption Standard
First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown and edited by Archana Chidanandan Cryptographic Tools.
Design of a Reconfigurable Hardware For Efficient Implementation of Secret Key and Public Key Cryptography.
Kemal AkkayaWireless & Network Security 1 Department of Computer Science Southern Illinois University Carbondale CS 591 – Wireless & Network Security Lecture.
CSE331: Introduction to Networks and Security Lecture 18 Fall 2002.
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
Cryptography April 20, 2010 MIS 4600 – MBA © Abdou Illia.
Lecture 13 Message Signing
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
8: Network Security8-1 Symmetric key cryptography symmetric key crypto: Bob and Alice share know same (symmetric) key: K r e.g., key is knowing substitution.
Network Security. Contents Security Requirements and Attacks Confidentiality with Conventional Encryption Message Authentication and Hash Functions Public-Key.
Lecture 4 Cryptographic Tools (cont) modified from slides of Lawrie Brown.
Encryption Methods By: Michael A. Scott
Lecture 3: Cryptographic Tools
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
CN8816: Network Security1 Confidentiality, Integrity & Authentication Confidentiality - Symmetric Key Encryption Data Integrity – MD-5, SHA and HMAC Public/Private.
Final presentation Encryption/Decryption on embedded system Supervisor: Ina Rivkin students: Chen Ponchek Liel Shoshan Winter 2013 Part A.
DNSSEC Cryptography Review Track 2 Workshop July 3, 2010 American Samoa Hervey Allen.
© Neeraj Suri EU-NSF ICT March 2006 DEWSNet Dependable Embedded Wired/Wireless Networks MUET Jamshoro Computer Security: Principles and Practice Slides.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Network Security (A Very Brief Introduction)
A Compact and Efficient FPGA Implementation of DES Algorithm Saqib, N.A et al. In:International Conference on Reconfigurable Computing and FPGAs, Sept.
Network Security. Cryptography Cryptography functions Secret key (e.g., DES) Public key (e.g., RSA) Message digest (e.g., MD5) Security services Privacy:
Chapter 20 Symmetric Encryption and Message Confidentiality.
CSCE 201 Introduction to Information Security Fall 2010 Data Protection.
LOGO Hardware side of Cryptography Anestis Bechtsoudis Patra 2010.
SHA-3 Candidate Evaluation 1. FPGA Benchmarking - Phase Round-2 SHA-3 Candidates implemented by 33 graduate students following the same design.
Network Security Lecture 19 Presented by: Dr. Munam Ali Shah.
Information Security Lab. Dept. of Computer Engineering 182/203 PART I Symmetric Ciphers CHAPTER 7 Confidentiality Using Symmetric Encryption 7.1 Placement.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Module 3 – Cryptography Cryptography basics Ciphers Symmetric Key Algorithms Public Key Algorithms Message Digests Digital Signatures.
Improving Encryption Algorithms Betty Huang Computer Systems Lab
Hashing Algorithms: Basic Concepts and SHA-2 CSCI 5857: Encoding and Encryption.
An Embedded True Random Number Generator for FPGAs Bebek, Jerry Paul Kohlbrenner Lockheed Martin 3201 Jermantown Road Fairfax, VA 22030, USA
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 2 – Cryptographic.
Swankoski MAPLD 2005 / B103 1 Dynamic High-Performance Multi-Mode Architectures for AES Encryption Eric Swankoski Naval Research Lab Vijay Narayanan Penn.
Confidentiality Confidentiality is maintained so long as private keys are secure. Authenticity is possible via public-key encryption by encrypting messages.
Public / Private Keys was a big year… DES: Adopted as an encryption standard by the US government. It was an open standard. The NSA calls it “One.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #4 – FPGA.
Lecture 2: Introduction to Cryptography
Network Security Lecture 18 Presented by: Dr. Munam Ali Shah.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
RTL Design Methodology Transition from Pseudocode & Interface
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #9 – Applications.
Lecture5 – Introduction to Cryptography 3/ Implementation Rice ELEC 528/ COMP 538 Farinaz Koushanfar Spring 2009.
CS426Fall 2010/Lecture 51 Computer Security CS 426 Lecture 5 Cryptography: Cryptographic Hash Function.
Encryption / Decryption on FPGA Final Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
Lecture 3 Overview. Ciphers The intent of cryptography is to provide secrecy to messages and data Substitutions – ‘hide’ letters of plaintext Transposition.
1 Cryptography Troy Latchman Byungchil Kim. 2 Fundamentals We know that the medium we use to transmit data is insecure, e.g. can be sniffed. We know that.
IT 221: Introduction to Information Security Principles Lecture 5: Message Authentications, Hash Functions and Hash/Mac Algorithms For Educational Purposes.
Le Trong Ngoc Security Fundamentals (2) Encryption mechanisms 4/2011.
Encryption / Decryption on FPGA Midterm Presentation Written by: Daniel Farcovich ID Saar Vigodskey ID Advisor: Mony Orbach Summer.
1 CPCS425: Information Security (Topic 5) Topic 5  Symmetrical Cryptography  Understand the principles of modern symmetric (conventional) cryptography.
CprE / ComS 583 Reconfigurable Computing
International Data Encryption Algorithm
Pseudorandom Numbers Network Security.
Presentation transcript:

CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #10 – HW #2 / Projects Discussion

Lect-10.2CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Recap – Introduction to Cryptography Encryption is the process of encoding a message such that its meaning is not obvious Decryption is the reverse process, i.e., transforming an encrypted message to its original form We denote plaintext by P and ciphertext by C C = E(P), P = D(C) and P = D(E(P)), where E() is the encryption function (algorithm) and D() the decryption function EncryptionDecryption Plaintext Ciphertext

Lect-10.3CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Signing With Message Digests A message digest (or hash) function is a one-way function which produces a fixed length vector of an input block x of arbitrary length A fixed length “fingerprint” of a message Instead of signing message, sign the message digest m HE || Private Key H Compare D Public Key E(H(m)) m

Lect-10.4CprE 583 – Reconfigurable ComputingSeptember 20, Gbps SHA-512 Implementation Partial unrolling (5 rounds), pipelining 1 Gbps on Virtex-E FPGAs See [LieGre04A] for details

Lect-10.5CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Application – Private-Key Crypto The Advanced Encryption Standard (AES) is becoming the block cipher of choice for private-key cryptography Implementing AES on FPGA hardware has been looked at in some depth: Approximately 50 unique research implementations! Various commercial cores (Actel, Helion Tech, Amphion, etc.) Approach taken – an exploration of the decisions that lead to area/delay tradeoffs in an AES FPGA implementation End result – pareto optimal designs in terms of throughput, latency, and area efficiency

Lect-10.6CprE 583 – Reconfigurable ComputingSeptember 20, 2007 AES-128E Algorithm 128-bit plaintext 128-bit key Round Transformation round++ round = 10? SubBytes ShiftRows AddRoundKey 128-bit ciphertext Yes No KeyExpansion MixColumns

Lect-10.7CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Input plaintext R1R1 Output Ciphertext R2R2 R3R3 R4R4 R5R5 R6R6 R7R7 R8R8 R9R9 R 10 Results: UF10-PP3D SubBytesShiftRowsMixColumns KeyExpansion AddRoundKey

Lect-10.8CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Application – Random Number Generation Cryptographic applications often require good sources of random numbers: Key generation Initialization vectors Types of random number generators: Pseudo-Random Number Generators (PRNG) – appear to be random, initialized with an externally generated sequence (deterministic) Cryptographically Secure PRNGs (CSPRNG) – a PRNG where prediction of the next input bit given a previously- generated sequence is computationally intractable True Random Number Generators (TRNG) – output is based on some underlying physical random process

Lect-10.9CprE 583 – Reconfigurable ComputingSeptember 20, 2007 The Method [KohGaj04A] Make use of the clock jitter in a circuit: Variation of the significant instants of the clock Nondeterministic, may have many sources: Semiconductor noise Crosstalk Power supply variations Electro-magnetic fields

Lect-10.10CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Overall Design

Lect-10.11CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Ring Oscillators Uses Propagation Delay – 130 MHz

Lect-10.12CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Sampler Circuit One of the clock signals is used to sample the other signal

Lect-10.13CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Sampler Output Clock Skew (jitter) in between two clock signals is used (e.g. sampled) to generate a totally random bit The output clock skew: Will never be uniform Is not simple out-out-phase behavior

Lect-10.14CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Good Speed Ratios Ring oscillators with closely matched frequencies require that a desired speed ratio must be achieved What factors affect this achievement? Variation in CLB speed 7% difference between the slowest CLB and the fastest one Sensitive to temperature and difficult for measurement Variation in the frequency of an oscillator with the chip temperature Close placement To use a large number of oscillators

Lect-10.15CprE 583 – Reconfigurable ComputingSeptember 20, 2007 CLB Speed / Temperature Variation

Lect-10.16CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Summary FPGA platforms are a popular choice for implementing cryptographic applications High throughputs Relatively low design cost Algorithmic agility / upload Many other algorithms have been implemented that we haven’t discussed today: Public-key cryptography (e.g. RSA, ECC) Private-key cryptography (e.g. DES, 3DES) Cryptographic hash functions (e.g. MD5, RIPEMD) Security issues as they pertain to using FPGAs have not been fully addressed

Lect-10.17CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Project Proposals Due Sunday, 9/30 at midnight Purpose – to provide a background and overview of the project Goal – allow me to understand what you are intending to do Project topic: Perform an in-depth exploration of some area of reconfigurable computing Whatever topic you choose, you must include a strong experimental element in your project Work in groups of 2+ (3 if very lofty proposal)

Lect-10.18CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Some Suggested Topics Design and implementation of X Pick any application or application domain Identify whatever objectives need to optimized (power, performance, area, etc.) Design and implement X targeting an FPGA Compare to microprocessor-based implementation Network processing Explore the use of an FPGA as a network processor that can support flexibility in protocol through reconfiguration Flexibility could be with respect to optimization Could provide additional processing to packets/connections Implement a full-fledged FPGA-based embedded system From block diagram to physical hardware Examples: Image/video processor Digital picture frame Digital clock (w/video) Sound effects processor Any old-school video game Voice-over-IP

Lect-10.19CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Suggested Project Topics (cont.) Prototype some microarchitectural concept using FPGA See proceedings of MICRO/ISCA/HPCA/ASPLOS from last 5 years Survey some recurring topic Compare results from simulation (Simplescalar) to FPGA prototype results Evaluation of various FPGA automation tools and methodologies Survey 3-4 different available FPGA design tools Pick a representative (pre-existing) benchmark set, see how they fare…how well do they work? Analyze output designs to determine basic differences in algorithms and methodology Anything else that interests you!

Lect-10.20CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Previous Year’s Topics Fall 2006 projects: “FPGA Implementation of Frequency-Domain Audio Filter Bank” (2 students) “Transparent FPGA-Based Network Analyzer” (2 students) “FPGA-Based Library Design for Linear Algebra Applications” (2 students) “An Improved Approach of Configuration Compression for FPGA-based Embedded Systems” (2 students) “Analysis of Sobel Edge Detection Implementations” (1 student) “Artificial Neural Networks on Dynamically Reconfigurable FPGAs” (3 students) Papers and presentations for these are available upon request We can do better!

Lect-10.21CprE 583 – Reconfigurable ComputingSeptember 20, 2007 Proposal Structure Suggested structure [3-4 pages, IEEE conf. format] Introduction – what is the context for this work? What problem are you trying to address? Why is it interesting/challenging? Prior work – what is the related work? How does your work differ from these? (5-10 references) Approach – how are you going to tackle the problem? What tools and methodologies do you intend on using? What experiments do you intend on running? Expected results – what do you expect the outcome of your project to be? What are the deliverables? How do you intend on presenting your results? Milestones – what is your expected progress schedule? Provide a weekly / bi-weekly basis