Gaj1P230/MAPLD 2004 Elliptic Curve Cryptography over GF(2 m ) on a Reconfigurable Computer: Polynomial Basis vs. Optimal Normal Basis Representation Comparative.

Slides:



Advertisements
Similar presentations
14. Aug Towards Practical Lattice-Based Public-Key Encryption on Reconfigurable Hardware SAC 2013, Burnaby, Canada Thomas Pöppelmann and Tim Güneysu.
Advertisements

Are standards compliant Elliptic Curve Cryptosystems feasible on RFID?
CryptoBlaze: 8-Bit Security Microcontroller. Quick Start Training Agenda What is CryptoBlaze? KryptoKit GF(2 m ) Multiplier Customize CryptoBlaze Attacks.
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.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
 Alexandra Constantin  James Cook  Anindya De Computer Science, UC Berkeley.
Scott CH Huang COM5336 Cryptography Lecture 14 XTR Cryptosystem Scott CH Huang COM 5336 Cryptography Lecture 10.
Advanced Information Security 4 Field Arithmetic
Zheming CSCE715.  A wireless sensor network (WSN) ◦ Spatially distributed sensors to monitor physical or environmental conditions, and to cooperatively.
1 Efficient Algorithms for Elliptic Curve Cryptosystems Original article by Jorge Guajardo and Christof Paar Of WPI ECE Department Presentation by Curtis.
Elliptic Curve Cryptography Shane Almeida Saqib Awan Dan Palacio.
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
Design of a Reconfigurable Hardware For Efficient Implementation of Secret Key and Public Key Cryptography.
Summary of – “TinyECC: A Configurable Library for Elliptic Curve Cryptography in Wireless Sensor Networks” Presented by: Maulin Patel Nov/17/09 CSE291.
A Dual Field Elliptic Curve Cryptographic Processor Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing Hua University.
Dr. Lo’ai Tawalbeh Fall 2005 Chapter 10 – Key Management; Other Public Key Cryptosystems Dr. Lo’ai Tawalbeh Computer Engineering Department Jordan University.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
CHES20021 Scalable and Unified Hardware to Compute Montgomery Inverse in GF(p) and GF(2 n ) A. Gutub, A. Tenca, E. Savas, and C. Koc Information Security.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
1 An Elliptic Curve Processor Suitable for RFID-Tags L. Batina 1, J. Guajardo 2, T. Kerins 2, N. Mentens 1, P. Tuyls 2 and I. Verbauwhede 1 Katholieke.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
-Anusha Uppaluri.  ECC- A set of algorithms for key generation, encryption and decryption (public key encryption technique)  ECC was introduced by Victor.
Workshop on Cryptographic Hardware and Embedded Systems (CHES 2006) 13/10/2006 1/26 Superscalar Coprocessor for High-speed Curve-based Cryptography K.
Experimental Performance Evaluation For Reconfigurable Computer Systems: The GRAM Benchmarks Chitalwala. E., El-Ghazawi. T., Gaj. K., The George Washington.
Performance and Overhead in a Hybrid Reconfigurable Computer O. D. Fidanci 1, D. Poznanovic 2, K. Gaj 3, T. El-Ghazawi 1, N. Alexandridis 1 1 George Washington.
RICE UNIVERSITY Implementing the Viterbi algorithm on programmable processors Sridhar Rajagopal Elec 696
Allen Michalski CSE Department – Reconfigurable Computing Lab University of South Carolina Microprocessors with FPGAs: Implementation and Workload Partitioning.
CS 627 Elliptic Curves and Cryptography Paper by: Aleksandar Jurisic, Alfred J. Menezes Published: January 1998 Presented by: Sagar Chivate.
Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security Dr. Johannes Wolkerstorfer IAIK – Graz University of Technology.
1 of 23 Fouts MAPLD 2005/C117 Synthesis of False Target Radar Images Using a Reconfigurable Computer Dr. Douglas J. Fouts LT Kendrick R. Macklin Daniel.
Parallel Computing Using FPGA ( Field Programmable Gate Arrays ) 15 th May, 2009 Studies in Parallel & Distributed Systems – Sohaib Ahmed.
Automated Design of Custom Architecture Tulika Mitra
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
LOGO Hardware side of Cryptography Anestis Bechtsoudis Patra 2010.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
ECE 545 – Introduction to VHDL ECE 645—Project 2 Project Options.
Efficient Implementation of a String Matching Algorithm for SRC and Cray Reconfigurable Computers Esam El-Araby 1, Mohamed Taher 1, Tarek El-Ghazawi 1,
Hyperelliptic Curve Coprocessors On a FPGA HoWon Kim ETRI, Korea.
ECE 449: Computer Design Lab Coordinator: Kris Gaj TAs: Tuesday session: Pawel Chodowiec Thursday session: Nghi Nguyen.
A Low-Power Design for an Elliptic Curve Digital Signature Chip Rich Schroeppel, Tim Draelos, Russell Miller, Rita Gonzales, Cheryl Beaver
BCRYPT ECC-Day 2008 Requirements, Algorithms, Architectures The design space of ECC hardware.
Ch. 2 Data Manipulation 4 The central processing unit. 4 The stored-program concept. 4 Program execution. 4 Other architectures. 4 Arithmetic/logic instructions.
Algorithm and Programming Considerations for Embedded Reconfigurable Computers Russell Duren, Associate Professor Engineering And Computer Science Baylor.
Understanding Cryptography by Christof Paar and Jan Pelzl These slides were prepared by Tim Güneysu, Christof Paar and Jan Pelzl.
M. Mateen Yaqoob The University of Lahore Spring 2014.
ECEG-3202 Computer Architecture and Organization Chapter 7 Reduced Instruction Set Computers.
Wavelet Spectral Dimension Reduction of Hyperspectral Imagery on a Reconfigurable Computer Tarek El-Ghazawi1, Esam El-Araby1, Abhishek Agarwal1, Jacqueline.
Cryptographic coprocessor
J. Harkins1 of 51MAPLD2005/C178 Sorting on the SRC 6 Reconfigurable Computer John Harkins, Tarek El-Ghazawi, Esam El-Araby, Miaoqing Huang The George Washington.
Gaj1MAPLD 2005/1016 Development and Maintenance of User Libraries for SRC Reconfigurable Computers Kris Gaj 1, Tarek El-Ghazawi 2, Paul Gage 3, Dan Poznanovic.
An automated pipeline balancing in the SRC Reconfigurable Computer and its application to the RC5 cipher breaking Hatim Diab 1, Miaoqing Huang 1, Kris.
A Reconfigurable System on Chip Implementation for Elliptic Curve Cryptography over GF(2 n ) Michael Jung 1, M. Ernst 1, F. Madlener 1, S. Huss 1, R. Blümel.
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
An Optimized Hardware Architecture for the Montgomery Multiplication Algorithm Miaoqing Huang 1, Kris Gaj 2, Soonhak Kwon 3, Tarek El-Ghazawi 1 1 The George.
RSA Data Security, Inc. PKCS #13: Elliptic Curve Cryptography Standard Burt Kaliski RSA Laboratories PKCS Workshop October 7, 1998.
Efficient Montgomery Modular Multiplication Algorithm Using Complement and Partition Techniques Speaker: Te-Jen Chang.
Motivation Basis of modern cryptosystems
Supported in part by NIST/U.S. Department of Commerce
Chapter 9 – Elliptic Curve Cryptography ver. November 3rd, 2009
D. Cheung – IQC/UWaterloo, Canada D. K. Pradhan – UBristol, UK
Dynamo: A Runtime Codesign Environment
CS161 – Design and Architecture of Computer Systems
Architecture & Organization 1
Elliptic Curve Cryptography over GF(2m) on a Reconfigurable Computer:
Implementation of IDEA on a Reconfigurable Computer
Architecture & Organization 1
Matlab as a Development Environment for FPGA Design
Presentation transcript:

