+ All Categories
Home > Documents > Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based...

Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based...

Date post: 02-Feb-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
58
Arithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate School of Systems and Information Engineering University of Tsukuba 1-1-1 Tennodai, Tsukuba Ibaraki, 305-8573, Japan mailto:[email protected] Joint work with Nicolas Brisebarre (Universit´ e J. Monnet, Saint- ´ Etienne, France), er´ emie Detrey (ENS Lyon, France), Eiji Okamoto (University of Tsukuba, Japan), Masaaki Shirase (Future University, Hakodate, Japan), and Tsuyoshi Takagi (Future University, Hakodate, Japan) Jean-Luc Beuchat (LCIS) η T Pairing in Characteristic Three 1 / 38
Transcript
Page 1: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Arithmetic Operators for Pairing-Based Cryptography

Jean-Luc Beuchat

Laboratory of Cryptography and Information SecurityGraduate School of Systems and Information Engineering

University of Tsukuba1-1-1 Tennodai, TsukubaIbaraki, 305-8573, Japan

mailto:[email protected]

Joint work with Nicolas Brisebarre (Universite J. Monnet, Saint-Etienne, France), JeremieDetrey (ENS Lyon, France), Eiji Okamoto (University of Tsukuba, Japan), Masaaki Shirase(Future University, Hakodate, Japan), and Tsuyoshi Takagi (Future University, Hakodate,

Japan)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 1 / 38

Page 2: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Outline of the Talk

1 Example: Three-Party Key Agreement

2 Computation of the ηT Pairing

3 A Coprocessor for the ηT Pairing Computation

4 A Coprocessor for the Final Exponentiation

5 A Coprocessor for the Full Pairing Computation

6 Conclusion

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 2 / 38

Page 3: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Key agreement

How can Alice, Bob, and Chris agree upon a shared secret key?

Bob

Chris

Alice

?

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 3 / 38

Page 4: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Discrete logarithm problem (DLP)

G = 〈P〉: additively-written group of order n

DLP: given P, Q, find the integer x ∈ {0, . . . , n − 1} such thatQ = xP

Diffie-Hellman problem (DHP)

Given P, aP, and bP, find abP.

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 4 / 38

Page 5: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Discrete logarithm problem (DLP)

G = 〈P〉: additively-written group of order n

DLP: given P, Q, find the integer x ∈ {0, . . . , n − 1} such thatQ = xP

Diffie-Hellman problem (DHP)

Given P, aP, and bP, find abP.

Alice Boba b

aP bP

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 4 / 38

Page 6: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Discrete logarithm problem (DLP)

G = 〈P〉: additively-written group of order n

DLP: given P, Q, find the integer x ∈ {0, . . . , n − 1} such thatQ = xP

Diffie-Hellman problem (DHP)

Given P, aP, and bP, find abP.

Alice Boba b

aP bP

bP

aP

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 4 / 38

Page 7: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Discrete logarithm problem (DLP)

G = 〈P〉: additively-written group of order n

DLP: given P, Q, find the integer x ∈ {0, . . . , n − 1} such thatQ = xP

Diffie-Hellman problem (DHP)

Given P, aP, and bP, find abP.

Alice Boba b

abP abP

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 4 / 38

Page 8: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Alice

Chris

BobaP bP

cP

a b

c

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 5 / 38

Page 9: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

First round

Alice

Chris

BobaP

aP

bP bP

cP

cP

a b

c

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 5 / 38

Page 10: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

aAlice

Chris

BobabP acP

bcP

b

c

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 5 / 38

Page 11: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Second round

Alice

Chris

BobabP acP

bcP

acP

abP bcP

b

c

a

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 5 / 38

Page 12: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

c

abcP

Alice Bob

Chris

abcP

abcP

a b

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 5 / 38

Page 13: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Three-party two-round key agreement protocol

Does a three-party one-round key agreement protocol exist?

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 6 / 38

