My 2 hours today: 1. Efficient arithmetic in finite fields minute break 3. Elliptic curves. My 2 hours tomorrow:
|
|
- Denis Wiggins
- 5 years ago
- Views:
Transcription
1 My 2 hours today: 1. Efficient arithmetic in finite fields minute break 3. Elliptic curves My 2 hours tomorrow: 4. Efficient arithmetic on elliptic curves minute break 6. Choosing curves
2 Efficient arithmetic in finite fields D. J. Bernstein University of Illinois at Chicago
3 Some examples of finite fields: Z ( ). (Z (2 61 1))[Ø] (Ø 5 3). (Z 223))[Ø] (Ø 37 2). (Z 2)[Ø] (Ø 283 Ø 12 Ø 7 Ø 5 1). How quickly can we add, subtract, multiply in these fields? Answer will depend on platform: AMD Athlon, Sun UltraSPARC IV, Intel 8051, Xilinx Spartan-3, etc. Warning: different platforms often favor different fields!
4 The first question How to multiply big integers? Child s answer: Use polynomial with coefficients in to represent integer in radix 10. With this representation, multiply integers in two steps: 1. Multiply polynomials. 2. Carry extra digits. Polynomial multiplication involves small integers. Have split one big multiplication into many small operations.
5 Example of representation: 839 = = value (at Ø = 10) of polynomial 8Ø 2 + 3Ø 1 + 9Ø 0. Squaring: (8Ø 2 + 3Ø 1 + 9Ø 0 ) 2 = 64Ø Ø Ø Ø Ø 0. Carrying: 64Ø Ø Ø Ø Ø 0 ; 64Ø Ø Ø Ø 1 + 1Ø 0 ; 64Ø Ø Ø 2 + 2Ø 1 + 1Ø 0 ; 64Ø Ø 3 + 9Ø 2 + 2Ø 1 + 1Ø 0 ; 70Ø 4 + 3Ø 3 + 9Ø 2 + 2Ø 1 + 1Ø 0 ; 7Ø 5 + 0Ø 4 + 3Ø 3 + 9Ø 2 + 2Ø 1 + 1Ø 0. In other words, =
6 What operations were used here? multiply add divide by 10 add 159 mod
7 Scaled variation: 839 = = value (at Ø = 1) of polynomial 800Ø Ø 1 + 9Ø 0. Squaring: (800Ø Ø 1 + 9Ø 0 ) 2 = Ø Ø Ø Ø Ø 0. Carrying: Ø Ø Ø Ø Ø 0 ; Ø Ø Ø Ø 1 + 1Ø 0 ; Ø 5 + 0Ø Ø Ø Ø 1 + 1Ø 0.
8 What operations were used here? multiply add add subtract mod
9 Speedup: double inside squaring Squaring + 2Ø 2 + 1Ø 1 + 0Ø 0 produces coefficients such as Compute more efficiently as Or, slightly faster, 2( ) Or, slightly faster, (2 4) 0 + (2 3) after precomputing Have eliminated 1 2 of the work if there are many coefficients.
10 Speedup: allow negative coeffs Recall Scaled: Alternative: Scaled: Use digits instead of Several small advantages: easily handle negative integers; easily handle subtraction; reduce products a bit.
11 Speedup: delay carries Computing (e.g.) big + 2 : multiply polynomials, carry, square poly, carry, add, carry. e.g. = 314, = 271, = 839: (3Ø 2 +1Ø 1 +4Ø 0 )(2Ø 2 +7Ø 1 +1Ø 0 ) = 6Ø Ø Ø Ø 1 + 4Ø 0 ; carry: 8Ø 4 + 5Ø 3 + 0Ø 2 + 9Ø 1 + 4Ø 0. As before (8Ø 2 + 3Ø 1 + 9Ø 0 ) 2 = 64Ø Ø Ø Ø Ø 0 ; 7Ø 5 + 0Ø 4 + 3Ø 3 + 9Ø 2 + 2Ø 1 + 1Ø 0. +: 7Ø 5 +8Ø 4 +8Ø 3 +9Ø 2 +11Ø 1 +5Ø 0 ; 7Ø 5 + 8Ø 4 + 9Ø 3 + 0Ø 2 + 1Ø 1 + 5Ø 0.
12 Faster: multiply polynomials, square polynomial, add, carry. (6Ø Ø Ø Ø 1 + 4Ø 0 ) + (64Ø 4 +48Ø Ø 2 +54Ø 1 +81Ø 0 ) = 70Ø Ø Ø Ø Ø 0 ; 7Ø 5 + 8Ø 4 + 9Ø 3 + 0Ø 2 + 1Ø 1 + 5Ø 0. Eliminate intermediate carries. Outweighs cost of handling slightly larger coefficients. Important to carry between multiplications (and squarings) to reduce coefficient size; but carries are usually a bad idea for additions, subtractions, etc.
13 Speedup: polynomial Karatsuba Computing product of polys with (e.g.) deg 20, deg 20: 400 coefficient mults, 361 coefficient adds. Faster: Write as 0 + 1Ø 10 with deg 0 10, deg Similarly write as 0 + 1Ø 10. Then = ( 0 + 1)( 0 + 1)Ø 10 + ( Ø 10 )(1 Ø 10 ).
14 20 adds for 0 + 1, mults for three products 0 0, 1 1, ( 0 + 1)( 0 + 1). 243 adds for those products. 9 adds for Ø 10 with subs counted as adds and with delayed negations. 19 adds for (1 Ø 10 ). 19 adds to finish. Total 300 mults, 310 adds. Larger coefficients, slight expense; still saves time. Can apply idea recursively as poly degree grows.
15 Many other algebraic speedups in polynomial multiplication: Toom, FFT, etc. Increasingly important as polynomial degree grows. Ç(Ò lg Ò lg lg Ò) coeff operations to compute Ò-coeff product. Useful for sizes of Ò that occur in cryptography? Maybe; active research area.
16 Using CPU s integer instructions Replace radix 10 with, e.g., Power of 2 simplifies carries. Adapt radix to platform. e.g. Every 2 cycles, Athlon 64 can compute a 128-bit product of two 64-bit integers. (5-cycle latency; parallelize!) Also low cost for 128-bit add. Reasonable to use radix Sum of many products of digits fits comfortably below Be careful: analyze largest sum.
17 e.g. In 4 cycles, Intel 8051 can compute a 16-bit product of two 8-bit integers. Could use radix 2 6. Could use radix 2 8, with 24-bit sums. e.g. Every 2 cycles, Pentium 4 F3 can compute a 64-bit product of two 32-bit integers. (11-cycle latency; yikes!) Reasonable to use radix Warning: Multiply instructions are very slow on some CPUs. e.g. Pentium 4 F2: 10 cycles!
18 Using floating-point instructions Big CPUs have separate floating-point instructions, aimed at numerical simulation but useful for cryptography. In my experience, floating-point instructions support faster multiplication (often much, much faster) than integer instructions, except on the Athlon 64. Other advantages: portability; easily scaled coefficients.
19 e.g. Every 2 cycles, Pentium III can compute a 64-bit product of two floating-point numbers, and an independent 64-bit sum. e.g. Every cycle, Athlon can compute a 64-bit product and an independent 64-bit sum. e.g. Every cycle, UltraSPARC III can compute a 53-bit product and an independent 53-bit sum. Reasonable to use radix e.g. Pentium 4 can do the same using SSE2 instructions.
20 How to do carries in floating-point registers? (No CPU carry instruction: not useful for simulations.) Exploit floating-point rounding: add big constant, subtract same constant. e.g. Given «with «2 75 : compute 53-bit floating-point sum of «and constant , obtaining a multiple of 2 24 ; subtract from result, obtaining multiple of 2 24 nearest «; subtract from «.
21 Reducing modulo a prime Fix a prime Ô. The prime field Z Ô is the set Ô 1 with defined as mod Ô, + defined as + mod Ô, defined as mod Ô. e.g. Ô = : = 47 in Z Ô; 1 = in Z Ô; = 1 in Z Ô.
22 How to multiply in Z Ô? Can use definition: mod Ô = Ô Ô. Can multiply by a precomputed 1 Ô approximation; easily adjust to obtain Ô. Slight speedup: 2-adic inverse ; Montgomery reduction. We can do better: normally Ô is chosen with a special form (or dividing a special form; see redundant representations ) to make mod Ô much faster.
23 e.g. In Z : = = ( 3) = = Easily adjust to range 0 1 Ô 1 by adding/subtracting a few Ô s. (Beware timing attacks!) Speedup: Delay the adjustment; extra Ô s won t damage subsequent field operations.
24 Can delay carries until after multiplication by 3. e.g. To square in Z : Square poly 3Ø 5 + 1Ø 4 + 4Ø 3 + 1Ø 2 + 5Ø 1 + 9Ø 0, obtaining 9Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø 0. Reduce: replace ( )Ø 6+ by ( 3 )Ø, obtaining 72Ø Ø Ø 3 32Ø Ø 1 63Ø 0. Carry: 8Ø 6 4Ø 5 2Ø 4 + 1Ø 3 + 2Ø 2 + 2Ø 1 3Ø 0.
25 To minimize poly degree, mix reduction and carrying, carrying the top sooner. e.g. Start from square 9Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø Ø 0. Reduce Ø 10 Ø 4 and carry Ø 4 Ø 5 Ø 6 : 6Ø 9 +25Ø 8 +14Ø 7 +56Ø 6 5Ø 5 +2Ø 4 +82Ø 3 +43Ø 2 +90Ø 1 +81Ø 0. Finish reduction: 5Ø 5 + 2Ø Ø 3 32Ø Ø 1 87Ø 0. Carry Ø 0 Ø 1 Ø 2 Ø 3 Ø 4 Ø 5 : 4Ø 5 2Ø 4 + 1Ø 3 + 2Ø 2 1Ø 1 + 3Ø 0.
26 Speedup: non-integer radix Consider Z (2 61 1). Five coeffs in radix 2 13? 4Ø 4 + 3Ø 3 + 2Ø 2 + 1Ø 1 + 0Ø 0. Most coeffs could be Square +2( )Ø 5 +. Coeff of Ø 5 could be Reduce: 2 65 = 2 4 in Z (2 61 1); + (2 5 ( ) + 0 2)Ø0. Coeff could be Very little room for additions, delayed carries, etc. on 32-bit platforms.
27 Scaled: Evaluate at Ø = 1. 4 is multiple of 2 52 ; 3 is multiple of 2 39 ; 2 is multiple of 2 26 ; 1 is multiple of 2 13 ; 0 is multiple of 2 0. Reduce: + (2 60 ( ) + 0 2)Ø0. Better: Non-integer radix is multiple of 2 49 ; 3 is multiple of 2 37 ; 2 is multiple of 2 25 ; 1 is multiple of 2 13 ; 0 is multiple of 2 0. Saves a few bits in coeffs.
28 More finite fields Fix a prime Ô. Fix a poly ³ in one variable Ø with ³ irreducible mod Ô. The finite field (Z Ô)[Ø] ³ is the set of polynomials deg ³ 1 Ødeg ³ Ø 1 + 0Ø 0 with each ¾ Z Ô and with + defined modulo Ô and modulo ³. (Z Ô)[Ø] ³ is an extension of the prime field Z Ô; it has characteristic Ô.
29 e.g. 223 is prime, and poly Ø 6 3 is irreducible mod 223, so (Z 223)[Ø] (Ø 6 3) is a field elements of field, namely polynomials 5Ø 5 + 4Ø 4 + 3Ø 3 + 2Ø 2 + 1Ø 1 + 0Ø 0 with each ¾ After adding, subtracting, multiplying: replace Ø 6 by 3, replace Ø 7 by 3Ø, etc.; and reduce coefficients modulo 223. e.g. (9Ø 4 + 1) 2 = 81Ø Ø = 243Ø 2 +18Ø 4 +1 = 18Ø 4 +20Ø 2 +1.
30 Have two levels of polynomials when Ô is large: element of (Z Ô)[Ø] ³ is poly mod ³; each poly coefficient is integer represented as poly in some radix. e.g. 4Ø 4 + 3Ø 3 + 2Ø 2 + 1Ø 1 + 0Ø 0 in (Z (2 61 1))[Ø] (Ø 5 3) could have each coefficient represented as poly of degree 3 in radix When Ô is small, especially Ô = 2, many speedups beyond this talk: batching coefficients, using fast Frobenius, et al.
Elliptic vs. hyperelliptic, part 1. D. J. Bernstein
Elliptic vs. hyperelliptic, part 1 D. J. Bernstein Goal: Protect all Internet packets against forgery, eavesdropping. We aren t anywhere near the goal. Most Internet packets have little or no protection.
More informationType-II optimal polynomial bases. D. J. Bernstein University of Illinois at Chicago. Joint work with: Tanja Lange Technische Universiteit Eindhoven
Type-II optimal polynomial bases D. J. Bernstein University of Illinois at Chicago Joint work with: Tanja Lange Technische Universiteit Eindhoven Bigger project: Breaking ECC2K-130. Daniel V. Bailey,
More informationDivide: Paper & Pencil
Divide: Paper & Pencil 1001 Quotient Divisor 1000 1001010 Dividend -1000 10 101 1010 1000 10 Remainder See how big a number can be subtracted, creating quotient bit on each step Binary => 1 * divisor or
More informationMcBits: fast constant-time code-based cryptography. (to appear at CHES 2013)
McBits: fast constant-time code-based cryptography (to appear at CHES 2013) D. J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Joint work with: Tung Chou Technische Universiteit
More informationElliptic Curves over Prime and Binary Fields in Cryptography
Elliptic Curves over Prime and Binary Fields in Cryptography Authors Dana Neustadter (danan@ellipticsemi.com) Tom St Denis (tstdenis@ellipticsemi.com) Copyright 2008 Elliptic Semiconductor Inc. Elliptic
More informationECDLP course ECC2K-130. Daniel J. Bernstein University of Illinois at Chicago. Tanja Lange Technische Universiteit Eindhoven
ECDLP course ECC2K-130 Daniel J. Bernstein University of Illinois at Chicago Tanja Lange Technische Universiteit Eindhoven The target: ECC2K-130 1997: Certicom announces several elliptic-curve challenges.
More informationHigh-Performance Cryptography in Software
High-Performance Cryptography in Software Peter Schwabe Research Center for Information Technology Innovation Academia Sinica September 3, 2012 ECRYPT Summer School: Challenges in Security Engineering
More informationD. J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven. Joint work with: Tanja Lange Technische Universiteit Eindhoven
Simplicity 1 D. J. Bernstein University of Illinois at Chicago & Technische Universiteit Eindhoven Joint work with: Tanja Lange Technische Universiteit Eindhoven NIST s ECC standards = NSA s prime choices
More informationA High-Speed FPGA Implementation of an RSD- Based ECC Processor
A High-Speed FPGA Implementation of an RSD- Based ECC Processor Abstract: In this paper, an exportable application-specific instruction-set elliptic curve cryptography processor based on redundant signed
More informationAlgorithms and arithmetic for the implementation of cryptographic pairings
Cairn seminar November 29th, 2013 Algorithms and arithmetic for the implementation of cryptographic pairings Nicolas Estibals CAIRN project-team, IRISA Nicolas.Estibals@irisa.fr What is an elliptic curve?
More informationParallel Scalar Multiplication of Elliptic Curve Points. CSE 633 George Gunner March 28, 2017 Professor: Dr. Russ Miller
Parallel Scalar Multiplication of Elliptic Curve Points CSE 633 George Gunner March 28, 2017 Professor: Dr. Russ Miller Motivation Elliptic curves are commonly used in public-key cryptography Digital Signatures
More informationCurve25519: new Diffie-Hellman speed records. Which public-key systems are smallest? Fastest? D. J. Bernstein
Curve25519: new Diffie-Hellman speed records Which public-key systems are smallest? Fastest? D. J. Bernstein Thanks to: University of Illinois at Chicago Danmarks Tekniske Universitet Alfred P. Sloan Foundation
More informationHIGH PERFORMANCE ELLIPTIC CURVE CRYPTO-PROCESSOR FOR FPGA PLATFORMS
HIGH PERFORMANCE ELLIPTIC CURVE CRYPTO-PROCESSOR FOR FPGA PLATFORMS Debdeep Mukhopadhyay Dept. of Computer Science and Engg. IIT Kharagpur 3/6/2010 NTT Labs, Japan 1 Outline Elliptic Curve Cryptography
More informationAdaptive Scientific Software Libraries
Adaptive Scientific Software Libraries Lennart Johnsson Advanced Computing Research Laboratory Department of Computer Science University of Houston Challenges Diversity of execution environments Growing
More informationFloating Point Arithmetic
Floating Point Arithmetic Clark N. Taylor Department of Electrical and Computer Engineering Brigham Young University clark.taylor@byu.edu 1 Introduction Numerical operations are something at which digital
More informationHigh-Performance Modular Multiplication on the Cell Broadband Engine
High-Performance Modular Multiplication on the Cell Broadband Engine Joppe W. Bos Laboratory for Cryptologic Algorithms EPFL, Lausanne, Switzerland joppe.bos@epfl.ch 1 / 21 Outline Motivation and previous
More informationIntroduction to Cryptography and Security Mechanisms: Unit 5. Public-Key Encryption
Introduction to Cryptography and Security Mechanisms: Unit 5 Public-Key Encryption Learning Outcomes Explain the basic principles behind public-key cryptography Recognise the fundamental problems that
More informationSide-Channel Attacks on RSA with CRT. Weakness of RSA Alexander Kozak Jared Vanderbeck
Side-Channel Attacks on RSA with CRT Weakness of RSA Alexander Kozak Jared Vanderbeck What is RSA? As we all know, RSA (Rivest Shamir Adleman) is a really secure algorithm for public-key cryptography.
More informationCryptology complementary. Finite fields the practical side (1)
Cryptology complementary Finite fields the practical side (1) Pierre Karpman pierre.karpman@univ-grenoble-alpes.fr https://www-ljk.imag.fr/membres/pierre.karpman/tea.html 2018 03 15 Finite Fields in practice
More informationNumber Representations
Number Representations times XVII LIX CLXX -XVII D(CCL)LL DCCC LLLL X-X X-VII = DCCC CC III = MIII X-VII = VIIIII-VII = III 1/25/02 Memory Organization Viewed as a large, single-dimension array, with an
More informationMontgomery Multiplication Using Vector Instructions
Montgomery Multiplication Using Vector Instructions Joppe W. Bos, Peter L. Montgomery, Daniel Shumow, and Gregory M. Zaverucha SAC 2013 E.g. ECDSA, ECDH Motivation E(F p ) Point arithmetic E.g. DH, DSA,
More informationElliptic Curve Public Key Cryptography
Why? Elliptic Curve Public Key Cryptography ECC offers greater security for a given key size. Why? Elliptic Curve Public Key Cryptography ECC offers greater security for a given key size. The smaller key
More informationFloating Point Arithmetic
Floating Point Arithmetic CS 365 Floating-Point What can be represented in N bits? Unsigned 0 to 2 N 2s Complement -2 N-1 to 2 N-1-1 But, what about? very large numbers? 9,349,398,989,787,762,244,859,087,678
More informationAn Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam Multiplication
The International Journal Of Engineering And Science (IJES) Volume 4 Issue 4 Pages PP.45-50 2015 ISSN (e): 2319 1813 ISSN (p): 2319 1805 An Efficient Elliptic Curve Cryptography Arithmetic Using Nikhilam
More informationDIGITAL ARITHMETIC. Miloš D. Ercegovac Computer Science Department University of California Los Angeles and
1 DIGITAL ARITHMETIC Miloš D. Ercegovac Computer Science Department University of California Los Angeles and Tomás Lang Department of Electrical and Computer Engineering University of California at Irvine
More informationAdvanced Computing Research Laboratory. Adaptive Scientific Software Libraries
Adaptive Scientific Software Libraries and Texas Learning and Computation Center and Department of Computer Science University of Houston Challenges Diversity of execution environments Growing complexity
More informationSalsa20 speed. Daniel J. Bernstein
Salsa20 speed Daniel J. Bernstein Department of Mathematics, Statistics, and Computer Science (M/C 249) The University of Illinois at Chicago Chicago, IL 60607 7045 snuffle@box.cr.yp.to 1 Introduction
More informationFloating Point. The World is Not Just Integers. Programming languages support numbers with fraction
1 Floating Point The World is Not Just Integers Programming languages support numbers with fraction Called floating-point numbers Examples: 3.14159265 (π) 2.71828 (e) 0.000000001 or 1.0 10 9 (seconds in
More informationImplementation of IEEE754 Floating Point Multiplier
Implementation of IEEE754 Floating Point Multiplier A Kumutha 1 Shobha. P 2 1 MVJ College of Engineering, Near ITPB, Channasandra, Bangalore-67. 2 MVJ College of Engineering, Near ITPB, Channasandra, Bangalore-67.
More informationNumber Systems and Computer Arithmetic
Number Systems and Computer Arithmetic Counting to four billion two fingers at a time What do all those bits mean now? bits (011011011100010...01) instruction R-format I-format... integer data number text
More informationBeating Hand-Tuned Assembly. David Richardson
Beating Hand-Tuned Assembly David Richardson d.g.richardson@gmail.com Outline Problem Hand tuned assembly Faster than assembly All optimization is like this 2 Multi Precision Arithmetic 11111111111111
More information8/27/2016. ECE 120: Introduction to Computing. Graphical Illustration of Modular Arithmetic. Representations Must be Unambiguous
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Signed Integers and 2 s Complement Strategy: Use Common Hardware for Two Representations
More information! Addition! Multiplication! Bigger Example - RSA cryptography
! Addition! Multiplication! Bigger Example - RSA cryptography Modular Arithmetic Modular Exponentiation Primality Testing (Fermat s little theorem) Probabilistic algorithm Euclid s Algorithm for gcd (greatest
More informationSoftware Implementations of Elliptic Curve Cryptography
Software Implementations of Elliptic Curve Cryptography Aneel Murari ECE679 Oregon State university June 9, 2003 Abstract Elliptic Curve Cyrptography has gained a lot of significance in recent times. This
More informationApplied Cryptography and Network Security
Applied Cryptography and Network Security William Garrison bill@cs.pitt.edu 6311 Sennott Square Lecture #8: RSA Didn t we learn about RSA last time? During the last lecture, we saw what RSA does and learned
More informationScalar Blinding on Elliptic Curves with Special Structure
Scalar Blinding on Elliptic Curves with Special Structure Scott Fluhrer Cisco Systems August 11, 2015 1 Abstract This paper shows how scalar blinding can provide protection against side channel attacks
More informationModule 7 Highlights. Mastered Reviewed. Sections ,
Sections 5.3 5.6, 6.1 6.6 Module 7 Highlights Andrea Hendricks Math 0098 Pre-college Algebra Topics Degree & leading coeff. of a univariate polynomial (5.3, Obj. 1) Simplifying a sum/diff. of two univariate
More informationLecture 2 Algorithms with numbers
Advanced Algorithms Floriano Zini Free University of Bozen-Bolzano Faculty of Computer Science Academic Year 2013-2014 Lecture 2 Algorithms with numbers 1 RSA Algorithm Why does RSA work? RSA is based
More informationIntroduction to Cryptography and Security Mechanisms. Abdul Hameed
Introduction to Cryptography and Security Mechanisms Abdul Hameed http://informationtechnology.pk Before we start 3 Quiz 1 From a security perspective, rather than an efficiency perspective, which of the
More informationBreaking ECC2K-130 on Cell processors and GPUs
Breaking ECC2K-130 on Cell processors and GPUs Daniel V. Bailey, Lejla Batina, Daniel J. Bernstein, Peter Birkner, Joppe W. Bos, Hsieh-Chung Chen, Chen-Mou Cheng, Gauthier van Damme, Giacomo de Meulenaer,
More informationCHAPTER V NUMBER SYSTEMS AND ARITHMETIC
CHAPTER V-1 CHAPTER V CHAPTER V NUMBER SYSTEMS AND ARITHMETIC CHAPTER V-2 NUMBER SYSTEMS RADIX-R REPRESENTATION Decimal number expansion 73625 10 = ( 7 10 4 ) + ( 3 10 3 ) + ( 6 10 2 ) + ( 2 10 1 ) +(
More informationElliptic Curve Cryptography on a Palm OS Device
Elliptic Curve Cryptography on a Palm OS Device André Weimerskirch 1, Christof Paar 2, and Sheueling Chang Shantz 3 1 CS Department, Worcester Polytechnic Institute, USA weika@wpi.edu 2 ECE and CS Department,
More informationSoftware Implementation of Pairings 1
Software Implementation of Pairings 1 Darrel HANKERSON a, Alfred MENEZES b and Michael SCOTT c a Auburn University, hankedr@auburn.edu b University of Waterloo, ajmeneze@uwaterloo.ca c Dublin City University,
More informationExample: Adding 1000 integers on Cortex-M4F. Lower bound: 2n + 1 cycles for n LDR + n ADD. Imagine not knowing this : : :
Cryptographic software engineering, part 2 1 Daniel J. Bernstein Last time: General software engineering. Using const-time instructions. Comparing time to lower bound. Example: Adding 1000 integers on
More informationLecture Notes, CSE 232, Fall 2014 Semester
Lecture Notes, CSE 232, Fall 2014 Semester Dr. Brett Olsen Week 11 - Number Theory Number theory is the study of the integers. The most basic concept in number theory is divisibility. We say that b divides
More informationIMPLEMENTATION OF THE. Alexander J. Yee University of Illinois Urbana-Champaign
SINGLE-TRANSPOSE IMPLEMENTATION OF THE OUT-OF-ORDER 3D-FFT Alexander J. Yee University of Illinois Urbana-Champaign The Problem FFTs are extremely memory-intensive. Completely bound by memory access. Memory
More informationFloating-point representation
Lecture 3-4: Floating-point representation and arithmetic Floating-point representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However,
More informationDESIGN METHODOLOGY. 5.1 General
87 5 FFT DESIGN METHODOLOGY 5.1 General The fast Fourier transform is used to deliver a fast approach for the processing of data in the wireless transmission. The Fast Fourier Transform is one of the methods
More informationChapter Two MIPS Arithmetic
Chapter Two MIPS Arithmetic Computer Organization Review Binary Representation Used for all data and instructions Fixed size values: 8, 16, 32, 64 Hexadecimal Sign extension Base and virtual machines.
More informationUsing an RSA Accelerator for Modular Inversion
Using an RSA Accelerator for Modular Inversion by Martin Seysen CHES 2005 Coprocessors on Smart Cards Coprocessors on smart cards have been designed to speed up RSA Examples: Infineon SLE66 ACE Hitachi/Renesas
More informationCO Computer Architecture and Programming Languages CAPL. Lecture 15
CO20-320241 Computer Architecture and Programming Languages CAPL Lecture 15 Dr. Kinga Lipskoch Fall 2017 How to Compute a Binary Float Decimal fraction: 8.703125 Integral part: 8 1000 Fraction part: 0.703125
More information0x1A Great Papers in Computer Security
CS 380S 0x1A Great Papers in Computer Security Vitaly Shmatikov http://www.cs.utexas.edu/~shmat/courses/cs380s/ Attacking Cryptographic Schemes Cryptanalysis Find mathematical weaknesses in constructions
More informationThe p-sized partitioning algorithm for fast computation of factorials of numbers
J Supercomput (2006) 38:73 82 DOI 10.1007/s11227-006-7285-5 The p-sized partitioning algorithm for fast computation of factorials of numbers Ahmet Ugur Henry Thompson C Science + Business Media, LLC 2006
More informationMC1601 Computer Organization
MC1601 Computer Organization Unit 1 : Digital Fundamentals Lesson1 : Number Systems and Conversions (KSB) (MCA) (2009-12/ODD) (2009-10/1 A&B) Coverage - Lesson1 Shows how various data types found in digital
More informationAdditional Key Words and Phrases: Accuracy, elementary function evaluation, floating point, Fortran, mathematical library, portable software
A Fortran Package For Floating-Point Multiple-Precision Arithmetic David M. Smith Loyola Marymount University FM is a collection of Fortran-77 routines which performs floating-point multiple-precision
More informationThe Perils of Floating Point
The Perils of Floating Point by Bruce M. Bush Copyright (c) 1996 Lahey Computer Systems, Inc. Permission to copy is granted with acknowledgement of the source. Many great engineering and scientific advances
More informationPomcor JavaScript Cryptographic Library (PJCL)
Pomcor JavaScript Cryptographic Library (PJCL) Version 0.9 (beta test version) Contents 1 Functionality provided in Version 0.9 6 2 Requirements 7 3 License 8 4 Downloadable zip archive 8 5 Data encodings
More informationAlgebra II Radical Equations
1 Algebra II Radical Equations 2016-04-21 www.njctl.org 2 Table of Contents: Graphing Square Root Functions Working with Square Roots Irrational Roots Adding and Subtracting Radicals Multiplying Radicals
More informationFast Multiplication on Elliptic Curves over GF (2 m ) without Precomputation
Fast Multiplication on Elliptic Curves over GF (2 m ) without Precomputation Julio López 1 and Ricardo Dahab 2 1 Department of Combinatorics & Optimization University of Waterloo, Waterloo, Ontario N2L
More informationManipulate expressions containing surds and rationalise denominators (A*) Able to simplify surds (A)
Moving from A to A* Manipulate expressions containing surds and rationalise denominators (A*) Solve using surds (A*) A* Solve direct and inverse variation three variables (A*) A* Find formulae describing
More informationHigh Speed Cryptoprocessor for η T Pairing on 128-bit Secure Supersingular Elliptic Curves over Characteristic Two Fields
High Speed Cryptoprocessor for η T Pairing on 128-bit Secure Supersingular Elliptic Curves over Characteristic Two Fields Santosh Ghosh, Dipanwita Roy Chowdhury, and Abhijit Das Computer Science and Engineering
More informationCPS 104 Computer Organization and Programming
CPS 104 Computer Organization and Programming Lecture 9: Integer Arithmetic. Robert Wagner CPS104 IMD.1 RW Fall 2000 Overview of Today s Lecture: Integer Multiplication and Division. Read Appendix B CPS104
More informationChapter 3. Errors and numerical stability
Chapter 3 Errors and numerical stability 1 Representation of numbers Binary system : micro-transistor in state off 0 on 1 Smallest amount of stored data bit Object in memory chain of 1 and 0 10011000110101001111010010100010
More informationNovel Multiplier Architectures for GF (p) andgf (2 n )
Novel Multiplier Architectures for GF (p) andgf (2 n ) E. Savaş 1,A.F.Tenca 2,M.E.Çiftçibasi 3,andÇ. K. Koç 2 1 Faculty of Engineering and Natural Sciences Sabanci University Istanbul, Turkey TR-34956
More informationAn Algorithm and Hardware Architecture for Integrated Modular Division and Multiplication in GF (p) and GF (2 n )
An Algorithm and Hardware Architecture for Integrated Modular Division and Multiplication in GF (p) and GF (2 n ) Lo ai A. Tawalbeh and Alexandre F. Tenca School of Electrical Engineering and Computer
More informationPipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications
, Vol 7(4S), 34 39, April 204 ISSN (Print): 0974-6846 ISSN (Online) : 0974-5645 Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications B. Vignesh *, K. P. Sridhar
More informationComputer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2
Computer Architecture and System Software Lecture 02: Overview of Computer Systems & Start of Chapter 2 Instructor: Rob Bergen Applied Computer Science University of Winnipeg Announcements Website is up
More informationBreaking ECC2K-130. May 20, Oberseminar Computer Security, COSEC group, B-IT, Bonn
Breaking ECC2K-130 Daniel V. Bailey, Lejla Batina, Daniel J. Bernstein, Peter Birkner, Joppe W. Bos, Hsieh-Chung Chen, Chen-Mou Cheng, Gauthier van Damme, Giacomo de Meulenaer, Luis Julian Dominguez Perez,
More informationFloating-Point Arithmetic
ENEE446---Lectures-4/10-15/08 A. Yavuz Oruç Professor, UMD, College Park Copyright 2007 A. Yavuz Oruç. All rights reserved. Floating-Point Arithmetic Integer or fixed-point arithmetic provides a complete
More information--> Buy True-PDF --> Auto-delivered in 0~10 minutes. GM/T Translated English of Chinese Standard: GM/T0044.
Translated English of Chinese Standard: GM/T0044.1-2016 www.chinesestandard.net Buy True-PDF Auto-delivery. Sales@ChineseStandard.net CRYPTOGRAPHY INDUSTRY STANDARD OF THE PEOPLE S REPUBLIC OF CHINA GM
More informationPOST-SIEVING ON GPUs
POST-SIEVING ON GPUs Andrea Miele 1, Joppe W Bos 2, Thorsten Kleinjung 1, Arjen K Lenstra 1 1 LACAL, EPFL, Lausanne, Switzerland 2 NXP Semiconductors, Leuven, Belgium 1/18 NUMBER FIELD SIEVE (NFS) Asymptotically
More information2 Computation with Floating-Point Numbers
2 Computation with Floating-Point Numbers 2.1 Floating-Point Representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However, real numbers
More informationNumber and Place Value
Number and Place Value Reading and writing numbers Ordering and comparing numbers Place value Representing and estimating numbers Rounding numbers Round to nearest 100 000 up to 1 000 000, extend to rounding
More informationVLSI Design and Implementation of High Speed and High Throughput DADDA Multiplier
VLSI Design and Implementation of High Speed and High Throughput DADDA Multiplier U.V.N.S.Suhitha Student Department of ECE, BVC College of Engineering, AP, India. Abstract: The ever growing need for improved
More informationCHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 Advance Encryption Standard (AES) Rijndael algorithm is symmetric block cipher that can process data blocks of 128 bits, using cipher keys with lengths of 128, 192, and 256
More informationNEON: Faster Elliptic Curve Scalar Multiplications on ARM Processors
Four NEON: Faster Elliptic Curve Scalar Multiplications on ARM Processors Selected Areas in Cryptography (SAC 2016) St. Johns, Canada Patrick Longa Microsoft Research Next-generation elliptic curves Recent
More informationHardware for Collision Search on Elliptic Curve over GF(2 m )
Hardware for Collision Search on Elliptic Curve over GF(2 m ) Philippe Bulens (S), Guerric Meurice de Dormale and Jean-Jacques Quisquater {bulens, gmeurice, quisquater}@dice.ucl.ac.be UCL Crypto Group
More informationDecimals Outcomes. Represent Q Using Decomposition
1 Decimals Outcomes Represent addition, subtraction, multiplication, and division in Q using number lines and decomposition. Perform addition, subtraction, multiplication, and division in Q. Convert between
More informationGeneric GF(2 m ) Arithmetic in Software and its Application to ECC
Generic GF(2 m ) Arithmetic in Software and its Application to ECC André Weimerskirch 1, Douglas Stebila 2, and Sheueling Chang Shantz 3 1 Communication Security Group, Ruhr-Universität Bochum, Germany
More informationLearning Log Title: CHAPTER 3: ARITHMETIC PROPERTIES. Date: Lesson: Chapter 3: Arithmetic Properties
Chapter 3: Arithmetic Properties CHAPTER 3: ARITHMETIC PROPERTIES Date: Lesson: Learning Log Title: Date: Lesson: Learning Log Title: Chapter 3: Arithmetic Properties Date: Lesson: Learning Log Title:
More informationUnderstanding Cryptography by Christof Paar and Jan Pelzl. Chapter 9 Elliptic Curve Cryptography
Understanding Cryptography by Christof Paar and Jan Pelzl www.crypto-textbook.com Chapter 9 Elliptic Curve Cryptography ver. February 2nd, 2015 These slides were prepared by Tim Güneysu, Christof Paar
More informationE-th roots and static Diffie-Hellman using index calculus
E-th roots and static Diffie-Hellman using index calculus Antoine Joux 1 Joint work with Reynald Lercier 2, David Naccache 3, Emmanuel Thomé 4 Elliptic Curve Cryptography 2008 Utrecht 1 DGA and UVSQ 2
More informationDr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010
CS 494/594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010 1 Public Key Cryptography Modular Arithmetic RSA
More informationFloating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.
Floating-point Arithmetic Reading: pp. 312-328 Floating-Point Representation Non-scientific floating point numbers: A non-integer can be represented as: 2 4 2 3 2 2 2 1 2 0.2-1 2-2 2-3 2-4 where you sum
More information12-4 Geometric Sequences and Series. Lesson 12 3 quiz Battle of the CST s Lesson Presentation
12-4 Geometric Sequences and Series Lesson 12 3 quiz Battle of the CST s Lesson Presentation Objectives Find terms of a geometric sequence, including geometric means. Find the sums of geometric series.
More informationElliptic Curve Cryptography in JavaScript. Haustenne Laurie - De Neyer Quentin - Pereira Olivier Université catholique de Louvain
Elliptic Curve Cryptography in JavaScript Haustenne Laurie - De Neyer Quentin - Pereira Olivier Université catholique de Louvain ECRYPT Workshop on Lightweight Cryptography November 28-29, 2011, Louvain-la-Neuve,
More information2 Computation with Floating-Point Numbers
2 Computation with Floating-Point Numbers 2.1 Floating-Point Representation The notion of real numbers in mathematics is convenient for hand computations and formula manipulations. However, real numbers
More informationReals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.
Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be
More informationModule 2: Computer Arithmetic
Module 2: Computer Arithmetic 1 B O O K : C O M P U T E R O R G A N I Z A T I O N A N D D E S I G N, 3 E D, D A V I D L. P A T T E R S O N A N D J O H N L. H A N N E S S Y, M O R G A N K A U F M A N N
More informationEuclid's Algorithm. MA/CSSE 473 Day 06. Student Questions Odd Pie Fight Euclid's algorithm (if there is time) extended Euclid's algorithm
MA/CSSE 473 Day 06 Euclid's Algorithm MA/CSSE 473 Day 06 Student Questions Odd Pie Fight Euclid's algorithm (if there is time) extended Euclid's algorithm 1 Quick look at review topics in textbook REVIEW
More informationStudies on Modular Arithmetic Hardware Algorithms for Public-key Cryptography
Studies on Modular Arithmetic Hardware Algorithms for Public-key Cryptography Marcelo Emilio Kaihara Graduate School of Information Science Nagoya University January 2006 iii Dedicated to my father. Abstract
More informationComparison of Algorithms for Elliptic Curve Cryptography over Finite Fields of GF(2 m )
Comparison of Algorithms for Elliptic Curve Cryptography over Finite Fields of GF( m ) The IASTED International Conference on Communication, Network, and Information Security CNIS 003, December -1, 003
More informationChapter 4 Section 2 Operations on Decimals
Chapter 4 Section 2 Operations on Decimals Addition and subtraction of decimals To add decimals, write the numbers so that the decimal points are on a vertical line. Add as you would with whole numbers.
More information(-,+) (+,+) Plotting Points
Algebra Basics +y (-,+) (+,+) -x +x (-,-) (+,-) Plotting Points -y Commutative Property of Addition/Multiplication * You can commute or move the terms * This only applies to addition and multiplication
More informationA Scalable and High Performance Elliptic Curve Processor with Resistance to Timing Attacks
A Scalable and High Performance Elliptic Curve Processor with Resistance to Timing Attacks Alireza Hodjat, David D. Hwang, Ingrid Verbauwhede, University of California, Los Angeles Katholieke Universiteit
More informationCHAPTER 5: Representing Numerical Data
CHAPTER 5: Representing Numerical Data The Architecture of Computer Hardware and Systems Software & Networking: An Information Technology Approach 4th Edition, Irv Englander John Wiley and Sons 2010 PowerPoint
More informationMore About Factoring Trinomials
Section 6.3 More About Factoring Trinomials 239 83. x 2 17x 70 x 7 x 10 Width of rectangle: Length of rectangle: x 7 x 10 Width of shaded region: 7 Length of shaded region: x 10 x 10 Area of shaded region:
More informationBut first, encode deck of cards. Integer Representation. Two possible representations. Two better representations WELLESLEY CS 240 9/8/15
Integer Representation Representation of integers: unsigned and signed Sign extension Arithmetic and shifting Casting But first, encode deck of cards. cards in suits How do we encode suits, face cards?
More informationParallelizing Cryptography. Gordon Werner Samantha Kenyon
Parallelizing Cryptography Gordon Werner Samantha Kenyon Outline Security requirements Cryptographic Primitives Block Cipher Parallelization of current Standards AES RSA Elliptic Curve Cryptographic Attacks
More informationCIS 194: Homework 4. Due Wednesday, February 18, What is a Number?
CIS 194: Homework 4 Due Wednesday, February 18, 2015 What is a Number? This may sound like a deep, philosophical question, but the Haskell type system gives us a simple way to answer it. A number is any
More information