Gaj1P230/MAPLD 2004 Elliptic Curve Cryptography over GF(2 m ) on a Reconfigurable Computer: Polynomial Basis vs. Optimal Normal Basis Representation Comparative Study Kris Gaj, Sashisu Bajracharya, Nghi Nguyen, Deapesh Misra Tarek El-Ghazawi The George Washington University George Mason University

Gaj2P230/MAPLD 2004 Interface  P memory  P memory... PP PP I/O Interface FPGA memory FPGA memory... FPGA... I/O Microprocessor system Reconfigurable processor system What is a reconfigurable computer?

P230/MAPLD 2004 Why cryptography is a good application for reconfigurable computers? computationally intensive arithmetic operations unconventionally long operand sizes ( bits) multiple algorithms, parameters, key sizes, and architectures = need for reconfiguration

Gaj4P230/MAPLD 2004 SRC Hardware & Software

Gaj5P230/MAPLD 2004 SRC-6E from SRC Computers, Inc.

Gaj6P230/MAPLD 2004 SRC Hardware Architecture

Gaj7P230/MAPLD 2004 SRC Programming HLL (C) HDL (VHDL) SRC  P system FPGA system Application Programmer Library Developer

Gaj8P230/MAPLD 2004 SRC Compilation Process

Gaj9P230/MAPLD 2004 Elliptic Curve Cryptosystems

