post-quantum cryptography #2 -...

132
Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University 49 jeudi 18 juillet 13

Upload: others

Post on 21-May-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Post-Quantum Cryptography #2

Prof. Claude CrépeauMcGill University

49jeudi 18 juillet 13

Page 2: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Post-Quantum Cryptography

Finite Fields based cryptography

Codes

Multi-variate Polynomials

Integers based cryptography

Approximate Integer GCD

Lattices

50jeudi 18 juillet 13

Page 3: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

(51jeudi 18 juillet 13

Page 4: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Key

Encryption

52jeudi 18 juillet 13

Page 5: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

P C

EEnnccrryyppttiioonn

DDeeccrryyppttiioonn

AAssyymmmmeettrriicc EEnnccrryyppttiioonn

((PPuubblliicc--KKeeyy CCrryyppttooggrraapphhyy))

Kd

Ke

CCoommpplleexxiittyy TThheeoorreettiiccaall SSeeccuurriittyy

53jeudi 18 juillet 13

Page 6: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

P C

EEnnccrryyppttiioonn

DDeeccrryyppttiioonn

AAssyymmmmeettrriicc EEnnccrryyppttiioonn

((PPuubblliicc--KKeeyy CCrryyppttooggrraapphhyy))

Kd

Ke

CCoommpplleexxiittyy TThheeoorreettiiccaall SSeeccuurriittyy

$

53jeudi 18 juillet 13

Page 7: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

P C

EEnnccrryyppttiioonn

DDeeccrryyppttiioonn

AAssyymmmmeettrriicc EEnnccrryyppttiioonn

((PPuubblliicc--KKeeyy CCrryyppttooggrraapphhyy))

Kd

Ke

CCoommpplleexxiittyy TThheeoorreettiiccaall SSeeccuurriittyy

$

53jeudi 18 juillet 13

Page 8: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

»

»»»»»

»

WWiillll yyoouu mmaarrrryy mmee ??

»

DDeeccrryyppttiioonn

mmaarrrryy mmee ??»EEnnccrryyppttiioonn

PPuubblliicc--KKeeyy CCrryyppttooggrraapphhyy

54jeudi 18 juillet 13

Page 9: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

»

»»»»»

»

WWiillll yyoouu mmaarrrryy mmee ??

»

DDeeccrryyppttiioonn

mmaarrrryy mmee ??»EEnnccrryyppttiioonn

PPuubblliicc--KKeeyy CCrryyppttooggrraapphhyy

54jeudi 18 juillet 13

Page 10: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

»

»»»»»

»

WWiillll yyoouu mmaarrrryy mmee ??

»

DDeeccrryyppttiioonn

mmaarrrryy mmee ??»EEnnccrryyppttiioonn

PPuubblliicc--KKeeyy CCrryyppttooggrraapphhyy

54jeudi 18 juillet 13

Page 11: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Digital

Signatures

55jeudi 18 juillet 13

Page 12: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Kv

KaM T

CCoommpplleexxiittyy TThheeoorreettiiccaall SSeeccuurriittyy

AAuutthheennttiiccaattiioonn

VVeerriiffiiccaattiioonn

AAssyymmmmeettrriicc AAuutthheennttiiccaattiioonn

((DDiiggiittaall SSiiggnnaattuurree SScchheemmee))

56jeudi 18 juillet 13

Page 13: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

» »

»

WWiillll yyoouu mmaarrrryy mmee ??

»»»»»

VVeerriiffiiccaattiioonn

mmaarrrryy mmee ??»AAuutthheennttiiccaattiioonn

DDiiggiittaall SSiiggnnaattuurree

WWiillll yyoouu mmaarrrryy mmee ??

VVAALLIIDD

57jeudi 18 juillet 13

Page 14: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

» »

»

WWiillll yyoouu mmaarrrryy mmee ??

»»»»»

VVeerriiffiiccaattiioonn

mmaarrrryy mmee ??»AAuutthheennttiiccaattiioonn

DDiiggiittaall SSiiggnnaattuurree

WWiillll yyoouu mmaarrrryy mmee ??

VVAALLIIDD

57jeudi 18 juillet 13

Page 15: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

» »

»

WWiillll yyoouu mmaarrrryy mmee ??

»»»»»

VVeerriiffiiccaattiioonn

mmaarrrryy mmee ??»AAuutthheennttiiccaattiioonn

DDiiggiittaall SSiiggnnaattuurree

WWiillll yyoouu mmaarrrryy mmee ??

VVAALLIIDD

57jeudi 18 juillet 13

Page 16: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

)58jeudi 18 juillet 13

