Code-Based Cryptography for FPGAs
- Dr. Ruben Niederhagen, February 8, 2018
Code-Based Cryptography for FPGAs Dr. Ruben Niederhagen, February 8, - - PowerPoint PPT Presentation
Code-Based Cryptography for FPGAs Dr. Ruben Niederhagen, February 8, 2018 Introduction Global Map public-key cryptography classic post-quantum lattice code multivariate hash isogenies . . . McEliece Niederreiter . . . GRS codes
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 1 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)
Code-based schemes are well-understood: Long history of research. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)
Code-based schemes are well-understood: Long history of research. Security parameters widely accepted. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)
Code-based schemes are well-understood: Long history of research. Security parameters widely accepted. Code-based schemes are expensive: High-throughput scenario: web server... Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)
Code-based schemes are well-understood: Long history of research. Security parameters widely accepted. Code-based schemes are expensive: High-throughput scenario: web server... Low-energy scenario:
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)
Code-based schemes are well-understood: Long history of research. Security parameters widely accepted. Code-based schemes are expensive: High-throughput scenario: web server... Low-energy scenario:
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 2 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 3 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 4 (25)
Option 1: Use Fisher-Yates shuffle. Biased if not well implemented, non-biased implementations need floating-point arithmetic
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 5 (25)
Option 1: Use Fisher-Yates shuffle. Biased if not well implemented, non-biased implementations need floating-point arithmetic
Option 2: Use a constant-time sorting algorithm.
Expensive: more cycles, more logic. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 5 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 6 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 6 (25)
Option 1: Randomly chose t + 1 coefficients,
Needs about t iterations
checking for irreducibility is expensive (extended Euclidean algorithm). Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 7 (25)
Option 1: Randomly chose t + 1 coefficients,
Needs about t iterations
checking for irreducibility is expensive (extended Euclidean algorithm). Option 2: Construct an irreducible polynomial. Idea: Compute minimal polynomial of an element r ∈ F(2m)[x]/f
Compute several powers in F(2m)[x]/f, solve a linear equation system over F(2m) of dimension t × t + 1. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 7 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 8 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 8 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 8 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 9 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 9 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 10 (25)
Option 1: Patterson algorithm. Not constant time, side-channel attacks can be used to decode messages. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 11 (25)
Option 1: Patterson algorithm. Not constant time, side-channel attacks can be used to decode messages. Option 2: Berlekamp-Massey algorithm. Constant time. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 11 (25)
Finite field arithmetic in F(2m). Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 12 (25)
Finite field arithmetic in F(2m). Polynomial arithmetic in F(2m)[x]/f. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 12 (25)
Finite field arithmetic in F(2m). Polynomial arithmetic in F(2m)[x]/f. Merge-sort for generating a permutation. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 12 (25)
Finite field arithmetic in F(2m). Polynomial arithmetic in F(2m)[x]/f. Merge-sort for generating a permutation. Additive FFT for polynomial evaluation. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 12 (25)
Finite field arithmetic in F(2m). Polynomial arithmetic in F(2m)[x]/f. Merge-sort for generating a permutation. Additive FFT for polynomial evaluation. Gaussian elimination. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 12 (25)
Finite field arithmetic in F(2m). Polynomial arithmetic in F(2m)[x]/f. Merge-sort for generating a permutation. Additive FFT for polynomial evaluation. Gaussian elimination. Berlekamp Massey. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 12 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 13 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 13 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 13 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 14 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 15 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 16 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 17 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 18 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 19 (25)
All system parameters (m, t, n) can be freely chosen. Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 20 (25)
All system parameters (m, t, n) can be freely chosen. Performance parameters for controlling parallelism: Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 20 (25)
All system parameters (m, t, n) can be freely chosen. Performance parameters for controlling parallelism: Compact, low-area design for SmartCards, embedded systems, ... Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 20 (25)
All system parameters (m, t, n) can be freely chosen. Performance parameters for controlling parallelism: Compact, low-area design for SmartCards, embedded systems, ... Large, high-performance design for server accelerator, ... Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 20 (25)
All system parameters (m, t, n) can be freely chosen. Performance parameters for controlling parallelism: Compact, low-area design for SmartCards, embedded systems, ... Large, high-performance design for server accelerator, ...
finite field 2m:
number of errors:
code length:
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 20 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 21 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 22 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 23 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 24 (25)
Code-Based Cryptography for FPGAs | Dr. Ruben Niederhagen | February 8, 2018 | 25 (25)