Gaj10P230/MAPLD 2004 Elliptic Curve Cryptosystems public key (asymmetric) cryptosystems first true alternative for RSA several times shorter keys fast and compact implementations, in particular in hardware a family of cryptosystems, instead of a single cryptosystem

Gaj11P230/MAPLD 2004 Three Classes of Elliptic Curves Elliptic curves built over K = GF(p) K = GF(2 m ) Polynomial basis representation Normal basis representation Fast in hardware Arithmetic operations present in many libraries Compact in hardware m= Secure m Our m m=233

Gaj12P230/MAPLD 2004 Basic operations of ECC Basic operations in Galois Field GF(2 m ) Basic operations on points of an Elliptic Curve addition and subtraction (xor): x+y, x-y (XOR) addition of points: P + Q doubling a point: 2 P projective to affine coordinate: P2A multiplication, squaring: x  y, x 2 inversion: x -1 Complex operations on points of an Elliptic Curve scalar multiplication: k  P = P + P + …+P k times

Gaj13P230/MAPLD 2004 ECC hierarchy of functions kP P+Q2P projective_to_affine (P2A) MUL INV High level Medium level Low level 2 SQR XOR Low level 1 independent of the GF representation specific to the given GF representation

Gaj14P230/MAPLD 2004 Investigated Partitioning Schemes

Gaj15P230/MAPLD 2004 C function for  P C function for MAP VHDL macro SRC Program Partitioning  P system FPGA system HLL HDL

Gaj16P230/MAPLD 2004 kP C function for  P C function for MAP VHDL macro H 0 0 H00 Partitioning (μP Software Only) specific to the given GF representation

Gaj17P230/MAPLD 2004 kP 0 0 H 00H Partitioning (VHDL only) C function for  P C function for MAP VHDL macro specific to the given GF representation

Gaj18P230/MAPLD 2004 MUL4 C function for MAP VHDL macros ROTSQRXOR C function forµP 0 H L1 V_ ROT POW kP INV P2A P+Q2P kP INV P2A P+Q 2P MUL2 MUL 0HL1 Partitioning independent of the GF representation specific to the given GF representation

Gaj19P230/MAPLD 2004 MUL P+Q2P INV P2A kP MUL MUL4 MUL2 MUL POW FPGA Contents (0HL1)

Gaj20P230/MAPLD 2004 MUL4 C function for MAP VHDL macros ROTSQRXOR C function forµP 0 H L2 INV kP P2A P+Q2P kP P2AP+Q 2P MUL2 0HL2 Partitioning independent of the GF representation specific to the given GF representation

Gaj21P230/MAPLD HM Partitioning C function for MAP VHDL macros C function forµP 0 H M P+Q 2P P2A kP independent of the GF representation specific to the given GF representation

Gaj22P230/MAPLD 2004 Results

Gaj23P230/MAPLD 2004 Timing Measurements MAP Alloc. MAP Free DMA DataOut DMA Data In FPGA Computation.c file.mc file End-to-End time (SW) MAP function MAP function FPGA Configure Configuration time MAP Allocation time MAP Release Time End-to-End time (HW)

Gaj24P230/MAPLD 2004 Results for Optimal Normal Basis (Latency)

Gaj25P230/MAPLD 2004 Results for Polynomial Basis (Latency)

Gaj26P230/MAPLD 2004 Results for Optimal Normal Basis (Area)

Gaj27P230/MAPLD 2004 Results for the Polynomial Basis (Area)

Gaj28P230/MAPLD 2004 Algorithm Partitioning Scheme VHDL PB VHDL ONB Macro Wrapper MAP CMain C 0HL1N/A HL HMN/A HN/A Number of lines of code

Gaj29P230/MAPLD 2004 Conclusions Assuming focus on: Timing Resources Ease of programming

Gaj30P230/MAPLD 2004 Best implementation approaches Large speedup vs. software Ease of implementation Flexibility Optimal Normal Basis OHL1 scheme Polynomial Basis OHL2 scheme

Gaj31P230/MAPLD 2004 Conclusions Elliptic Curve Cryptosystem implementation challenging for reconfigurable computers because of optimization for latency rather than throughput limited amount of parallelism Absolute latency and resource utilization similar for Optimal Normal Basis and Polynomial Basis Number of lines of VHDL code smaller for the polynomial basis representation

Gaj32P230/MAPLD 2004 Conclusions – cont. because of polynomial basis operations more efficient in software 27 x greater for Optimal Normal Basis compared to Polynomial Basis Representation From 893 to 1305 times for Optimal Normal Basis From 33 times for Polynomial Basis Speed-up over Intel P3 microprocessor implementation