Page 17: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code Equivalence

59jeudi 18 juillet 13

Page 18: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Two [n,k,d] linear codes C,C’ are (permutation) equivalent if there exists a kxk non-singular matrix S & an nxn permutation matrix P s.t.

Code Equivalence

59jeudi 18 juillet 13

Page 19: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Two [n,k,d] linear codes C,C’ are (permutation) equivalent if there exists a kxk non-singular matrix S & an nxn permutation matrix P s.t.

G’ = SGP

Code Equivalence

59jeudi 18 juillet 13

Page 20: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Two [n,k,d] linear codes C,C’ are (permutation) equivalent if there exists a kxk non-singular matrix S & an nxn permutation matrix P s.t.

G’ = SGP

the codewords of C and C’ have exactly all the same weights

Code Equivalence

59jeudi 18 juillet 13

Page 21: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code Equivalence

60jeudi 18 juillet 13

Page 22: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let C’ be an [n,k,d] linear code equivalent to a code C.

Code Equivalence

60jeudi 18 juillet 13

Page 23: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let C’ be an [n,k,d] linear code equivalent to a code C.

Let Cor:0,1n→C be an efficient nearest codeword

error-correcting procedure for C (upto d-1/2 errors)

Code Equivalence

60jeudi 18 juillet 13

Page 24: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let C’ be an [n,k,d] linear code equivalent to a code C.

Let Cor:0,1n→C be an efficient nearest codeword

error-correcting procedure for C (upto d-1/2 errors)

Define C’or(w):=Cor(wP-1)P,

Code Equivalence

60jeudi 18 juillet 13

Page 25: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let C’ be an [n,k,d] linear code equivalent to a code C.

Let Cor:0,1n→C be an efficient nearest codeword

error-correcting procedure for C (upto d-1/2 errors)

Define C’or(w):=Cor(wP-1)P,

then C’or:0,1n→C’ is an efficient nearest codeword

error-correcting procedure for C’ (upto d-1/2 errors)

Code Equivalence

60jeudi 18 juillet 13

Page 26: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

McElieceCryptosystem

61jeudi 18 juillet 13

Page 27: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGoppat, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

McElieceCryptosystem

61jeudi 18 juillet 13

Page 28: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGoppat, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

Let e∈rerror vector of weight t & m∈0,1k a plaintextlet w=mG′+e be a ciphertext.

McElieceCryptosystem

61jeudi 18 juillet 13

Page 29: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGoppat, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

Let e∈rerror vector of weight t & m∈0,1k a plaintextlet w=mG′+e be a ciphertext.

Given (only) G′,w finding

McElieceCryptosystem

61jeudi 18 juillet 13

Page 30: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGoppat, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

Let e∈rerror vector of weight t & m∈0,1k a plaintextlet w=mG′+e be a ciphertext.

Given (only) G′,w finding

c’ = C’or(w) is difficult.

McElieceCryptosystem

61jeudi 18 juillet 13

Page 31: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

NiederreiterCryptosystem

62jeudi 18 juillet 13

Page 32: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGRSt, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

NiederreiterCryptosystem

62jeudi 18 juillet 13

Page 33: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGRSt, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

Let m∈error vector of weight t a plaintext & c’∈rC’let w=c′+m be a ciphertext.

NiederreiterCryptosystem

62jeudi 18 juillet 13

Page 34: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGRSt, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

Let m∈error vector of weight t a plaintext & c’∈rC’let w=c′+m be a ciphertext.

Given (only) G′,w finding

NiederreiterCryptosystem

62jeudi 18 juillet 13

Page 35: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGRSt, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key,

Let m∈error vector of weight t a plaintext & c’∈rC’let w=c′+m be a ciphertext.

Given (only) G′,w finding

c’ = C’or(w) is difficult.

NiederreiterCryptosystem

62jeudi 18 juillet 13

Page 36: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

BothCryptosystems

63jeudi 18 juillet 13

Page 37: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGRS/Goppat, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key, e∈error vector of

weight t and let w=c+e for c∈C(G′).