Page 14: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Bilinear pairing

G1 = 〈P〉: additively-written group

G2: multiplicatively-written group with identity 1

A bilinear pairing on (G1,G2) is a map

e : G1 × G1 → G2

that satisfies the following conditions:1 Bilinearity. For all Q, R, S ∈ G1,

e(Q + R,S) = e(Q,S)e(R,S) and e(Q,R + S) = e(Q,R)e(Q,S).

2 Non-degeneracy. e(P,P) 6= 1.3 Computability. e can be efficiently computed.

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 7 / 38

Page 15: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Bilinear Diffie-Hellman problem (BDHP)

Given P, aP, bP, and cP, compute e(P,P)abc

Assumption: the BDHP is difficult

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 8 / 38

Page 16: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Alice

Chris

BobaP bP

cP

a b

c

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 9 / 38

Page 17: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

BobaP bP

cP

bP

aP

cPaP cP bP

a b

c

Alice

Chris

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 9 / 38

Page 18: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

e(aP, bP)c

a

c

b

e(bP, cP)a e(aP, cP)b

e(bP, cP)a = e(aP, cP)b = e(aP, bP)c = e(P,P)abc

Alice

Chris

Bob

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 9 / 38

Page 19: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Example: Three-Party Key Agreement

Examples of cryptographic bilinear maps

Weil pairing

Tate pairing

ηT pairing (Barreto et al.)

Ate pairing (Hess et al.)

Applications

Identity based encryption

Short signature

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 10 / 38

Page 20: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Computation of the ηT Pairing

Q

Elliptic curve over F3m

P = (xp, yp)

Q = (xq, yq)

(F36m )

P

ExponentiationηT pairingcalculation

ηT (P,Q)ηT (P,Q)W ∈ F36m

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 11 / 38

Page 21: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Computation of the ηT Pairing – Tower Field

F32m = F3m [σ]/(σ2 + 1)

1 x x2 xm−1xm−2xm−3

F36m = F32m [ρ]/(ρ3 − ρ− 1)

1

σ

ρ2

1

F3 = Z/3Z = {0, 1, 2}

F3m = F3[x ]/(f (x))

ρ

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 12 / 38

Page 22: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Computation of the ηT Pairing – Tower Field

xm−3 xm−2 xm−1x2x1

F3m

ρ σρ1 σ σρ2ρ2

F32mF32m F32m

2 bits

2m bits

12m bits

F3

F36m

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 13 / 38

Page 23: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Computation of the ηT Pairing

ηT (P , Q)

Addition

Multiplication

Cubing

Cube root

ηT (P , Q)3m+1

2 (Arith 18)

Addition

Multiplication

Cubing

Bilinearity of ηT (P , Q)W

ηT (P,Q)W =3m

√√√√(ηT

([3

m−12

]P,Q

)3m+1

2

)W

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 14 / 38

Page 24: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Computation of the ηT Pairing

Multiplication over F36m – ηT (P , Q)m+1

2 multiplications

Operands: A and B ∈ F36m withσ ρ σρ ρ2 σρ2

B =

r0, yp, and yq ∈ F3m

1

−r20 ypyq −r0 0 −1 0

Cost: 13 multiplications and 46 additions over F3m

Multiplication over F36m – Exponentiation

Only one multiplication

Operands: A and B ∈ F36m

Cost: 18 multiplications and 58 additions over F3m

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 15 / 38

Page 25: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Exponentiation

(Waifi 2007)

ηT (P,Q)ηT (P,Q)W

P = (xp, yp)

Q = (xq, yq)ηT pairingcalculation

(Arith 18)

Computation of ηT (P , Q): multiplication over F36m

New algorithmI 15 multiplications and 29 additions over F3m

I Allows one to share operands between multipliers (less registers)

ArchitectureI 9 multipliersI Most significant coefficient first (Horner’s rule)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 16 / 38

