+ All Categories
Home > Documents > Recent Progress in Hardware Implementations of Post ...

Recent Progress in Hardware Implementations of Post ...

Date post: 05-Dec-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
37
Recent Progress in Hardware Implementations of Post-Quantum Isogeny-Based Cryptography Reza Azarderakhsh Department of Computer and Electrical Engineering and Computer Science Florida Atlantic University ICMC 2018
Transcript

Recent Progress in Hardware Implementations ofPost-Quantum Isogeny-Based Cryptography

Reza Azarderakhsh

Department of Computer and Electrical Engineering and Computer Science Florida Atlantic University

ICMC 2018

Why Quantum Computing? Why now?

The history of Integrated Circuits (IC)

1958: First integrated circuit (1cm2, 2 transistors)1971: Moore’s Law is born (2,300 transistors)2014: IBM P8 Processor, 16 cores (650mm2, > 4.2 billion transistors)

Quantum Computers1

2015: 4-Qbit 2016: 8-Qbit 2017: 16-Qbit 2018: 72-Qbit

1Pictures are taken from IBM Q Project

Primary PQC Candidates

Code-Based: McEliece

Hash-Based: Lamport - Merkle Signatures

Lattice-Based: NTRU - LWE

Multivariate: Rainbow Signatures

Isogeny-Based: SIDH - SIKE

b

b

b

E

E′

E′

b

b

b

E

E′

E′

E′b

E′

E′b

b

b

b

b

E

E′

E′

b

b

b

E

E′

E′

E′b

E′

E′b

b

Different degree isogeny maps between elliptic curves

Primary PQC Candidates

Code-Based: McEliece

Hash-Based: Lamport - Merkle Signatures

Lattice-Based: NTRU - LWE

Multivariate: Rainbow Signatures

Isogeny-Based: SIDH - SIKE

b

b

b

E

E′

E′

b

b

b

E

E′

E′

E′b

E′

E′b

b

b

b

b

E

E′

E′

b

b

b

E

E′

E′

E′b

E′

E′b

b

Different degree isogeny maps between elliptic curves

Supersingular Isogeny-Based Cryptography History

The first suggestions to use isogenies in crypto by Couveignes in 1997(CRYPTO 2006)

Supersingular isogeny hash function by Charles, Lauter and Goren in 2005(Journal of Cryptology 2009)

Isogeny-based public-key cryptosystems by Rostovtsev and Stolbunov in2006

The biggest impetus by Jao, De Feo (SIDH) in 2011(PQCRYPTO).

Supersingular Isogeny Key Encapsulation (SIKE) by Jao et al. submittedto NIST PQC competition 2017

Supersingular Isogeny-Based Cryptography Underlying Problem

Consider two supersingular elliptic curves defined over a large primeextension field:E1/Fp2 and E2/Fp2 , where p is a large prime.