BothCryptosystems

63jeudi 18 juillet 13

Page 38: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Let G∈rGRS/Goppat, S∈r𝔽2kxk, & P∈rPerm be the private-key, & G′= SGP be the public-key, e∈error vector of

weight t and let w=c+e for c∈C(G′).

Given G,S,P, w finding c=Cor(w) and e=w-c is easy.

BothCryptosystems

63jeudi 18 juillet 13

Page 39: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

64jeudi 18 juillet 13

Page 40: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 41: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Binary Goppa codes seem safe, but not

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 42: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Binary Goppa codes seem safe, but not

(Generalized) Reed-Solomon codes,

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 43: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Binary Goppa codes seem safe, but not

(Generalized) Reed-Solomon codes,

concatenated codes,

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 44: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Binary Goppa codes seem safe, but not

(Generalized) Reed-Solomon codes,

concatenated codes,

elliptic codes,

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 45: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Binary Goppa codes seem safe, but not

(Generalized) Reed-Solomon codes,

concatenated codes,

elliptic codes,

Reed-Muller codes,

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 46: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Binary Goppa codes seem safe, but not

(Generalized) Reed-Solomon codes,

concatenated codes,

elliptic codes,

Reed-Muller codes,

Convolutional codes

Families of Codes

Nicolas Sendrier

65jeudi 18 juillet 13

Page 47: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code based cryptography

66jeudi 18 juillet 13

Page 48: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code based cryptography

Courtois, Finiasz and Sendrier signature scheme

66jeudi 18 juillet 13

Page 49: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code based cryptography

Courtois, Finiasz and Sendrier signature scheme

Stern’s identification scheme

66jeudi 18 juillet 13

Page 50: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code based cryptography

Courtois, Finiasz and Sendrier signature scheme

Stern’s identification scheme

Code based PRNG

66jeudi 18 juillet 13

Page 51: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Code based cryptography

Courtois, Finiasz and Sendrier signature scheme

Stern’s identification scheme

Code based PRNG

Code based hash function

66jeudi 18 juillet 13

Page 52: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

0

Code based cryptography

§

67jeudi 18 juillet 13

Page 53: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Post-Quantum Cryptography

Finite Fields based cryptography

Codes

Multi-variate Polynomials

Integers based cryptography

Approximate Integer GCD

Lattices

68jeudi 18 juillet 13

Page 54: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

§

69jeudi 18 juillet 13

Page 55: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

70jeudi 18 juillet 13

Page 56: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽n.

70jeudi 18 juillet 13

Page 57: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽n.

zk = pk(x) := ∑i Pikxi + ∑i Qikxi2 + ∑i<j Rijkxixj

70jeudi 18 juillet 13

Page 58: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽n.

zk = pk(x) := ∑i Pikxi + ∑i Qikxi2 + ∑i<j Rijkxixj

When we are working over 𝔽=𝔽2 , note that x2 = x, so it suffices to consider multilinear polynomials:zk = pk(x) := ∑

i Pikxi + ∑i<j Rijkxixj

70jeudi 18 juillet 13

Page 59: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽n.

zk = pk(x) := ∑i Pikxi + ∑i Qikxi2 + ∑i<j Rijkxixj

When we are working over 𝔽=𝔽2 , note that x2 = x, so it suffices to consider multilinear polynomials:zk = pk(x) := ∑

i Pikxi + ∑i<j Rijkxixj

In general, finding x from z=P(x) is NP-hard.

70jeudi 18 juillet 13

Page 60: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽n.

zk = pk(x) := ∑i Pikxi + ∑i Qikxi2 + ∑i<j Rijkxixj

When we are working over 𝔽=𝔽2 , note that x2 = x, so it suffices to consider multilinear polynomials:zk = pk(x) := ∑

i Pikxi + ∑i<j Rijkxixj

In general, finding x from z=P(x) is NP-hard.

We seek more : finding x from z=P(x) being hard on average.

70jeudi 18 juillet 13

Page 61: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

71jeudi 18 juillet 13

Page 62: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽2n.

71jeudi 18 juillet 13

Page 63: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽2n.

zk = pk(x) := ∑i Pikxi + ∑i<j Rijkxixj

71jeudi 18 juillet 13

Page 64: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽2n.