Page 26: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Exponentiation

(Waifi 2007)

ηT (P,Q)ηT (P,Q)W

P = (xp, yp)

Q = (xq, yq)ηT pairingcalculation

(Arith 18)

Computation of ηT (P , Q): multiplication over F36m

New algorithmI 15 multiplications and 29 additions over F3m

I Allows one to share operands between multipliers (less registers)

ArchitectureI 9 multipliersI Most significant coefficient first (Horner’s rule)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 16 / 38

Page 27: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Prototype

Field: F397 = F3[x ]/(x97 + x12 + 2)

FPGA: Cyclone II EP2C35 (Altera)

ηT (P , Q) (Arith 18)

Arithmetic over F397

I 9 multipliersI 2 addersI 1 cubing unit

Area: 14895 LEs

Frequency: 149 MHz

Computation time: 33 µs

Exponentiation (Waifi 2007)

ChallengeRaise ηT (P,Q) to the W power

in 33 µs (or less)

with the smallest amount ofhardware

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 17 / 38

Page 28: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Prototype

Field: F397 = F3[x ]/(x97 + x12 + 2)

FPGA: Cyclone II EP2C35 (Altera)

ηT (P , Q) (Arith 18)

Arithmetic over F397

I 9 multipliersI 2 addersI 1 cubing unit

Area: 14895 LEs

Frequency: 149 MHz

Computation time: 33 µs

Exponentiation (Waifi 2007)

ChallengeRaise ηT (P,Q) to the W power

in 33 µs (or less)

with the smallest amount ofhardware

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 17 / 38

Page 29: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Prototype

Field: F397 = F3[x ]/(x97 + x12 + 2)

FPGA: Cyclone II EP2C35 (Altera)

ηT (P , Q) (Arith 18)

Arithmetic over F397

I 9 multipliersI 2 addersI 1 cubing unit

Area: 14895 LEs

Frequency: 149 MHz

Computation time: 33 µs

Exponentiation (Waifi 2007)

ChallengeRaise ηT (P,Q) to the W power

in 33 µs (or less)

with the smallest amount ofhardware

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 17 / 38

Page 30: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Why FPGAs?

Prototyping

Short time to market

Small series

Hardware accelerators for some applications (e.g. cryptography)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 18 / 38

Page 31: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Why FPGAs?

Prototyping

Short time to market

Small series

Hardware accelerators for some applications (e.g. cryptography)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 18 / 38

Page 32: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Why FPGAs?

Prototyping

Short time to market

Small series

Hardware accelerators for some applications (e.g. cryptography)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 18 / 38

Page 33: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

Why FPGAs?

Prototyping

Short time to market

Small series

Hardware accelerators for some applications (e.g. cryptography)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 18 / 38

Page 34: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Final exponentiation: operations over F3m

Additions 477

Multiplications 78

Cubings 3m + 3

Inversion 1

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 19 / 38

Page 35: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Addition over F3m

. . .

a0a1 b1

s1 = (a1 + b1) mod 3

addition

Modulo 3 Modulo 3

addition

b0

s0 = (a0 + b0) mod 3sm−1 = (am−1 + bm−1) mod 3

bm−1

Modulo 3

addition

am−1

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 20 / 38

Page 36: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Addition, subtraction, and accumulation over F3m

+/−

+/−a(x)

b(x)

c2 c3

c0 c1

Enable

Enable

0

c4

1

0

Add/Accumulate

s(x)

Addition of 3 operands

Multiplicationby 1 or 2

2b(x) ≡ −b(x) (mod 3)

c5

Enable

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 21 / 38

Page 37: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Multiplication over F3m

Array multiplier (dm/3e clock cycles)

Most significant coefficient first (Horner’s rule)

Multiplication by 0, 1, or 2

a3i

×x2

a3i+2

Shift register

c0

c4c3

a(x)

Enable andreset

Enable