There exists some isogeny φ : E1 → E2 with a fixed, smooth degree ` thatis public which maps E1 to E2

Supersingular Isogeny Problem

Given P,Q ∈ E1 and φ(P), φ(Q) ∈ E2, retrieve the secret isogeny map φ

The best known attack is based on Claw finding algorithm

Claw finding algorithm complexity for SIKE and SIDH:

O(p1/4) →Classical attacks

O(p1/6) →Quantum attacks

SIDH Key-Exchange

Public Parameters

E0/Fp2

p = ℓeAB ℓeBB − 1

(PA, QA) ∈ E0[ℓeAA ]

(PB , QB) ∈ E0[ℓeBB ]

E0

k

e

r(φB ) = 〈P

B + [s

k

B ]QB 〉

EB

k

e

r

(φA) =〈PA

+ [skA]QA〉

EA

k

e

r

(φ′

B) =〈φA

(PB) +

[skB]φA

(QB)〉

k

e

r(φ ′

A ) = 〈φB (P

A ) + [s

k

A ]φB (Q

A)〉

j(EA,B) = j(EB,A)

s

k

B ←KB

s

k

A←KA

E0 → E

B

EB → E

B,AE0→

EA

EA→

EA,B

pkA = [EA, φA(PB), φA(QB)]

pkB = [EB , φB(PA), φB(QA)]

Supersingular Isogeny-Based Cryptography Pros and Cons

ProsVery small public/private key sizeData-structure and implementation similar to ECCDifferent security assumption compared to other candidatesNo possibility of decryption errorNo complicated error distribution, rejection sampling, etc.Conservative security analysis on generic attacks

ConsYoungest PQC candidateSlowSecurity concerns when reuse keysNew schemes based on isogeny-based cryptography needs to beimplemented on practical settings

Performance of SIDH on ARM Processors

Benchmarks on Intel processors are reasonably practical.

Performance on ARM processors is not efficient and requires moreoptimization.

ARM processors are massively popular platform with significant marketshare among smartphones and IoT devices

ARMv7 Cortex-A15 (Jetson TK1 Board) and ARMv8 Cortex-A57 (Nexus smartphone)

Performance Comparison of SIDH and other PQC candidates on ARMv8

Performance evaluation of fast PQC candidates compared to SIDH

Generated by Open Quantum-Safe (OQS) OpenSSL library

Single core ARMv8 Cortex-A57 processor

Protocol Lang. Alice0 (ms) Bob (ms) Alice1 (ms)

Communication

PQ Security(bytes)

A → B B → A

RLWE BCNS C 2.85 4.65 0.695 4,096 4,224 76

RLWE NewHope C 0.284 0.442 0.106 1,824 2,048 206

RLWE MSR C 0.199 0.361 0.065 1,824 2,048 206

LWE Frodo Recomm. C 59.3 59.9 0.427 11,280 11,288 130

SIDH C 497 1114 468 564 564 125

Supersingular Isogeny-based Schemes Software Implementations

SIDH:De Feo, Jao, and Plut (J. of Mathematical Cryptology 2014): Portable CAzarderakhsh, Fishbein, and Jao (Tech. report 2014): Optimized AMD64Costello, Longa, and Naehrig (CRYPTO 2016): Portable C, OptimizedAMD64Koziel, Jalali, Azarderakhsh, Jao, and Mozaffari-Kermani (CANS 2016):Optimized ARMv7Jalali, Azarderakhsh, Mozaffari-Kermani, and Jao (TDSC 2017): OptimizedARMv8

Supersingular Isogeny Digital Signature:Yoo, Azarderakhsh, Jalali, Jao, Sooukharev (FC 2017): Portable C,Optimized AMD64, Optimized ARMv8

Supersingular Isogeny Undeniable Signature:Jalali, Azarderakhsh, Mozaffari-Kermani (SAC 2017): Protable C,Optimized ARMv8

SIKE:Jao, Azarderakhsh, Campagna, Costello, De Feo, Hess, Jalali, Koziel,LaMacchia, Longa, Naehrig, Renes, Soukharev, and Urbanik (Submission toNIST PQC 2017): Portable C, Optimized AMD64, ARMv8, and VHDL

Isogeny-based Cryptography Implementation Perspective

Cryptography protocols deal with big integers → field arithmetic

From top to bottom, the number of operations increases

Optimization on the lowest level operations

SIDH

Isogeny Evaluation and Computation

PA PD

Mult. InversionAddition

Addition Squaring Mult. Inversion

Double Point

Multiplication

Large degree Isogeny comput

PQC

protocols

Extended

group ops

Group ops

pF

2pF

Arithmetic

Arithmetic

Finite Field Arithmetic Operations

Isogeny-based cryptography includes an extensive number of fieldarithmetic:

Focus on optimized implementation on ARM-powered devicesARM hand-craft assembly

ARMv7: NEON vetorizationARMv8: A64 ASM

More optimization on ARMv8? Mixed ASIMD + A64 assembly

SIKE field operation counts over different parameter sets

Scheme mult. red. add. sub.SIKEp503 195,889 149,138 56,978 83,142SIKEp751 307,946 234,253 88,764 131,618SIKEp964 408,786 310,707 117,666 172,910

Mixed ASIMD and A64 Assembly Multiplier on ARMv8

Based on Karatsuba-multiplication algorithm

a× b = (ahbh)22m + (albh + ahbl)2m + (albl)

(ahbh) and (albl) are independent:(ahbh) → A64 ASM(albl ) → ASIMD ASMFully-utilized pipelineAbout 10% further improvement compared to pure A64 ASM

a4 a064-bit 32-bit

a1a5a2a6a3a7a0a1a2a3

b0b1b2b3b4b5b6b7b0b1b2b3

ah al

bh bl

a0b0

a1b0

a4b0

a2b0

a3b0

a5b0

a6b0

a7b0

a0b0

a1b0

a0b1

a0b2

b

b

b

b

b

b

A64 ASIMD

Performance Reports on Various Platforms

SIDH performance evaluation on different families of ARM processors

Different security levels

Work Lang. DeviceField PQ Total Timesize Security (ms)

AFJ14 C Cortex-A15771 128 1,308

1035 170 2,816

KJAJM16 ASM Cortex-A15 1008 167 982

JAMJ17ASM

Cortex-A57

751 125 331964 160 652

C751 125 1,846964 160 4,212

Hardware Implementation

Hardware Implementation of SIDH

Xilinx Virtex-7 FPGA board FPGA block digram

Fast Finite-Field Arithmetic in Hardware

All isogeny computations can be performed with finite-field addition andmultiplication

Addition/subtraction split into multiple 256-bit addition/subtraction units

Choice of modular multiplier is crucial → we went with systolic high-radixMontgomery multiplier

Montgomery multiplier computes 16-bit products simultaneouslyEach multiplier can support 2 simultaneous multiplications → even-oddmultiplier

Latency requirements evaluation:

Latency (cc)

Prime Read Write AddMultiplication

Mult. Interleaved

p503

2 1

2 100 69p751 3 148 101p1019 4 196 133p1533 6 292 197pm d m

256e 3dm+2

16e+ 4 2dm+2

16e+ 5

High-Level Isogeny Accelerator Core

Architecture centers on dual-port RAM block for 256 registers

Fully-pipelined addition/subtraction unit

Replicated multipliers since multiplication is much longer than addition

a_in

2:1 MUX

a_op1

m

b_in

3:2 MUX

a_op2

m

2

2p

0

add_res 0

0

1

1

2

Mult

0

Mult

1

Mult

n-1

Mult Unit

...

mult

res_sel0 1 n-1

add/sub

Adder/

SubtractorAdd

0

Add

1

...Add

k-1256 bit add/sub

units

256

256256

Register

RAM

Port A

Port B

m

m

in out

in out

m

m

mult_res

ControllerROMPC

instr.

Private key n

256 Regs

Memory

Controls

Mult

Controls

Adder

Controls

FPGA

Interface

64

64busy

0

1

data

out

data

in

Scheduling instructions for parallelization

We used a greedy schedulingalgorithm to generate programROM

Optimizations based on dataand output dependencies aswell as available resources

Memory, addition, andmultiplication controls werecontrolled for each cycle to allowfor a high degree ofparallelization

To satisfy the even-oddmultiplier, we rescheduled theorder of multiplications to bevalid

Addition Subtraction Squaring Multiplication

Z3+18Z3X3-27X3 4 2 2 4

9X3-6Z3X3 4 2 2

3X3-2Z3 2 2

Step 1

Step 2

Step 3

Step 4

Step 5

Step 6

Step 7

Step 8

Step 9

Step 10

Step 11

Step 12

Step 13

Step 14

X3 Z3

X3 2

2Z3

X3Z3

2X3 2

22Z3

23X3

24Z3

4X3Z3 3

Z3 4

18X3-12Z3X3 4 2 2

Z3+6Z3X3-9X3 4 2 2 4

Mult

Block 2

Mult

Block 1

A

C

Figure: Scheduling an isogenycomputation for high-performanceparallelization

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

Parallelizing Isogeny Evaluations

Efficient large-degree isogeny computation → Get isogeny kernel, computeisogeny, push all stored points to new curve

No data dependencies between isogeny evaluations in stored point queue→ Do them all in parallel

Requires many more resources to effectively parallelize

Complexity of large-degree isogeny approaches O(e) rather than O(eloge)

Point mult

by

Apply -

isogeny

Input point

Get -isogeny

Point in queue

SIDH-FPGA Implementation Improvements

Koziel, Azarderakhsh, Mozaffari-Kermani, Jao2 (TCAS published in 2017)First implementation of SIDH in hardwareUtilizes Jao-DeFeo-Plut affine isogeny formulas84-bit quantum security SIDH in 33.7 ms (6 mults)

Koziel, Azarderakhsh, Mozaffari-Kermani (Indocrypt 2016)First constant-time implementation of SIDH in hardwareUtilizes Costello-Longa-Naehrig projective isogeny formulasFirst use of a parallelized isogeny evaluation strategy83-bit quantum security SIDH in 20.9 ms (6 mults)

Koziel, Azarderakhsh, Mozaffari-Kermani (TC SI PQC to appear in 2018)Faster implementations over 83, 124, 168, and 252-bit quantum securityImproved FAU, scheduling, and formula choices83-bit quantum security SIDH in 16.5 ms (6 mults)

2Submitted in 2016

SIDH-FPGA Implementation Results

Timing results scale quadratically with prime size

Benchmark on a Xilinx Virtex-7 FPGA

PrimeQuantum Area Timing

SIDH/sSecurity # # # # Latency Total(bits) Mults. Slices DSPs BRAMs (cc × 106) time (ms)

p503 836 7,491 192 43.5 3.34 16.5 60.5

12 13,203 384 40 2.94 14.2 70.4

p751 1246 11,277 288 60.5 7.46 36.4 27.4

12 19,892 576 54.5 6.37 31.6 31.6

p1019 1686 13,443 384 74 13.47 71.3 14.0

12 26,976 768 68 11.41 58.4 17.1

p1533 2526 20,559 576 90 30.06 154.5 6.47

12 40,279 1152 85 25.16 130.3 7.67

FPGA Implementations of PQC

Hardware comparison of PQC candidates and SIDH

Isogeny-based cryptography features the smallest keys

Remarks:McBits scheme performs only key generation which has a 29% chance ofsuccessIn NewHope scheme, the first row is server-side and second row isclient-side results

Work Scheme PlatformQuan. Public Area TimeSec. Key Size # # # # Freq. Total

(bits) (Bytes) FFs LUTs DSPs BRAMs (MHz) (ms)

WSN17 McBits Ultrascale+ 128 1,046,739 - 112,845 - 375 225 4.0

OG17NewHope-

Artix-7 128 2,1764,452 5,142 2 4 125 1.4

Simple 4,635 4,498 2 4 117 1.5

KAM18 SIDH Virtex-7 83 378 24,908 18,820 192 43.5 202 16.5KAM18 SIDH Virtex-7 124 564 38,489 27,713 288 60.5 205 36.5

Summary

Supersingular isogeny-based Cryptosystem is one of the PQC candidates

It has several advantages compared to its counterpartsSmall key sizeDifferent security assumptionNo decryption error, rejection sampling, etc.Easier transition from ECC to post-quantum cryptography

It is the youngest PQC candidate and its performance and security need tobe investigated further

Optimization on embedded devicesFast and parallel hardware implementation

The enhancements on the performance are promising

Recent cryptanalysis by ADJ et al. shows the classical security levels canbe achieved even with smaller prime bit-length → better performance

Further optimization are coming! Stay tuned :)

Bibliography I

B. Koziel, A. Jalali, R. Azarderakhsh, D. Jao, M. Mozaffari-Kermani

NEON-SIDH: efficient implementation of supersingular isogeny Diffie-Hellman key exchangeprotocol on ARM

International Conference on Cryptology and Network Security, 88-103, 2016.

B. Koziel, R. Azarderakhsh, D. Jao and M. Mozaffari Kermani

On Fast Calculation of Addition Chains for Isogeny-Based Cryptography

in Proc. Inscrypt 2016

B. Koziel, R. Azarderakhsh, and M. Mozaffari Kermani

Fast Hardware Architectures for Supersingular Isogeny Diffie-Hellman Key Exchange onFPGA

in Proc. Inscrypt 2016

R. Azarderakhsh, D. Jao, K. Kalach, B. Koziel and Ch. Leonardi

Key compression for isogeny-based cryptosystems

in Proc. ASIAPKC 2016

Y. Yoo, R. Azarderakhsh, A. Jalali, D. Jao, V. Soukharev

A post-quantum digital signature scheme based on supersingular isogenies

International Conference on Financial Cryptography and Data Security, 163-181, 2017.

Bibliography II

A. Jalali, R. Azarderakhsh, M. Mozaffari-Kermani, D. Jao

Supersingular isogeny Diffie-Hellman key exchange on 64-bit ARM

IEEE Transactions on Dependable and Secure Computing, 2017.

A. Jalali, R. Azarderakhsh, M. Mozaffari-Kermani

Efficient Post-Quantum Undeniable Signature on 64-Bit ARM

International Conference on Selected Areas in Cryptography, 2017.

B. Koziel, R. Azarderakhsh and D. Jao

Side-Channel Attacks on Quantum-Resistant Supersingular Isogeny Diffie-Hellman

International Conference on Selected Areas in Cryptography, 2017.

D. Jao, R. Azarderakhsh, M. Campagna, C. Costello, A. Jalali, B. Koziel, B. LaMacchia, P.

Longa, M. Naehrig, J. Renes, D. Urbanik, V. Soukharev, B. Hess

Supersingular Isogeny Key Encapsulation

Submission to NIST PQC, 2017.

B. Koziel, R. Azarderakhsh, and M. Mozaffari Kermani, D. Jao

Post-quantum cryptography on FPGA based on Isogenies on elliptic curves

IEEE Transactions on Circuits and Systems (TCAS-I), 2017

Bibliography III

B. Koziel, R. Azarderakhsh, M. Mozaffari Kermani

A High-Performance and Scalable Hardware Architecture for Isogeny-Based Cryptography

IEEE Transactions on Computer (TC) Special Section on Cryptographic Engineering in aPost-Quantum World, 2018

B. Koziel, R. Azarderakhsh and D. Jao

An Exposure Model for Supersingular Isogeny Diffie-Hellman Key Exchange

in Proc. CT-RSA 2018, to appear, 2018.

Thank you for your attention!Any Questions?


Recommended