zk = pk(x) := ∑i Pikxi + ∑i<j Rijkxixj

Public-key: P

71jeudi 18 juillet 13

Page 65: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽2n.

zk = pk(x) := ∑i Pikxi + ∑i<j Rijkxixj

Public-key: P

EncP(x)=P(x)

71jeudi 18 juillet 13

Page 66: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

P = (p1(x1,...,xn),...,pm(x1,...,xn)) for x=(x1,...,xn) over 𝔽2n.

zk = pk(x) := ∑i Pikxi + ∑i<j Rijkxixj

Public-key: P

EncP(x)=P(x)

Dec(z)= find x s.t. z=P(x) (specific to P’s design)

71jeudi 18 juillet 13

Page 67: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

72jeudi 18 juillet 13

Page 68: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

MPKCs almost always hide a private map Q via composition with secret affine maps S, and T.

72jeudi 18 juillet 13

Page 69: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

MPKCs almost always hide a private map Q via composition with secret affine maps S, and T.

So, P=TQS: 𝔽n→𝔽m, or P(x):=MT Q( MSx+cS ) + cT

72jeudi 18 juillet 13

Page 70: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

MPKCs almost always hide a private map Q via composition with secret affine maps S, and T.

So, P=TQS: 𝔽n→𝔽m, or P(x):=MT Q( MSx+cS ) + cT

In any given scheme, the central map Q belongs to a certain class of quadratic maps whose inverse can be computed relatively easily.

72jeudi 18 juillet 13

Page 71: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

MPKCs almost always hide a private map Q via composition with secret affine maps S, and T.

So, P=TQS: 𝔽n→𝔽m, or P(x):=MT Q( MSx+cS ) + cT

In any given scheme, the central map Q belongs to a certain class of quadratic maps whose inverse can be computed relatively easily.

x = MS-1 Q-1( MT-1 P(x)-c′T ) - c′S

where c′T := MT-1 cT and c′S := MS-1 cS

72jeudi 18 juillet 13

Page 72: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

73jeudi 18 juillet 13

Page 73: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

MPKCs almost always hide a private map Q via composition with secret affine maps S, and T. So, P=TQS: 𝔽n→𝔽m, or P(x):=MT Q( MSx+cS ) + cT

73jeudi 18 juillet 13

Page 74: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

MPKCs almost always hide a private map Q via composition with secret affine maps S, and T. So, P=TQS: 𝔽n→𝔽m, or P(x):=MT Q( MSx+cS ) + cT

Private-key: (MT-1, c′T), (MS-1, c′S), Q-1

Dec(y) = MS-1 Q-1( MT-1 y-c′T ) - c′S

where c′T := MT-1 cT and c′S := MS-1 cS

73jeudi 18 juillet 13

Page 75: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Matsumoto-Imai

74jeudi 18 juillet 13

Page 76: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Matsumoto-Imai

Example: ( a sort of RSA type system )

74jeudi 18 juillet 13

Page 77: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Matsumoto-Imai

Example: ( a sort of RSA type system )

Any single univariate f over 𝔽2n can be represented by n multivariate algebraic functions yi = fi(x1,x2, ...,xn) over 𝔽2.

74jeudi 18 juillet 13

Page 78: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Matsumoto-Imai

Example: ( a sort of RSA type system )

Any single univariate f over 𝔽2n can be represented by n multivariate algebraic functions yi = fi(x1,x2, ...,xn) over 𝔽2.

Q(x) := x2a+1 , a<n, over 𝔽2n such that gcd(2a+1,2n-1)=1(squaring over 𝔽2n is actually a linear transform

over 𝔽2n)*

74jeudi 18 juillet 13

Page 79: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Matsumoto-Imai

Example: ( a sort of RSA type system )

Any single univariate f over 𝔽2n can be represented by n multivariate algebraic functions yi = fi(x1,x2, ...,xn) over 𝔽2.

Q(x) := x2a+1 , a<n, over 𝔽2n such that gcd(2a+1,2n-1)=1(squaring over 𝔽2n is actually a linear transform

over 𝔽2n)*

Then there exists h := (2a+1)-1 mod 2n-1 such that Q-1(y)=yh over 𝔽2n

74jeudi 18 juillet 13

Page 80: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Squaring over 𝔽2n is linear over 𝔽2

(xn-1,...,x1,x0)2