c2c1

a3i+1

mod

fm

odf

Load and

mod

f

PP

G

×x3

shift

×x

PP

GP

PG

p(x)

Addition of 4 operands

b(x)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 22 / 38

Page 38: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Cubing over F3[x ]/(x97 + x12 + 2)

a60 a0a610

a96 a95 a94 a2 a1 a0

a60

ν2(x)ν0(x)

a(x)3

Addition of 3 operands

ν1(x)

a89a64 a61a32 0a65 a93

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 23 / 38

Page 39: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Arithmetic operators over F397 on a Cyclone II FPGA

OperationArea Control[LEs] [bits]

Add./sub. 970 6Mult. 1375 5Cubing 668 4

ALU 3308 17

AdditionMultiplication

Cubing

5 2a(x)

b(x)

Ctrl

p(x)

6 4

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 24 / 38

Page 40: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Unified arithmetic operator

OperationsI AdditionI SubtractionI AccumulationI MultiplicationI Cubing

Area (Cyclone II): 2676 LEs (instead of 3308)

Control bits: 11 (instead of 17)

Inversion: Fermat’s little theorem (96 cubings and 9 multiplications)

a3m−2 = a−1, where a ∈ F3m

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 25 / 38

Page 41: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Unified arithmetic operator

0

mod

f(x)

mod

f(x)

p(x)×x3

×x2

ν2(x)

ν1(x)

ν0(x)

×x

PP

GP

PG

PP

Gd03i

d03i+1

d03i+2

d2(x)

d1(x)

d0(x)

Shift Load

Enable

Load

registerShift

R2

R1

R0

0

0

1

1 1

0

c0 c1 c7 c8

c4 c5

c9 c10

c6

c2 c3

1

0

1

0

1

0

1

mod

f(x)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 26 / 38

Page 42: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Final Exponentiation

Prototype

Field: F397 = F3[x ]/(x97 + x12 + 2)

FPGA: Cyclone II EP2C35 (Altera)

ηT (P , Q) (Arith 18)

Arithmetic over F397

I 9 multipliersI 2 addersI 1 cubing unit

Area: 14895 LEs

Frequency: 149 MHz

Computation time: 33 µs

Exponentiation (Waifi 2007)

Unified operator

Area: 2787 LEs

Frequency: 159 MHz

Computation time: 26 µs

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 27 / 38

Page 43: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Full Pairing Computation

Operations over F3m

Single unified operator for computing ηT (P,Q)W

Additions 51 · m − 1

2+ 503

Multiplications 15 · m − 1

2+ 86

Cubings 10m + 2

Inversion 1

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 28 / 38

Page 44: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Full Pairing Computation

Results (CHES 2007)

FPGA: Xilinx Virtex-II Pro 4

F3[x ]/(x97 + x12 + 2)

Area: 1888 slices + 6 memory blocks

Clock frequency: 147 MHz

Clock cycles for a full pairing: 32618

Calculation time: 222µs

Extended Euclidean algorithm (EEA)

Area: 2210 additional slices

Clock cycles for a full pairing: 32419 instead of 32618

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 29 / 38

Page 45: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Full Pairing Computation

Results (CHES 2007)

FPGA: Xilinx Virtex-II Pro 4

F3[x ]/(x97 + x12 + 2)

Area: 1888 slices + 6 memory blocks

Clock frequency: 147 MHz

Clock cycles for a full pairing: 32618

Calculation time: 222µs

Extended Euclidean algorithm (EEA)

Area: 2210 additional slices

Clock cycles for a full pairing: 32419 instead of 32618

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 29 / 38

Page 46: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Conclusion

Comparisons

Architecture AreaCalculation

FPGAtime

Arith 18 & Waifi 2007 18000 LEs 33 µs Cyclone IICHES 2007 1888 slices 222 µs Virtex-II Pro

