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.

Slides:



Advertisements
Similar presentations
Developing an AVR Microcontroller System
Advertisements

1 A New Multiplication Technique for GF(2 m ) with Cryptographic Significance Athar Mahboob and Nassar Ikram National University of Sciences & Technology,
Enhanced matrix multiplication algorithm for FPGA Tamás Herendi, S. Roland Major UDT2012.
Thapliyal 1MAPLD 2005/1011 A High Speed and Efficient Method of Elliptic Curve Encryption Using Ancient Indian Vedic Mathematics Himanshu Thapliyal and.
Are standards compliant Elliptic Curve Cryptosystems feasible on RFID?
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
ECE 734: Project Presentation Pankhuri May 8, 2013 Pankhuri May 8, point FFT Algorithm for OFDM Applications using 8-point DFT processor (radix-8)
Fast Modular Reduction
On Karatsuba Multiplication Algorithm
 Alexandra Constantin  James Cook  Anindya De Computer Science, UC Berkeley.
Implementing Cryptographic Pairings on Smartcards Mike Scott.
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.
Introduction to Reconfigurable Computing CS61c sp06 Lecture (5/5/06) Hayden So.
1 Efficient Algorithms for Elliptic Curve Cryptosystems Original article by Jorge Guajardo and Christof Paar Of WPI ECE Department Presentation by Curtis.
A Dual Field Elliptic Curve Cryptographic Processor Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing Hua University.
Configurable System-on-Chip: Xilinx EDK
Programmable logic and FPGA
The Design of Improved Dynamic AES and Hardware Implementation Using FPGA 游精允.
XC6200 Family FPGAs By: Ahmad Alsolaim Alsolaim.
Multipliers CPSC 321 Computer Architecture Andreas Klappenecker.
IHP Im Technologiepark Frankfurt (Oder) Germany IHP Im Technologiepark Frankfurt (Oder) Germany ©
Introduction to FPGA and DSPs Joe College, Chris Doyle, Ann Marie Rynning.
Field Programmable Gate Array (FPGA) Layout An FPGA consists of a large array of Configurable Logic Blocks (CLBs) - typically 1,000 to 8,000 CLBs per chip.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
ATMEL AVR 8 bit RISC MICROCONTROLLERS
MCU – Microcontroller Unit – 1 MCU  1 cip or VLSI core – application-specific.
INTRODUCTION TO MICROCONTROLLER. What is a Microcontroller A microcontroller is a complete microprocessor system, consisting of microprocessor, limited.
AVR Microcontrollers.
AT94 Training 2001Slide 1 Configurable SRAM 8 Bit RISC MCU AT40K FPGA Monolithic SRAM Based FPSLIC 20 MIPS* - 8bit RISC MCU Up to 36K bytes of SRAM From.
Motivation Mobile embedded systems are present in: –Cell phones –PDA’s –MP3 players –GPS units.
CPSC 3730 Cryptography and Network Security
Institute for Applied Information Processing and Communications (IAIK) – VLSI & Security Dr. Johannes Wolkerstorfer IAIK – Graz University of Technology.
Implementation of Finite Field Inversion
FPT 2006 Bangkok A Novel Memory Architecture for Elliptic Curve Cryptography with Parallel Modular Multipliers Ralf Laue, Sorin A. Huss Integrated Circuits.
Gaj1P230/MAPLD 2004 Elliptic Curve Cryptography over GF(2 m ) on a Reconfigurable Computer: Polynomial Basis vs. Optimal Normal Basis Representation Comparative.
1 Fly – A Modifiable Hardware Compiler C. H. Ho 1, P.H.W. Leong 1, K.H. Tsoi 1, R. Ludewig 2, P. Zipf 2, A.G. Oritz 2 and M. Glesner 2 1 Department of.
A Low-Power Design for an Elliptic Curve Digital Signature Chip Rich Schroeppel, Tim Draelos, Russell Miller, Rita Gonzales, Cheryl Beaver
designKilla: The 32-bit pipelined processor Brought to you by: Victoria Farthing Dat Huynh Jerry Felker Tony Chen Supervisor: Young Cho.
BCRYPT ECC-Day 2008 Requirements, Algorithms, Architectures The design space of ECC hardware.
VLSI Algorithmic Design Automation Lab. 1 Integration of High-Performance ASICs into Reconfigurable Systems Providing Additional Multimedia Functionality.
More Digital circuits. Ripple Counter The most common counter The problem is that, because more than one output is changing at once, the signal is glichy.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
ATMEL AVR 8 bit RISC MICROCONTROLLERS a general comparison.
EE3A1 Computer Hardware and Digital Design
Cryptographic coprocessor
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Lecture 7: Overview Microprocessors / microcontrollers.
1 How to Multiply Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. integers, matrices, and polynomials.
1 Kadlec MAPLD05/P148 Reconfigurable Floating Point Co-Processor for Atmel FPSLIC Jiri Kadlec Institute of Information Theory and Automation (UTIA), Academy.
1 Neutron Monitor Workshop 2(B): Neutron Monitor Digital Electronics Mahidol University June 26, 2009 Paul Evenson University of Delaware Cosray at McMurdo.
Hardware Implementations of Finite Field Primitives
AVR Architecture Prepared By: Avdhesh Soni ( ) Sarthak Patel ( ) Akshay Parekh ( ) Fenil Sachla ( ) Guided.
CECS 347 Microprocessors and Controllers II Chapter 1 - An Overview of Computing Systems Instructor: Eric Hernandez.
Do Now: Simplify and write in standard form x 2 - x 2 + 4x – 1 -6x 2. 2 – 7x – x 3.
Popular Microcontrollers and their Selection by Lachit Dutta
Government Engg College Bhuj E. C. Engg. Department
ATMEL AVR 8 bit RISC MICROCONTROLLERS
Sorin A. Huss - Technische Universität Darmstadt
D. Cheung – IQC/UWaterloo, Canada D. K. Pradhan – UBristol, UK
Instructor: Dr. Phillip Jones
AVR Microcontrollers Prepared By: Disha Ruparelia ( )
An example of multiplying two numbers A = A * B;
میکرو کنترلر های AVR مدرس: مسعود بهمن پور
Elliptic Curve Cryptography over GF(2m) on a Reconfigurable Computer:
Lecture 3 - Instruction Set - Al
ریز پردازنده. ریز پردازنده مراجع درس میکروکنترلرهای AVR برنامه نویسی اسمبلی و C محمدعلی مزیدی، سپهر نعیمی و سرمد نعیمی مرجع کامل میکروکنترلرهای AVR.
Lecture 41: Introduction to Reconfigurable Computing
Warm Ups: Give the degree, standard form, and leading coefficient (if possible): 1) 3x3 – 5x4 – 10x + 1 2) 9x – 8 + x2 Factor completely: 3) 4x2.
Programmable logic and FPGA
Presentation transcript:

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 2 1 Integrated Circuits and Systems Lab Computer Science Department Darmstadt University of Technology Germany 2 cv cryptovision GmbH Gelsenkirchen Germany