=(xn-1xn-1+...+x1x+x0)2 mod P(x)= xn-1x2n-2+...+x1x2+x0 mod P(x)

/ / 1 \ / x2 \ ... / x2n-2 \ \ / x0 \= | |mod| |mod| ... | mod | | | x1 | \ \ P / \ P / ... \ P / / | ... | \xn-1/= Msq x

75jeudi 18 juillet 13

Page 81: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Squaring over 𝔽2n is linear over 𝔽2

(xn-1,...,x1,x0)2

=(xn-1xn-1+...+x1x+x0)2 mod P(x)= xn-1x2n-2+...+x1x2+x0 mod P(x)

/ / 1 \ / x2 \ ... / x2n-2 \ \ / x0 \= | |mod| |mod| ... | mod | | | x1 | \ \ P / \ P / ... \ P / / | ... | \xn-1/= Msq x

75jeudi 18 juillet 13

Page 82: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Squaring over 𝔽2n is linear over 𝔽2

(xn-1,...,x1,x0)2

=(xn-1xn-1+...+x1x+x0)2 mod P(x)= xn-1x2n-2+...+x1x2+x0 mod P(x)

/ / 1 \ / x2 \ ... / x2n-2 \ \ / x0 \= | |mod| |mod| ... | mod | | | x1 | \ \ P / \ P / ... \ P / / | ... | \xn-1/= Msq x

75jeudi 18 juillet 13

Page 83: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Squaring over 𝔽2n is linear over 𝔽2

(xn-1,...,x1,x0)2

=(xn-1xn-1+...+x1x+x0)2 mod P(x)= xn-1x2n-2+...+x1x2+x0 mod P(x)

/ / 1 \ / x2 \ ... / x2n-2 \ \ / x0 \= | |mod| |mod| ... | mod | | | x1 | \ \ P / \ P / ... \ P / / | ... | \xn-1/= Msq x

75jeudi 18 juillet 13

Page 84: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

x2i over 𝔽2n is linear over 𝔽2

(yn-1,...,y1,y0) = (xn-1,...,x1,x0)2i = Misq x

is a system of n degree 1 equations

y0 = (Misq)0 x y1 = (Misq)1 x y2 = (Misq)2 x ... yn-1 = (Misq)n-1 x

76jeudi 18 juillet 13

Page 85: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

x2i+1 over 𝔽2n is quadratic over 𝔽2

(zn-1,...,z1,z0) = (xn-1,...,x1,x0)2i+1 = (yn-1,...,y1,y0)*(xn-1,...,x1,x0)

is a system of n degree 2 equations

77jeudi 18 juillet 13

Page 86: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

MI vs RSA

78jeudi 18 juillet 13

Page 87: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

MI vs RSA

Unlike the RSA scheme, the size qn−1 of the multiplicative group of 𝔽2n is known, and thus anyone can compute h from 2a+1.

78jeudi 18 juillet 13

Page 88: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

MI vs RSA

Unlike the RSA scheme, the size qn−1 of the multiplicative group of 𝔽2n is known, and thus anyone can compute h from 2a+1.

MI thus based the security of the scheme on the different principle of mapping obfuscation. (à la McEliece)

78jeudi 18 juillet 13

Page 89: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH

79jeudi 18 juillet 13

Page 90: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH

The MI scheme was broken by a very clever attack developed by Patarin in 1995.

79jeudi 18 juillet 13

Page 91: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH

The MI scheme was broken by a very clever attack developed by Patarin in 1995.

Based on an idea of Shamir from 1993, Patarin et al proposed to avoid their own attack by deleting r out of the n equations from the MI public key, and called the resulting scheme SFLASH.

79jeudi 18 juillet 13

Page 92: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH

80jeudi 18 juillet 13

Page 93: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH

If we denote the final truncation Π, the SFLASH public key is:

PΠ = ΠTQS

80jeudi 18 juillet 13

Page 94: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH

If we denote the final truncation Π, the SFLASH public key is:

PΠ = ΠTQS

Such truncated keys can be used in signature schemes but not in encryption schemes, since they cannot be inverted uniquely.

80jeudi 18 juillet 13

Page 95: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH & NESSIE

81jeudi 18 juillet 13