Grabher and Page (CHES 2005) 4481 slices 432 µs Virtex-II ProKerins et al. (CHES 2005) 55616 slices 850 µs Virtex-II ProRonan et al. (ITNG 2007) 10000 slices 178 µs Virtex-II Pro

(1 slice ≈ 2 LEs)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 30 / 38

Page 47: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Conclusion

VHDL code generator

Generation of an unified operator according to Fpm and f (x)

Support for the following operations:I AdditionI MultiplicationI Frobenius (a(x)p mod f (x))I Inverse Frobenius ( p

√a(x) mod f (x))

Future work

Automatic generation of the control unit

Application (e.g. short signature)

Genus 2

Side-channel

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 31 / 38

Page 48: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Conclusion

VHDL code generator

Generation of an unified operator according to Fpm and f (x)

Support for the following operations:I AdditionI MultiplicationI Frobenius (a(x)p mod f (x))I Inverse Frobenius ( p

√a(x) mod f (x))

Future work

Automatic generation of the control unit

Application (e.g. short signature)

Genus 2

Side-channel

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 31 / 38

Page 49: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Appendix

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 32 / 38

Page 50: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

A · (−r20 + ypyqσ − r0ρ− ρ2) = c0 + c1σ + c2ρ + c3σρ + c4ρ

2 + c5σρ2

c0 c1σ c2ρ c3σρ c4ρ2 c5σρ2

−a4r0 −a5r0 −a0r0 −a1r0 −a2r0 −a3r0−a2 −a3 −a4 −a5 −a0 −a1

−a2 −a3 −a4 −a5

−a4r0 −a5r0−a0r

20 a0ypyq −a2r

20 a2ypyq −a4r

20 a4ypyq

−a1ypyq −a1r20 −a3ypyq −a3r

20 −a5ypyq −a5r

20

1 Compute in parallel r20 , ypyq, a0r0, a1r0, a2r0, a3r0, a4r0, and a5r0 (8

multiplications)

2 Apply Karatsuba’s algorithm to compute the remaining products bymeans of 9 multipliers

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 33 / 38

Page 51: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

A · (−r20 + ypyqσ − r0ρ− ρ2) = c0 + c1σ + c2ρ + c3σρ + c4ρ

2 + c5σρ2

c0 c1σ c2ρ c3σρ c4ρ2 c5σρ2

−a4r0 −a5r0 −a0r0 −a1r0 −a2r0 −a3r0−a2 −a3 −a4 −a5 −a0 −a1

−a2 −a3 −a4 −a5

−a4r0 −a5r0−a0r

20 a0ypyq −a2r

20 a2ypyq −a4r

20 a4ypyq

−a1ypyq −a1r20 −a3ypyq −a3r

20 −a5ypyq −a5r

20

1 Compute in parallel r20 , ypyq, a0r0, a1r0, a2r0, a3r0, a4r0, and a5r0 (8

multiplications)

2 Apply Karatsuba’s algorithm to compute the remaining products bymeans of 9 multipliers

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 33 / 38

Page 52: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

A · (−r20 + ypyqσ − r0ρ− ρ2) = c0 + c1σ + c2ρ + c3σρ + c4ρ

2 + c5σρ2

c0 c1σ c2ρ c3σρ c4ρ2 c5σρ2

−a4r0 −a5r0 −a0r0 −a1r0 −a2r0 −a3r0−a2 −a3 −a4 −a5 −a0 −a1

−a2 −a3 −a4 −a5

−a4r0 −a5r0−a0r

20 a0ypyq −a2r

20 a2ypyq −a4r

20 a4ypyq

−a1ypyq −a1r20 −a3ypyq −a3r

20 −a5ypyq −a5r

20

1 Compute in parallel r20 , ypyq, a0r0, a1r0, a2r0, a3r0, a4r0, and a5r0 (8

multiplications)

2 Apply Karatsuba’s algorithm to compute the remaining products bymeans of 9 multipliers

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 33 / 38