ECC over GF(2 n ) GF(2 n ) operations implemented in HWGF(2 n ) operations implemented in HW –Square, Multiply, Add –Inversion with Fermat‘s little Theorem –Polynomial Base –Multiplier based on a novel, generalized version of the Karatsuba Ofman Algorithm 1 EC level algorithms implemented in SWEC level algorithms implemented in SW –2P Algorithm 2 for EC point multiplication –Projective Point Coordinates Algorithmic flexibility combined with performanceAlgorithmic flexibility combined with performance [1] Karatsuba and Ofman, Multiplication of multidigit numbers on automata, 1963 [2] Lopez/Dahab, Fast multiplication on elliptic curves over GF(2m) without precomputations, 1999

Atmel FPSLIC 8-Bit RISC Microcontroller MHz Reconfigurable System on Chip

Atmel FPSLIC 8-Bit RISC Microcontroller FPGA 40k Gate Equivalents Distributed FreeRAM TM Cells Reconfigurable System on Chip

Atmel FPSLIC 8-Bit RISC Microcontroller 36 kByte RAM FPGA Dual Ported Simultaneously accessible by MCU and FPGA Reconfigurable System on Chip

Atmel FPSLIC 8-Bit RISC Microcontroller 36 kByte RAM FPGA Peripherals UARTs Timers etc. Reconfigurable System on Chip

Atmel FPSLIC 8-Bit RISC Microcontroller 36 kByte RAM FPGA Peripherals Reconfigurable System on Chip Low cost, low complexity device

Polynomial Karatsuba Multiplication A*B with

Multi-Segment Karatsuba (MSK) with, and Generalization of the Karatsuba Multiplication Algorithm Polynomials are split into an arbitrary number of segments

A*B MSK k for k=3 with

Reordering of Partial Products A*B )Pattern Grouping 2)Reorder pattern by decreasing x n 3)Minimize differences in the set of indices of adjacent pattern

A*B Pattern Grouping 1.) Grouping the partial products to one of three possible pattern

A*B Pattern Grouping 1.) Grouping the partial products to one of three possible pattern

A*B Pattern Grouping 1.) Grouping the partial products to one of three possible pattern

A*B Pattern Grouping 1.) Grouping the partial products to one of three possible pattern

A*B Pattern Grouping 1.) Grouping the partial products to one of three possible pattern

A*B Pattern Grouping 1.) Grouping the partial products to one of three possible pattern

Reordering of Partial Products 1)Pattern Grouping 2)Reorder pattern by decreasing x n 3)Minimize differences in the set of indices of adjacent pattern A*B

A*B Reordering of Partial Products 2.) Ordering of the pattern in a top-left to bottom-right fashion

A*B Reordering of Partial Products 2.) Ordering of the pattern in a top-left to bottom-right fashion

Reordering of Partial Products 1)Pattern Grouping 2)Reorder pattern by decreasing x n 3)Minimize differences in the set of indices of adjacent pattern A*B

A*B Reordering of Partial Products 3.) Ensuring that the set of added up segments in the partial products differs only by one element between two adjacent patterns

A*B Reordering of Partial Products 3.) Ensuring that the set of added up segments in the partial products differs only by one element between two adjacent patterns

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B 0 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B 0 Clock Cycle: 1 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B 0 22 Clock Cycle: 2 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B Clock Cycle: 3 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B Clock Cycle: 4 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B Clock Cycle: 5 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B Clock Cycle: 6 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B Clock Cycle: 7 Mult

Multiplication Sequence A 2 A 1 A 0 B 2 B 1 B Clock Cycle: 8 Mult

Coprocessor Interface FF-ALU Op. AOp. B Controller FPGA Finite Field Arithmetic AVR EC level Algorithms RAM... MULT ADD SQUARE

Results FF-LevelClock Cycles Operationbest caseworst case FF-Mult32152 FF-Add16136 FF-Square191 One EC point multiplication takes MHz Speed-up factor of about 40 compared to an assembler optimized software implementation Prototype Implementation: 5-Segment Karatsuba (MSK 5 ) 23-Bit combinational Multiplier GF(2 113 ) OperationClock Cycles EC-Double493 EC-Add615 k·Pk·P130,200