Page 96: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH & NESSIEThe SFLASH scheme was selected in 2003 by the ‘new european schemes for signatures integrity and encryption’ Consortium as one of only three recommended public key signature schemes, and as the best known solution for low cost smart cards

81jeudi 18 juillet 13

Page 97: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH & NESSIEThe SFLASH scheme was selected in 2003 by the ‘new european schemes for signatures integrity and encryption’ Consortium as one of only three recommended public key signature schemes, and as the best known solution for low cost smart cards

The first version of SFLASH, called SFLASHv1, had a subtle bug which was discovered by Gilbert and Minier. It was replaced by two versions (SFLASHv2 & v3).

81jeudi 18 juillet 13

Page 98: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH & NESSIEThe SFLASH scheme was selected in 2003 by the ‘new european schemes for signatures integrity and encryption’ Consortium as one of only three recommended public key signature schemes, and as the best known solution for low cost smart cards

The first version of SFLASH, called SFLASHv1, had a subtle bug which was discovered by Gilbert and Minier. It was replaced by two versions (SFLASHv2 & v3).

They differ only in their security parameters:for SFLASHv2 : q = 27, n = 37, a = 11 and r = 11for SFLASHv3 : q = 27, n = 67, a = 33 and r = 11

81jeudi 18 juillet 13

Page 99: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

SFLASH & NESSIEThe SFLASH scheme was selected in 2003 by the ‘new european schemes for signatures integrity and encryption’ Consortium as one of only three recommended public key signature schemes, and as the best known solution for low cost smart cards

The first version of SFLASH, called SFLASHv1, had a subtle bug which was discovered by Gilbert and Minier. It was replaced by two versions (SFLASHv2 & v3).

They differ only in their security parameters:for SFLASHv2 : q = 27, n = 37, a = 11 and r = 11for SFLASHv3 : q = 27, n = 67, a = 33 and r = 11

Dubois, Fouque, Shamir, Stern broke SFLASHv2 & v3 in 2007.

81jeudi 18 juillet 13

Page 100: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Variations

82jeudi 18 juillet 13

Page 101: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Variations

*

*as of 2008

83jeudi 18 juillet 13

Page 102: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Multi-variate Poly based cryptography

§

84jeudi 18 juillet 13

Page 103: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Post-Quantum Cryptography

Finite Fields based cryptography

Codes

Multi-variate Polynomials

Integers based cryptography

Approximate Integer GCD

Lattices

85jeudi 18 juillet 13

Page 104: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Cryptographic Moneybased on hidden codes

(hidden sub-spaces)

86jeudi 18 juillet 13

Page 105: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden (Linear) Code

87jeudi 18 juillet 13

Page 106: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden (Linear) Code

a linear [n,k,d] code C ⊂ 𝔽n over arbitrary finite field 𝔽.

87jeudi 18 juillet 13

Page 107: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden (Linear) Code

a linear [n,k,d] code C ⊂ 𝔽n over arbitrary finite field 𝔽.

a positive integer degree D,

87jeudi 18 juillet 13

Page 108: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden (Linear) Code

a linear [n,k,d] code C ⊂ 𝔽n over arbitrary finite field 𝔽.

a positive integer degree D,

ID,C = degree-D polynomials that vanish on C .

87jeudi 18 juillet 13

Page 109: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden (Linear) Code

a linear [n,k,d] code C ⊂ 𝔽n over arbitrary finite field 𝔽.

a positive integer degree D,

ID,C = degree-D polynomials that vanish on C .

For simplicity, assume we use 𝔽=𝔽2 .

87jeudi 18 juillet 13

Page 110: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden Code

88jeudi 18 juillet 13

Page 111: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden Code

Lemma AIt is possible to sample a uniformly-random element of ID,C in time O(nD).

88jeudi 18 juillet 13

Page 112: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden Code

Lemma BFix C ⊂ 𝔽22n and β > 1, and choose βn independent uniformly-random samples from ID,C.With probability 1 − 2−Ω(n), the set of points on which they are all zero is exactly C.

Lemma AIt is possible to sample a uniformly-random element of ID,C in time O(nD).

88jeudi 18 juillet 13

Page 113: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyChristianoAaronson

89jeudi 18 juillet 13

Page 114: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

ChristianoAaronson

89jeudi 18 juillet 13

Page 115: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

ChristianoAaronson

89jeudi 18 juillet 13

Page 116: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

ChristianoAaronson