Page 53: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

A · (−r20 + ypyqσ − r0ρ− ρ2) = c0 + c1σ + c2ρ + c3σρ + c4ρ

2 + c5σρ2

−a0r20 a0ypyq −a2r

20 a2ypyq −a4r

20 a4ypyq

−a1ypyq −a1r20 −a3ypyq −a3r

20 −a5ypyq −a5r

20

Karatsuba’s algorithm (9 multiplications performed in parallel):

a0ypyq − a1r20 = (a0 + a1)×(ypyq − r2

0 ) + a0×r20 − a1×ypyq

a2ypyq − a3r20 = (a2 + a3)×(ypyq − r2

0 ) + a2×r20 − a3×ypyq

a4ypyq − a5r20 = (a4 + a5)×(ypyq − r2

0 ) + a4×r20 − a5×ypyq

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 34 / 38

Page 54: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

M0 M1 M2

a0r0 a2r0 a4r0a0r

20 a2r

20 a4r

20

Three multipliers

Common operand:r0 or r2

0 Synchronous reset

D0

c2

c10

c1

00

c0

01

c4

10

c3

11

D1

Load Load LoadLoad

c8

Shift

c6

c7

c5

Clear

Load

Load

Clear

Select

P

c9

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 35 / 38

Page 55: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

M3 M4 M5

a1r0 a3r0 a5r0a1ypyq a3ypyq a5ypyq

Three multipliers

Common operand:r0 or ypyq Synchronous reset

D0

c2

c10

c1

00

c0

01

c4

10

c3

11

D1

Load Load LoadLoad

c8

Shift

c6

c7

c5

Clear

Load

Load

Clear

Select

P

c9

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 35 / 38

Page 56: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

Multiplication over F36m – ηT (P , Q)

M6 M7 M8

r 20 ypyq –

(a0 + a1)× (a2 + a3)× (a4 + a5)×(ypyq − r 2

0 ) (ypyq − r 20 ) (ypyq − r 2

0 )

01 01

c5

Load

c7

Load

c6

01

c9

Shift

c12 c11

Selectc10

Load

Load

Clear

c3

c4

c2c1

00 Select

c0

11

Load

Clear

10

Synchronous reset

PD

0

D1

Load Load

c8

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 36 / 38

Page 57: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the ηT Pairing Computation

0

1Mux0

d1

Ctrl

Ctrl

0

1

D0 Ctrl D1

pe_mult_block_t1_genericCtrl D1

Q

D0

Q

pe_mult_block_t1_generic pe_mult_block_t2_genericD0 Ctrl D1

Q

D0 D2D1

pe_addS

Mux110

D

C

pe_cubing Mux2

Ctrl

RAM

Qa

Qb

d0

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 37 / 38

Page 58: Arithmetic Operators for Pairing-Based CryptographyArithmetic Operators for Pairing-Based Cryptography Jean-Luc Beuchat Laboratory of Cryptography and Information Security Graduate

A Coprocessor for the Full Pairing Computation

Finite State

d0(x)

Start

Control

d2(x)

Counter

Address Address

Port APort B Processing element

Done

ROM

Machine

RAM

Port

BPo

rtA

1 10 0

DataAddrWen

WenAddrData

Unified

operator

c31 c30 c29 c28 c27 c26 c25 c24 c23 c22 c21 c20 c19 c18 c17 c15 c14c16 c13 c12 c11 c10 c9 c8 c6c7 c3c4c5 c2 c0c1

Wen

10 bits

32 bits

7 bits

198 bits

7 bits

194 bits

194 bits11 bits

194

bits

198

bits

P, Q

Select

Addr

Wen

ηT (P,Q)W

Addr

Q

QA

QB

p(x)

0

d1(x)

Jean-Luc Beuchat (LCIS) ηT Pairing in Characteristic Three 38 / 38


Recommended