89jeudi 18 juillet 13

Page 117: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

|$⟩ = ∑c∈C |c⟩, [H]⊗n|$⟩ = ∑c’∈C⊥ |c’⟩

ChristianoAaronson

89jeudi 18 juillet 13

Page 118: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

|$⟩ = ∑c∈C |c⟩, [H]⊗n|$⟩ = ∑c’∈C⊥ |c’⟩

checking |$⟩: using P1(x),...,Pβn(x), validate that |$⟩ is made only of states from C and using Q1(x),...,Qβn(x), validate that [H]|$⟩ is made only of states from C⊥.

ChristianoAaronson

89jeudi 18 juillet 13

Page 119: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyChristianoAaronson

90jeudi 18 juillet 13

Page 120: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyP1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

ChristianoAaronson

90jeudi 18 juillet 13

Page 121: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyP1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

ChristianoAaronson

90jeudi 18 juillet 13

Page 122: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyP1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

ChristianoAaronson

90jeudi 18 juillet 13

Page 123: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyP1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

The special structure of (C,C⊥), yields an attack for degree 2 polynomials. So D must be at least 3.

ChristianoAaronson

90jeudi 18 juillet 13

Page 124: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyP1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

The special structure of (C,C⊥), yields an attack for degree 2 polynomials. So D must be at least 3.

In Q-Money C or C⊥ may be sampled once.

ChristianoAaronson

90jeudi 18 juillet 13

Page 125: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-MoneyP1(x), P2(x),...,Pβn(x) define C=Span(G) (Public-key)

Q1(x), Q2(x),...,Qβn(x) define C⊥=Ker(G) (Public-key)

∀c∈C,c’∈C⊥,i,j Pi(c)=0 and Qj(c’)=0

The special structure of (C,C⊥), yields an attack for degree 2 polynomials. So D must be at least 3.

In Q-Money C or C⊥ may be sampled once.

Weakens the security. Degree D=4 with sample is as hard as degree 3 without a sample. So they choose D=4.

ChristianoAaronson

90jeudi 18 juillet 13

Page 126: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Hidden Code

Let ZD,C,ℇ be the distribution which sets ID,C with probability 1-ℇ ID,® with probability ℇwhere ® is a random code of dimension k.

Lemma CFix C ⊂ 𝔽22n and ℇ <1, let β=32/(1-ℇ)2 , and choose βn independent samples from ZD,C,ℇ. Let δ = 1/2 + (1− ℇ)/4. With probability 1 − 2−Ω(n) the set of points on which at least δβn polynomials are zero is exactly C.

ZD,C,ℇ =

91jeudi 18 juillet 13

Page 127: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

92jeudi 18 juillet 13

Page 128: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1′(x), P2′(x),...,Pβ′n(x) define C=Span(G) (Public-key)

92jeudi 18 juillet 13

Page 129: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1′(x), P2′(x),...,Pβ′n(x) define C=Span(G) (Public-key)

Q1′(x), Q2′(x),...,Qβ′n(x) define C⊥=Ker(G) (Public-key)

92jeudi 18 juillet 13

Page 130: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1′(x), P2′(x),...,Pβ′n(x) define C=Span(G) (Public-key)

Q1′(x), Q2′(x),...,Qβ′n(x) define C⊥=Ker(G) (Public-key)

∀c∈C, c’∈C⊥ Pi(c)=0 and Qj(c’)=0 with probability ≥ δ.

92jeudi 18 juillet 13

Page 131: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Public Q-Money

P1′(x), P2′(x),...,Pβ′n(x) define C=Span(G) (Public-key)

Q1′(x), Q2′(x),...,Qβ′n(x) define C⊥=Ker(G) (Public-key)

∀c∈C, c’∈C⊥ Pi(c)=0 and Qj(c’)=0 with probability ≥ δ.

Adding misleading polynomials may only make the assumption harder to break...

92jeudi 18 juillet 13

Page 132: Post-Quantum Cryptography #2 - crypto.cs.mcgill.cacrypto.cs.mcgill.ca/~crepeau/WATERLOO/LEC-2.pdf · Post-Quantum Cryptography #2 Prof. Claude Crépeau McGill University jeudi 18

Cryptographic Moneybased on hidden codes

(hidden sub-spaces)

93jeudi 18 juillet 13