SlideShare a Scribd company logo
1 of 47
Download to read offline
LATTICE-BASEDLATTICE-BASED
CRYPTOGRAPHYCRYPTOGRAPHY Alexandre Augusto GironAlexandre Augusto Giron
Lattice-Based CryptographyLattice-Based Cryptography2
Outline
1 Introduction
Definitions
Lattice Problems
Lattice Basis Reduction
Learning With Errors (LWE)
Applicability of Lattices
2 GGH Cryptosystem
3 NTRU Cryptosystem
4 Conclusions
Lattice-Based CryptographyLattice-Based Cryptography3
References & Materials
Books:
Bernstein, Daniel J., Buchmann, Johannes and Dahmen, Erik. Post-Quantum
Cryptography. Springer-Verlag Berlin Heidelberg, 2009. (pp 147-187).
Buchmann, J. Post Quantum Cryptography. 2010. (pp 22-37).
Von zur Gathen, Joachim. CryptoSchool. Springer, 2015. (pp 575-651)
Papers:
Hoffstein, Jeffrey, Jill Pipher, and Joseph H. Silverman. "NTRU: A ring-based
public key cryptosystem." International Algorithmic Number Theory Symposium.
Springer, Berlin, Heidelberg, 1998.
Coppersmith, Don, and Adi Shamir. "Lattice attacks on NTRU." International
Conference on the Theory and Applications of Cryptographic Techniques. Springer,
Berlin, Heidelberg, 1997.
Bernstein, Daniel J., et al. "NTRU Prime: reducing attack surface at low cost."
International Conference on Selected Areas in Cryptography. Springer, Cham, 2017.
Puodzius, Cassius de Oliveira, and Paulo SLM Barreto. "Implementação do
Criptossistema Pós-Quântico NTRU conforme a Norma IEEE 1363.1." X Simpósio
Brasileiro em Segurança da Informação e de Sistemas Computacionais.
Wang, Qingxuan, Chi Cheng, and Ling Zuo. "Analysis and Improvement of a NTRU-Based
Handover Authentication Scheme." IEEE Communications Letters (2019).
Xie, Shaofen, et al. "Similarity Test for Privacy-Preserving Medical Data Sharing
Based on NTRU Encryption." 2019 IEEE 9th International Conference on Electronics
Information and Emergency Communication (ICEIEC). IEEE, 2019.
Summer SchoolSummer School on Post-Quantum Cryptography 2017 -on Post-Quantum Cryptography 2017 -
https://2017.pqcrypto.org/school/schedule.htmlhttps://2017.pqcrypto.org/school/schedule.html
Lattice-Based CryptographyLattice-Based Cryptography4
IntroductionIntroduction
What is a lattice?
Thijs Laarhoven:
Vector space (n dimensions)
Has Basis Vectors (ex b1 e b2)
L generated by all of the integer linear combinations of the basis vectors
(ex 5*b1 – 2*b2 → a point in the lattice).
Bernstein: ”A lattice is a set of points in n-dimensional space with a
periodic structure”
Von Zur Gathen:
Lattice-Based CryptographyLattice-Based Cryptography5
Introduction
Example
Point p = 3*(12,2) – 2*(13,4)
= (36,6) – (26,8)
= (10,-2)
p is here
Lattice-Based CryptographyLattice-Based Cryptography6
Introduction
Definitions
Matrix notation for a lattice
(1) If U is a Unimodular matrix, the basis B and BU generates
the same lattice:
(2) Determinant of a lattice:
(3) Linearly Independent Vectors
if the equation of the linear combinations:
a1v1+ a2v2 +… + anvn = 0 is true only when ai are all equal to zero.
(4) Norm (Euclidean Norm)
x = (x1,x2...xn) ϵ ℝn
,
⋆: inner product
Lattice-Based CryptographyLattice-Based Cryptography7
Introduction
Lattice Problems
Shortest (nonzero) Vector Problem (SVP)
Closest Vector Problem (CVP)
Related to a point t
Approximations
Ex: SVPγ: find a vector whose norm is at
most γ times that of the shortest nonzero
vector.
Lattice-Based CryptographyLattice-Based Cryptography8
Introduction
Lattice Basis Reduction
“Find nicer basis of the
same lattice”
Ex: r1,r2 generates the same
lattice
Reduction Algorithms:
Gauss Algorithm (or Lagrange Algo.)
LLL reduction [LLL82]
Blockwise generalization of Gauss reduction
BKZ reduction [Sch87, SE94]
Blockwise generalization of Korkin-Zolotarev reduction
Goal is to find the SVP in projected sub-lattices in dimension k
Lattice-Based CryptographyLattice-Based Cryptography9
Introduction
Gauss Reduction
Works in two dimensions
Normalize: Gram-Schmidt orthogonalization (GSO) that is computed with
the GS-process.
Swap: Switches two vectors (b1 , b2) → (b2 , b1).
Lattice-Based CryptographyLattice-Based Cryptography10
Introduction
GS Process
onde
Lattice-Based CryptographyLattice-Based Cryptography11
Introduction – Summer School Exercise
Preparação:
‖b1‖⩽‖b2‖
‖b1‖=√144∗144+0∗0=144
‖b2‖=√89∗89+1∗1=√7922=89.01
b1=(89,1)
b2=(144,0)
Logo: swap(b1
,b2
)
Lattice-Based CryptographyLattice-Based Cryptography12
Introduction – Summer School Exercise
Iteração 1: b1=(89,1)
b2=(144,0)
|μ2,1|=
⟨b2 ,
~
b1⟩
‖
~
b1‖
2
|μ2,1|=
144∗89+0
(√89
2
+1)
2
|μ2,1|=
12816
7922
≈1.617>
1
2
Lattice-Based CryptographyLattice-Based Cryptography13
Introduction – Summer School Exercise
Iteração 1:
Normalize:
b1=(89,1)
b2=(144,0)
b2 :=b2−⌈μ2,1⌉b1
b2 :=(144,0)−⌈1.617⌉(89,1)
b2 :=(144,0)−(178,2)
b2 :=(−34 ,−2)
Lattice-Based CryptographyLattice-Based Cryptography14
Introduction – Summer School Exercise
Iteração 1:
if:
b1=(89,1)
b2=(144,0)
b2=(−34 ,−2)
‖b2‖<‖b1‖
‖b1‖≈89.01
‖b2‖=√(−34)
2
+(−2)
2
‖b2‖=√1160≈34.05
Então swap(b1
,b2
)
b1=(−34 ,−2)
b2=(89,1)
Lattice-Based CryptographyLattice-Based Cryptography15
Introduction – Summer School Exercise
Iteração 2: b1=(−34 ,−2)
b2=(89,1)
μ2,1=
⟨b2 ,
~
b1⟩
‖
~
b1‖
2
|μ2,1|=
89∗(−34)+1∗(−2)
(√(−34)
2
+(−2)
2
)
2
|μ2,1|=|−3028
1160 |≈2.61>
1
2
Lattice-Based CryptographyLattice-Based Cryptography16
Introduction – Summer School Exercise
Iteração 2:
Normalize:
b1=(−34 ,−2)
b2=(89,1)
b2 :=b2−⌈μ2,1⌉b1
b2 :=(89,1)−⌈−2.61⌉(−34 ,−2)
b2 :=(89,1)−(102,6)
b2 :=(−13,−5)
Lattice-Based CryptographyLattice-Based Cryptography17
Introduction – Summer School Exercise
Iteração 2:
If:
b2=(−13,−5)
b1=(−34 ,−2)
b2=(89,1)
‖b2‖<‖b1‖
‖b1‖≈34.05
‖b2‖=√(−13)
2
+(−5)
2
‖b2‖=√194≈13.92
Então swap(b1
,b2
)
b1=(−13,−5)
b2=(−34 ,−2)
Lattice-Based CryptographyLattice-Based Cryptography18
Iteração 3:
μ2,1=
⟨b2 ,
~
b1⟩
‖
~
b1‖
2
b1=(−13,−5)
b2=(−34 ,−2)
Introduction – Summer School Exercise
|μ2,1|=
(−34)∗(−13)+(−2)∗(−5)
(√(−13)
2
+(−5)
2
)
2
|μ2,1|=
452
194
≈2.33>
1
2
Lattice-Based CryptographyLattice-Based Cryptography19
Iteração 3:
Normalize:
b1=(−13,−5)
b2=(−34 ,−2)
Introduction – Summer School Exercise
b2 :=b2−⌊μ2,1⌋b1
b2 :=(−34 ,−2)−⌊2.33⌋(−13,−5)
b2 :=(−34 ,−2)−(−26 ,−10)
b2 :=(−8,8)
Lattice-Based CryptographyLattice-Based Cryptography20
Iteração 3:
If:
Introduction – Summer School Exercise
b2=(−8,8)
b1=(−13,−5)
b2=(−34 ,−2)
‖b2‖<‖b1‖
‖b1‖≈13.92
‖b2‖=√(−8)
2
+8
2
‖b2‖=√128≈11.31
Então swap(b1
,b2
)
b1=(−8,8)
b2=(−13 ,−5)
Lattice-Based CryptographyLattice-Based Cryptography21
Iteração 4:
Introduction – Summer School Exercise
b1=(−8,8)
b2=(−13 ,−5)
μ2,1=
⟨b2 ,
~
b1⟩
‖
~
b1‖
2
|μ2,1|=
(−13)∗(−8)+(−5)∗8
(√(−8)
2
+8
2
)
2
|μ2,1|=
64
128
=
1
2 END
Lattice-Based CryptographyLattice-Based Cryptography22
Introduction – LWE
Learning With Errors
Also called “the hidden vector” problem
The starting point for the construction of various other
cryptographic primitives
First security proof by Regev in 2009
(under CPA) Parameters:
n ,m ,qprime ,s∈ℤq
n
,e∈ℤq
m
Input:(G ,A)
ℤq
m×n
ℤq
m
Gs+e
A
A
or
=
The goal is to distinguish
between these two cases
G
Lattice-Based CryptographyLattice-Based Cryptography23
Introduction – LWE
(Toy Example)
https://www.youtube.com/watch?v=MBdKvBA5vrw
A=Gs+e(mod q)
Encryption
model:
s 5
secret
[5,8,12,16,2,6,11,3,7,10 ]
e 12
G
A=Gs+e(mod q)
A=[37,52, 27,92, 22,42,67,27,47,62 ]
v=∑(Asamples)−(
q
2
)∗M
Encrypting a bit (M=1):
pk=(A ,G)
q=97
Decryption:
C=(52,226.5)
s=5
Dec=v−su(mod q)
M =1 if Dec >
q
2
M = 0 otherwise
u=∑(Gsamples)
v=∑([52,27,92,62,42])−(
97
2
)∗1
v=275−48.5=226.5
Dec=226.5−5∗52(mod 97)Sampling : Ccipher=(u ,v)
u=∑([8,12,16,10,6])=52
Dec=−33.5(mod 97)
Dec = 63.5 >
97
2
M =1
Lattice-Based CryptographyLattice-Based Cryptography24
Introduction – LWE
Worst-case connection
Quantum reduction from SVPy to LWE
(Regev, O. 2009)
The hardness of LWE (and hence the security of a crypto.) is
based on the worst-case quantum hardness of SVPy
Connection to Coding Theory
“Learning parity with noise problem”
Also believed to be hard
Lattice-Based CryptographyLattice-Based Cryptography25
Introduction – Applicability of Lattices
Cryptanalysis
“For many types of new systems, one has to consider carefully potential attacks
using this methodology”
Security Reductions
“If a system like the Diffie-Hellman key exchange or RSA encryption is secure, it is
not clear that … a prime factor in an RSA modulus are also secure. Lattice
technology provides proofs that this is indeed the case.”
Cryptography
“Since 1996, the method has been used to devise cryptosystems that have ... a
desirable property that no previous system had: breaking an ‘average instance’ is
as difficult as breaking a ‘hardest instance’.
Discovered in a breakthrough paper by Ajtai
Ex: GGH, NTRU, NTRUPrime, NewHope…
Ajtai, M. Generating hard instances of lattice problems. In Complexity of
computations and proofs, volume 13 of Quad. Mat., pages 1–32. Dept. Math.,
Seconda Univ. Napoli, Caserta (2004). Preliminary version in STOC 1996.
GGH Cryptosystem
Lattice-Based CryptographyLattice-Based Cryptography27
GGH Cryptosystem
GGH
Oded Goldreich, Shafi Goldwasser and Shai Halevi
Provides
Encryption scheme
Signature scheme
Trapdoor mechanism
Difference in the ability to find close lattice points to arbitrary vectors on
different bases of the same lattice
Good x Bad basis
“Non reduced” basis B to compute the function
Reduced basis R used for the inversion
Goldreich, Oded, Shafi Goldwasser, and Shai Halevi.
"Public-key cryptosystems from lattice reduction
problems." Annual International Cryptology
Conference. Springer, Berlin, Heidelberg, 1997.
Lattice-Based CryptographyLattice-Based Cryptography28
GGH Cryptosystem
(ilustrated in 2 dimensions)
Lattice-Based CryptographyLattice-Based Cryptography29
GGH Cryptosystem
Decryption with bad basis:
incorrect!
Lattice-Based CryptographyLattice-Based Cryptography30
GGH Cryptosystem
GGH Signature
Hermite Normal Form
Lattice-Based CryptographyLattice-Based Cryptography31
GGH Parameters
Dimension of the lattice: n
Distribution of private basis
Choosing a random lattice
Choosing an “almost rectangular” lattice
HNF of the reduced basis
Generating public basis
Mixing steps
Berstein lecture:
GGH would need very high dimension and it would be impractical
GGH Cryptosystem
Lattice-Based CryptographyLattice-Based Cryptography32
GGH Cryptosystem
Remarks: GGH Encryption
Map the message as a lattice point
Integer combinations of the public basis
Add a (randomly) “small error vector”
Decryption
Using a private (reduced) basis
Look for a lattice point which is close to the ciphertext
“We remark that our encryption algorithm is similar in its algorithmic nature to a scheme
based on algebraic coding that was suggested by McEliece”
Lattice-Based CryptographyLattice-Based Cryptography33
GGH Cryptosystem
Remarks: GGH Signature
M (message) as a n-dimensional vector over the reals.
A signature of such vector
Lattice point which is close to it
Verifying
Checking that a signature is indeed a lattice point and M is close to the
signature
Problem
If M’ is close to M’’ then they will have the same signature
Recommendation: Hash first
NTRU Cryptosystem
Lattice-Based CryptographyLattice-Based Cryptography35
NTRU
NTRU – A Ring-based Public Key Cryptosystem
Introduced by Hoffstein–Pipher–Silverman in 1998.
Ring-based
“N-th degree TRUncated polynomial ring”
Security related to lattice problems
Encryption with a mixing system based on
polynomial algebra and reduction modulo p and q
Also in the fact that it is very difficult to find
short vectors, for most lattices
US Patent No
6,081,597
NTRUEncrypt (open-source)
NTRUSign
Parameters:
p ,q ,N
gcd(p ,q)=1
Lf ,Lg ,Lϕ ,Lm
q>p
Assumptions:
R=ℤ[X]/(XN
−1)
Lattice-Based CryptographyLattice-Based Cryptography36
NTRU
Preliminaries
An element will be written as polynomial (or a vector):
The multiplication in :
F ∈R
R
Lattice-Based CryptographyLattice-Based Cryptography37
NTRU
Key Creation
ƒ,g polynomials
ƒ must have inverses
(Fq , Fp)
Public key: h
Private key: ƒ
Also store Fp
f ,g Lf ,Lg
f ∗ F q ≡ 1 (mod q)
f ∗ F p ≡ 1 (mod p)
h ≡ F q ∗ g (mod q)
Example (Link)
Parameters:N =11, q=32, p=3
SupposeBob chooses:
g=−1+X2
+X3
+X5
−X8
−X10
f=−1+X+X2
−X4
+X6
+X9
−X10
Computing F p ,F q
F p=1+2 X+2X3
+2X4
+X5
+2X7
+2X9
F q=5+9X+6X2
+16 X3
+4 X4
+15 X5
+16 X6
+22X7
+20 X8
+18X9
+30X10
Computing h:3F q ∗ g(mod 32)
h=8+25 X+22X2
+20X3
+12X4
+24 X5
+15X6
+19 X7
+12X8
+19X9
+16 X10
Lattice-Based CryptographyLattice-Based Cryptography38
NTRU
Encryption
Select:
Encrypt:
Decryption
First decrypt
Recovering with
ϕ Lϕϕ
m ∈Lm
e≡ p ϕ∗¿ h+m (mod q)
a ≡ f ∗ e (mod q)
m = F p ∗ a (mod p)
m
Example (Link)
Alicechoosesm ,ϕ:
m=−1+X3
−X4
−X8
+X9
+X10
ϕ=−1+X2
+X3
+X4
−X5
+X7
Aliceencryptsit withBob 'sPublic key h:
e=(−1+X2
+X3
+X4
−X5
+X7
)∗h+
(−1+X3
−X4
−X8
+X9
+X10
)(mod 32)
e≡ϕ ∗ h+m (mod q)
e=(14+11X+26 X2
+24 X3
+14 X4
+16 X5
+
30 X6
+7X7
+25 X8
+6 X9
+19X10
)(mod 32)
Bob decryptsit:
a=f∗e (mod 32)
a=(3−7 X−10 X2
−11 X3
+10 X4
+7 X5
+
6 X6
+7 X7
+5 X8
−3 X9
−7 X10
)(mod 32)
m=−1+X3
−X4
−X8
+X9
+X10
(mod 3)
Bob reduces(mod p),recovering with F p :
Lattice-Based CryptographyLattice-Based Cryptography39
NTRU – Why it works?
≡f (p ϕ h+m)(mod q)
Decryption starts with:
Using appropriate parameters, all of its coefficients are between
, , also does not change when reduced to modulo q
Therefore,
Reducing a to mod p:
Multiplying it with Fp :
a ≡ f ∗ e (mod q)
=f∗¿(p ϕ∗¿(F q∗¿ g)+m)(mod q)
−(
q
2
) (
q
2
)
a=(p ϕ∗¿ g+f∗¿m)
=(p ϕ∗¿ g +f∗¿ m)(mod q)
ℤ[X]/(X
N
−1)in
a=(p ϕ∗¿ g+f∗¿m)(mod p)= f∗¿m(mod p)
f m(mod p) F p= m(mod p)
Lattice-Based CryptographyLattice-Based Cryptography40
NTRU – Parameter selection
Sample spaces
Lm= m∈R :coefficients between−
1
2
(p−1),
1
2
(p−1)
Lf =L(df ,df−1), Lg (dg ,dg), Lϕ(d ,d)
{ }
where theform L(d1 , d2)has d1=#1, d2=#−1
Lattice-Based CryptographyLattice-Based Cryptography41
NTRU Experiments
NTRUEncrypt
Open source
https://github.com/NTRUOpenSourceProject/NTRUEncrypt
Encryption Decryption
0
50000
100000
150000
200000
250000
300000
EES401ep2
EES449ep1
EES677ep1
EES887ep1
EES1087ep2
EES1171ep1
Timings(inNanoseconds)
Key Gen.
0
500000
1000000
1500000
2000000
2500000
3000000
3500000
EES401ep2
EES449ep1
EES677ep1
EES887ep1
EES1087ep2
EES1171ep1
Timings(inNanoseconds)
Public key Private key Ciphertext
0
200
400
600
800
1000
1200
1400
1600
1800
2000
EES401ep2
(112 bits)
EES449ep1
(128 bits)
EES677ep1
(192 bits)
EES887ep1
(192 bits)
EES1087ep2
(256 bits)
EES1171ep1
(256 bits)
Size(inbytes)
Lattice-Based CryptographyLattice-Based Cryptography42
NTRUSign
NTRU Digital Signature
PASS: “Polynomial Authentication and Signature Scheme”
(1999)
Based on GGH
Updated version: pqNTRUSign (2014)
Based on Learning with Truncation (LWT) problem
Submitted to NIST
For a given L and document m, its signature is a vector v:
v = hash(m|L) mod p
https://www.onboardsecurity.com/nist-post-quantum-crypto-submission
Lattice-Based CryptographyLattice-Based Cryptography43
NTRUSign
Signing
Input: hash function, m (message), (pf,g) from the private key
and h (the public key)
Steps:
1. (sp,tp) ← Hash (m | h) mod p
2. Vector r from sampling on a given distribution;
3. Compute s0 = pr + sp in which s0 mod≡ mod  p and compute t0 = s0h.
(s0,t0) is a lattice vector.
4. Compute a = (tp – t0)g-1
mod p.
5. Compute (s1,t1) = a(pf,g)
6. The above steps are repeated with rejection sampling.
Output: (s,t) the signature with (s,t) = (s0,t0) + (s1,t1)
https://2017.pqcrypto.org/conference/slides/recent-results/zhang.pdf
Lattice-Based CryptographyLattice-Based Cryptography44
NTRUSign
Verify:
1. Check if (s, t) = hash (m|h) mod p.
2. Check if the norm of (s,t) is within some bound.
3. Check if t = sh
Remarks on the submission
pqNTRUSign is an efficient instantiation of modular lattice
signature over the NTRU lattice.
Public key security based on the NTRU security
The forgery security is based on LWT over NTRU lattice
The transcript security is provided by rejection samplings
Lattice-Based CryptographyLattice-Based Cryptography47
Conclusions
Is replacing RSA with NTRUEncrypt the best
solution moving forward?
“We don’t think a single encryption solution is the best idea,
regardless of the algorithm” (Dr. William Whyte)
Lattice-Based CryptographyLattice-Based Cryptography49
Conclusions
Trends
Dustin Moody (NIST). The 2nd Round of the
NIST PQC Standardization Process. Aug. 2019.
https://csrc.nist.gov/Presentations/2019/the-2
nd-round-of-the-nist-pqc-standardization-proc
Learning With Errors (LWE)
Learning With Rounding (LWR)
Lattice-Based Cryptogra
phy
50
Thank you for your attention

More Related Content

What's hot

Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniquesDr.Florence Dayana
 
Post Quantum Cryptography: Technical Overview
Post Quantum Cryptography: Technical OverviewPost Quantum Cryptography: Technical Overview
Post Quantum Cryptography: Technical OverviewRamesh Nagappan
 
Emily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyEmily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyCSNP
 
Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)
Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)
Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)Svetlin Nakov
 
Topic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptxTopic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptxUrjaDhabarde
 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSADr.Florence Dayana
 
RSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyRSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyMd. Shafiul Alam Sagor
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofArunanand Ta
 
Elliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve CryptographyElliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve CryptographyMd. Al-Amin Khandaker Nipu
 

What's hot (20)

Sha3
Sha3Sha3
Sha3
 
Classical encryption techniques
Classical encryption techniquesClassical encryption techniques
Classical encryption techniques
 
Hash Function
Hash FunctionHash Function
Hash Function
 
Hash function
Hash functionHash function
Hash function
 
Post Quantum Cryptography: Technical Overview
Post Quantum Cryptography: Technical OverviewPost Quantum Cryptography: Technical Overview
Post Quantum Cryptography: Technical Overview
 
Emily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyEmily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum Cryptography
 
Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)
Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)
Blockchain Cryptography for Developers (Nakov @ BGWebSummit 2018)
 
Topic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptxTopic20 The RC4 Algorithm.pptx
Topic20 The RC4 Algorithm.pptx
 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSA
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
Diffie-hellman algorithm
Diffie-hellman algorithmDiffie-hellman algorithm
Diffie-hellman algorithm
 
The rsa algorithm JooSeok Song
The rsa algorithm JooSeok SongThe rsa algorithm JooSeok Song
The rsa algorithm JooSeok Song
 
RSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key CryptographyRSA Algorithm - Public Key Cryptography
RSA Algorithm - Public Key Cryptography
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
 
RSA algorithm
RSA algorithmRSA algorithm
RSA algorithm
 
MD-5 : Algorithm
MD-5 : AlgorithmMD-5 : Algorithm
MD-5 : Algorithm
 
Elliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve CryptographyElliptic Curves and Elliptic Curve Cryptography
Elliptic Curves and Elliptic Curve Cryptography
 
Cryptography and Network Security William Stallings Lawrie Brown
Cryptography and Network Security William Stallings Lawrie BrownCryptography and Network Security William Stallings Lawrie Brown
Cryptography and Network Security William Stallings Lawrie Brown
 
Hash Function
Hash FunctionHash Function
Hash Function
 
SHA-256.pptx
SHA-256.pptxSHA-256.pptx
SHA-256.pptx
 

Similar to Introduction - Lattice-based Cryptography

Winter school-pq2016v2
Winter school-pq2016v2Winter school-pq2016v2
Winter school-pq2016v2Ludovic Perret
 
SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...
SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...
SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...IJNSA Journal
 
InternshipReport
InternshipReportInternshipReport
InternshipReportHamza Ameur
 
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...Matt Moores
 
Deep Learning: R with Keras and TensorFlow
Deep Learning: R with Keras and TensorFlowDeep Learning: R with Keras and TensorFlow
Deep Learning: R with Keras and TensorFlowOswald Campesato
 
Safety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdfSafety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdfPolytechnique Montréal
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...csandit
 
SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...
SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...
SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...cscpconf
 
V design and implementation of network security using genetic algorithm
V design and implementation of network security using genetic algorithmV design and implementation of network security using genetic algorithm
V design and implementation of network security using genetic algorithmeSAT Journals
 
Design and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithmDesign and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithmeSAT Publishing House
 
Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier홍배 김
 
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream CiphersMultiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream CiphersIJNSA Journal
 
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream CiphersMultiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream CiphersIJNSA Journal
 
On the Usage of Chained Codes in Cryptography
On the Usage of Chained Codes in CryptographyOn the Usage of Chained Codes in Cryptography
On the Usage of Chained Codes in CryptographyCSCJournals
 
Convolutional networks and graph networks through kernels
Convolutional networks and graph networks through kernelsConvolutional networks and graph networks through kernels
Convolutional networks and graph networks through kernelstuxette
 
Complex models in ecology: challenges and solutions
Complex models in ecology: challenges and solutionsComplex models in ecology: challenges and solutions
Complex models in ecology: challenges and solutionsPeter Solymos
 
Detailed cryptographic analysis of contact tracing protocols
Detailed cryptographic analysis of contact tracing protocolsDetailed cryptographic analysis of contact tracing protocols
Detailed cryptographic analysis of contact tracing protocolsChristian Spolaore
 

Similar to Introduction - Lattice-based Cryptography (20)

Winter school-pq2016v2
Winter school-pq2016v2Winter school-pq2016v2
Winter school-pq2016v2
 
SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...
SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...
SECURITY ENHANCED KEY PREDISTRIBUTION SCHEME USING TRANSVERSAL DESIGNS AND RE...
 
InternshipReport
InternshipReportInternshipReport
InternshipReport
 
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
R package 'bayesImageS': a case study in Bayesian computation using Rcpp and ...
 
Deep Learning: R with Keras and TensorFlow
Deep Learning: R with Keras and TensorFlowDeep Learning: R with Keras and TensorFlow
Deep Learning: R with Keras and TensorFlow
 
Safety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdfSafety Verification of Deep Neural Networks_.pdf
Safety Verification of Deep Neural Networks_.pdf
 
talk_NASPDE.pdf
talk_NASPDE.pdftalk_NASPDE.pdf
talk_NASPDE.pdf
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...Secured wireless communication through simulated annealing guided traingulari...
Secured wireless communication through simulated annealing guided traingulari...
 
SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...
SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...
SECURED WIRELESS COMMUNICATION THROUGH SIMULATED ANNEALING GUIDED TRAINGULARI...
 
V design and implementation of network security using genetic algorithm
V design and implementation of network security using genetic algorithmV design and implementation of network security using genetic algorithm
V design and implementation of network security using genetic algorithm
 
Design and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithmDesign and implementation of network security using genetic algorithm
Design and implementation of network security using genetic algorithm
 
Anomaly detection using deep one class classifier
Anomaly detection using deep one class classifierAnomaly detection using deep one class classifier
Anomaly detection using deep one class classifier
 
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream CiphersMultiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
 
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream CiphersMultiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
Multiple Dimensional Fault Tolerant Schemes for Crypto Stream Ciphers
 
On the Usage of Chained Codes in Cryptography
On the Usage of Chained Codes in CryptographyOn the Usage of Chained Codes in Cryptography
On the Usage of Chained Codes in Cryptography
 
Convolutional networks and graph networks through kernels
Convolutional networks and graph networks through kernelsConvolutional networks and graph networks through kernels
Convolutional networks and graph networks through kernels
 
Complex models in ecology: challenges and solutions
Complex models in ecology: challenges and solutionsComplex models in ecology: challenges and solutions
Complex models in ecology: challenges and solutions
 
Final Report-1-(1)
Final Report-1-(1)Final Report-1-(1)
Final Report-1-(1)
 
Detailed cryptographic analysis of contact tracing protocols
Detailed cryptographic analysis of contact tracing protocolsDetailed cryptographic analysis of contact tracing protocols
Detailed cryptographic analysis of contact tracing protocols
 

More from Alexandre Augusto Giron

More from Alexandre Augusto Giron (6)

Minicurso - Introdução ao Blender
Minicurso - Introdução ao BlenderMinicurso - Introdução ao Blender
Minicurso - Introdução ao Blender
 
Minicurso Linux
Minicurso Linux Minicurso Linux
Minicurso Linux
 
Validação de Transformações e Model-Driven Engineering (MDE)
Validação de Transformações e Model-Driven Engineering (MDE)Validação de Transformações e Model-Driven Engineering (MDE)
Validação de Transformações e Model-Driven Engineering (MDE)
 
Desenvolvimento de sistemas embarcados
Desenvolvimento de sistemas embarcadosDesenvolvimento de sistemas embarcados
Desenvolvimento de sistemas embarcados
 
Palestra omap
Palestra omapPalestra omap
Palestra omap
 
Tutorial beagleboard
Tutorial beagleboardTutorial beagleboard
Tutorial beagleboard
 

Recently uploaded

Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 

Recently uploaded (20)

TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 

Introduction - Lattice-based Cryptography

  • 2. Lattice-Based CryptographyLattice-Based Cryptography2 Outline 1 Introduction Definitions Lattice Problems Lattice Basis Reduction Learning With Errors (LWE) Applicability of Lattices 2 GGH Cryptosystem 3 NTRU Cryptosystem 4 Conclusions
  • 3. Lattice-Based CryptographyLattice-Based Cryptography3 References & Materials Books: Bernstein, Daniel J., Buchmann, Johannes and Dahmen, Erik. Post-Quantum Cryptography. Springer-Verlag Berlin Heidelberg, 2009. (pp 147-187). Buchmann, J. Post Quantum Cryptography. 2010. (pp 22-37). Von zur Gathen, Joachim. CryptoSchool. Springer, 2015. (pp 575-651) Papers: Hoffstein, Jeffrey, Jill Pipher, and Joseph H. Silverman. "NTRU: A ring-based public key cryptosystem." International Algorithmic Number Theory Symposium. Springer, Berlin, Heidelberg, 1998. Coppersmith, Don, and Adi Shamir. "Lattice attacks on NTRU." International Conference on the Theory and Applications of Cryptographic Techniques. Springer, Berlin, Heidelberg, 1997. Bernstein, Daniel J., et al. "NTRU Prime: reducing attack surface at low cost." International Conference on Selected Areas in Cryptography. Springer, Cham, 2017. Puodzius, Cassius de Oliveira, and Paulo SLM Barreto. "Implementação do Criptossistema Pós-Quântico NTRU conforme a Norma IEEE 1363.1." X Simpósio Brasileiro em Segurança da Informação e de Sistemas Computacionais. Wang, Qingxuan, Chi Cheng, and Ling Zuo. "Analysis and Improvement of a NTRU-Based Handover Authentication Scheme." IEEE Communications Letters (2019). Xie, Shaofen, et al. "Similarity Test for Privacy-Preserving Medical Data Sharing Based on NTRU Encryption." 2019 IEEE 9th International Conference on Electronics Information and Emergency Communication (ICEIEC). IEEE, 2019. Summer SchoolSummer School on Post-Quantum Cryptography 2017 -on Post-Quantum Cryptography 2017 - https://2017.pqcrypto.org/school/schedule.htmlhttps://2017.pqcrypto.org/school/schedule.html
  • 4. Lattice-Based CryptographyLattice-Based Cryptography4 IntroductionIntroduction What is a lattice? Thijs Laarhoven: Vector space (n dimensions) Has Basis Vectors (ex b1 e b2) L generated by all of the integer linear combinations of the basis vectors (ex 5*b1 – 2*b2 → a point in the lattice). Bernstein: ”A lattice is a set of points in n-dimensional space with a periodic structure” Von Zur Gathen:
  • 5. Lattice-Based CryptographyLattice-Based Cryptography5 Introduction Example Point p = 3*(12,2) – 2*(13,4) = (36,6) – (26,8) = (10,-2) p is here
  • 6. Lattice-Based CryptographyLattice-Based Cryptography6 Introduction Definitions Matrix notation for a lattice (1) If U is a Unimodular matrix, the basis B and BU generates the same lattice: (2) Determinant of a lattice: (3) Linearly Independent Vectors if the equation of the linear combinations: a1v1+ a2v2 +… + anvn = 0 is true only when ai are all equal to zero. (4) Norm (Euclidean Norm) x = (x1,x2...xn) ϵ ℝn , ⋆: inner product
  • 7. Lattice-Based CryptographyLattice-Based Cryptography7 Introduction Lattice Problems Shortest (nonzero) Vector Problem (SVP) Closest Vector Problem (CVP) Related to a point t Approximations Ex: SVPγ: find a vector whose norm is at most γ times that of the shortest nonzero vector.
  • 8. Lattice-Based CryptographyLattice-Based Cryptography8 Introduction Lattice Basis Reduction “Find nicer basis of the same lattice” Ex: r1,r2 generates the same lattice Reduction Algorithms: Gauss Algorithm (or Lagrange Algo.) LLL reduction [LLL82] Blockwise generalization of Gauss reduction BKZ reduction [Sch87, SE94] Blockwise generalization of Korkin-Zolotarev reduction Goal is to find the SVP in projected sub-lattices in dimension k
  • 9. Lattice-Based CryptographyLattice-Based Cryptography9 Introduction Gauss Reduction Works in two dimensions Normalize: Gram-Schmidt orthogonalization (GSO) that is computed with the GS-process. Swap: Switches two vectors (b1 , b2) → (b2 , b1).
  • 11. Lattice-Based CryptographyLattice-Based Cryptography11 Introduction – Summer School Exercise Preparação: ‖b1‖⩽‖b2‖ ‖b1‖=√144∗144+0∗0=144 ‖b2‖=√89∗89+1∗1=√7922=89.01 b1=(89,1) b2=(144,0) Logo: swap(b1 ,b2 )
  • 12. Lattice-Based CryptographyLattice-Based Cryptography12 Introduction – Summer School Exercise Iteração 1: b1=(89,1) b2=(144,0) |μ2,1|= ⟨b2 , ~ b1⟩ ‖ ~ b1‖ 2 |μ2,1|= 144∗89+0 (√89 2 +1) 2 |μ2,1|= 12816 7922 ≈1.617> 1 2
  • 13. Lattice-Based CryptographyLattice-Based Cryptography13 Introduction – Summer School Exercise Iteração 1: Normalize: b1=(89,1) b2=(144,0) b2 :=b2−⌈μ2,1⌉b1 b2 :=(144,0)−⌈1.617⌉(89,1) b2 :=(144,0)−(178,2) b2 :=(−34 ,−2)
  • 14. Lattice-Based CryptographyLattice-Based Cryptography14 Introduction – Summer School Exercise Iteração 1: if: b1=(89,1) b2=(144,0) b2=(−34 ,−2) ‖b2‖<‖b1‖ ‖b1‖≈89.01 ‖b2‖=√(−34) 2 +(−2) 2 ‖b2‖=√1160≈34.05 Então swap(b1 ,b2 ) b1=(−34 ,−2) b2=(89,1)
  • 15. Lattice-Based CryptographyLattice-Based Cryptography15 Introduction – Summer School Exercise Iteração 2: b1=(−34 ,−2) b2=(89,1) μ2,1= ⟨b2 , ~ b1⟩ ‖ ~ b1‖ 2 |μ2,1|= 89∗(−34)+1∗(−2) (√(−34) 2 +(−2) 2 ) 2 |μ2,1|=|−3028 1160 |≈2.61> 1 2
  • 16. Lattice-Based CryptographyLattice-Based Cryptography16 Introduction – Summer School Exercise Iteração 2: Normalize: b1=(−34 ,−2) b2=(89,1) b2 :=b2−⌈μ2,1⌉b1 b2 :=(89,1)−⌈−2.61⌉(−34 ,−2) b2 :=(89,1)−(102,6) b2 :=(−13,−5)
  • 17. Lattice-Based CryptographyLattice-Based Cryptography17 Introduction – Summer School Exercise Iteração 2: If: b2=(−13,−5) b1=(−34 ,−2) b2=(89,1) ‖b2‖<‖b1‖ ‖b1‖≈34.05 ‖b2‖=√(−13) 2 +(−5) 2 ‖b2‖=√194≈13.92 Então swap(b1 ,b2 ) b1=(−13,−5) b2=(−34 ,−2)
  • 18. Lattice-Based CryptographyLattice-Based Cryptography18 Iteração 3: μ2,1= ⟨b2 , ~ b1⟩ ‖ ~ b1‖ 2 b1=(−13,−5) b2=(−34 ,−2) Introduction – Summer School Exercise |μ2,1|= (−34)∗(−13)+(−2)∗(−5) (√(−13) 2 +(−5) 2 ) 2 |μ2,1|= 452 194 ≈2.33> 1 2
  • 19. Lattice-Based CryptographyLattice-Based Cryptography19 Iteração 3: Normalize: b1=(−13,−5) b2=(−34 ,−2) Introduction – Summer School Exercise b2 :=b2−⌊μ2,1⌋b1 b2 :=(−34 ,−2)−⌊2.33⌋(−13,−5) b2 :=(−34 ,−2)−(−26 ,−10) b2 :=(−8,8)
  • 20. Lattice-Based CryptographyLattice-Based Cryptography20 Iteração 3: If: Introduction – Summer School Exercise b2=(−8,8) b1=(−13,−5) b2=(−34 ,−2) ‖b2‖<‖b1‖ ‖b1‖≈13.92 ‖b2‖=√(−8) 2 +8 2 ‖b2‖=√128≈11.31 Então swap(b1 ,b2 ) b1=(−8,8) b2=(−13 ,−5)
  • 21. Lattice-Based CryptographyLattice-Based Cryptography21 Iteração 4: Introduction – Summer School Exercise b1=(−8,8) b2=(−13 ,−5) μ2,1= ⟨b2 , ~ b1⟩ ‖ ~ b1‖ 2 |μ2,1|= (−13)∗(−8)+(−5)∗8 (√(−8) 2 +8 2 ) 2 |μ2,1|= 64 128 = 1 2 END
  • 22. Lattice-Based CryptographyLattice-Based Cryptography22 Introduction – LWE Learning With Errors Also called “the hidden vector” problem The starting point for the construction of various other cryptographic primitives First security proof by Regev in 2009 (under CPA) Parameters: n ,m ,qprime ,s∈ℤq n ,e∈ℤq m Input:(G ,A) ℤq m×n ℤq m Gs+e A A or = The goal is to distinguish between these two cases G
  • 23. Lattice-Based CryptographyLattice-Based Cryptography23 Introduction – LWE (Toy Example) https://www.youtube.com/watch?v=MBdKvBA5vrw A=Gs+e(mod q) Encryption model: s 5 secret [5,8,12,16,2,6,11,3,7,10 ] e 12 G A=Gs+e(mod q) A=[37,52, 27,92, 22,42,67,27,47,62 ] v=∑(Asamples)−( q 2 )∗M Encrypting a bit (M=1): pk=(A ,G) q=97 Decryption: C=(52,226.5) s=5 Dec=v−su(mod q) M =1 if Dec > q 2 M = 0 otherwise u=∑(Gsamples) v=∑([52,27,92,62,42])−( 97 2 )∗1 v=275−48.5=226.5 Dec=226.5−5∗52(mod 97)Sampling : Ccipher=(u ,v) u=∑([8,12,16,10,6])=52 Dec=−33.5(mod 97) Dec = 63.5 > 97 2 M =1
  • 24. Lattice-Based CryptographyLattice-Based Cryptography24 Introduction – LWE Worst-case connection Quantum reduction from SVPy to LWE (Regev, O. 2009) The hardness of LWE (and hence the security of a crypto.) is based on the worst-case quantum hardness of SVPy Connection to Coding Theory “Learning parity with noise problem” Also believed to be hard
  • 25. Lattice-Based CryptographyLattice-Based Cryptography25 Introduction – Applicability of Lattices Cryptanalysis “For many types of new systems, one has to consider carefully potential attacks using this methodology” Security Reductions “If a system like the Diffie-Hellman key exchange or RSA encryption is secure, it is not clear that … a prime factor in an RSA modulus are also secure. Lattice technology provides proofs that this is indeed the case.” Cryptography “Since 1996, the method has been used to devise cryptosystems that have ... a desirable property that no previous system had: breaking an ‘average instance’ is as difficult as breaking a ‘hardest instance’. Discovered in a breakthrough paper by Ajtai Ex: GGH, NTRU, NTRUPrime, NewHope… Ajtai, M. Generating hard instances of lattice problems. In Complexity of computations and proofs, volume 13 of Quad. Mat., pages 1–32. Dept. Math., Seconda Univ. Napoli, Caserta (2004). Preliminary version in STOC 1996.
  • 27. Lattice-Based CryptographyLattice-Based Cryptography27 GGH Cryptosystem GGH Oded Goldreich, Shafi Goldwasser and Shai Halevi Provides Encryption scheme Signature scheme Trapdoor mechanism Difference in the ability to find close lattice points to arbitrary vectors on different bases of the same lattice Good x Bad basis “Non reduced” basis B to compute the function Reduced basis R used for the inversion Goldreich, Oded, Shafi Goldwasser, and Shai Halevi. "Public-key cryptosystems from lattice reduction problems." Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 1997.
  • 28. Lattice-Based CryptographyLattice-Based Cryptography28 GGH Cryptosystem (ilustrated in 2 dimensions)
  • 29. Lattice-Based CryptographyLattice-Based Cryptography29 GGH Cryptosystem Decryption with bad basis: incorrect!
  • 30. Lattice-Based CryptographyLattice-Based Cryptography30 GGH Cryptosystem GGH Signature Hermite Normal Form
  • 31. Lattice-Based CryptographyLattice-Based Cryptography31 GGH Parameters Dimension of the lattice: n Distribution of private basis Choosing a random lattice Choosing an “almost rectangular” lattice HNF of the reduced basis Generating public basis Mixing steps Berstein lecture: GGH would need very high dimension and it would be impractical GGH Cryptosystem
  • 32. Lattice-Based CryptographyLattice-Based Cryptography32 GGH Cryptosystem Remarks: GGH Encryption Map the message as a lattice point Integer combinations of the public basis Add a (randomly) “small error vector” Decryption Using a private (reduced) basis Look for a lattice point which is close to the ciphertext “We remark that our encryption algorithm is similar in its algorithmic nature to a scheme based on algebraic coding that was suggested by McEliece”
  • 33. Lattice-Based CryptographyLattice-Based Cryptography33 GGH Cryptosystem Remarks: GGH Signature M (message) as a n-dimensional vector over the reals. A signature of such vector Lattice point which is close to it Verifying Checking that a signature is indeed a lattice point and M is close to the signature Problem If M’ is close to M’’ then they will have the same signature Recommendation: Hash first
  • 35. Lattice-Based CryptographyLattice-Based Cryptography35 NTRU NTRU – A Ring-based Public Key Cryptosystem Introduced by Hoffstein–Pipher–Silverman in 1998. Ring-based “N-th degree TRUncated polynomial ring” Security related to lattice problems Encryption with a mixing system based on polynomial algebra and reduction modulo p and q Also in the fact that it is very difficult to find short vectors, for most lattices US Patent No 6,081,597 NTRUEncrypt (open-source) NTRUSign Parameters: p ,q ,N gcd(p ,q)=1 Lf ,Lg ,Lϕ ,Lm q>p Assumptions: R=ℤ[X]/(XN −1)
  • 36. Lattice-Based CryptographyLattice-Based Cryptography36 NTRU Preliminaries An element will be written as polynomial (or a vector): The multiplication in : F ∈R R
  • 37. Lattice-Based CryptographyLattice-Based Cryptography37 NTRU Key Creation ƒ,g polynomials ƒ must have inverses (Fq , Fp) Public key: h Private key: ƒ Also store Fp f ,g Lf ,Lg f ∗ F q ≡ 1 (mod q) f ∗ F p ≡ 1 (mod p) h ≡ F q ∗ g (mod q) Example (Link) Parameters:N =11, q=32, p=3 SupposeBob chooses: g=−1+X2 +X3 +X5 −X8 −X10 f=−1+X+X2 −X4 +X6 +X9 −X10 Computing F p ,F q F p=1+2 X+2X3 +2X4 +X5 +2X7 +2X9 F q=5+9X+6X2 +16 X3 +4 X4 +15 X5 +16 X6 +22X7 +20 X8 +18X9 +30X10 Computing h:3F q ∗ g(mod 32) h=8+25 X+22X2 +20X3 +12X4 +24 X5 +15X6 +19 X7 +12X8 +19X9 +16 X10
  • 38. Lattice-Based CryptographyLattice-Based Cryptography38 NTRU Encryption Select: Encrypt: Decryption First decrypt Recovering with ϕ Lϕϕ m ∈Lm e≡ p ϕ∗¿ h+m (mod q) a ≡ f ∗ e (mod q) m = F p ∗ a (mod p) m Example (Link) Alicechoosesm ,ϕ: m=−1+X3 −X4 −X8 +X9 +X10 ϕ=−1+X2 +X3 +X4 −X5 +X7 Aliceencryptsit withBob 'sPublic key h: e=(−1+X2 +X3 +X4 −X5 +X7 )∗h+ (−1+X3 −X4 −X8 +X9 +X10 )(mod 32) e≡ϕ ∗ h+m (mod q) e=(14+11X+26 X2 +24 X3 +14 X4 +16 X5 + 30 X6 +7X7 +25 X8 +6 X9 +19X10 )(mod 32) Bob decryptsit: a=f∗e (mod 32) a=(3−7 X−10 X2 −11 X3 +10 X4 +7 X5 + 6 X6 +7 X7 +5 X8 −3 X9 −7 X10 )(mod 32) m=−1+X3 −X4 −X8 +X9 +X10 (mod 3) Bob reduces(mod p),recovering with F p :
  • 39. Lattice-Based CryptographyLattice-Based Cryptography39 NTRU – Why it works? ≡f (p ϕ h+m)(mod q) Decryption starts with: Using appropriate parameters, all of its coefficients are between , , also does not change when reduced to modulo q Therefore, Reducing a to mod p: Multiplying it with Fp : a ≡ f ∗ e (mod q) =f∗¿(p ϕ∗¿(F q∗¿ g)+m)(mod q) −( q 2 ) ( q 2 ) a=(p ϕ∗¿ g+f∗¿m) =(p ϕ∗¿ g +f∗¿ m)(mod q) ℤ[X]/(X N −1)in a=(p ϕ∗¿ g+f∗¿m)(mod p)= f∗¿m(mod p) f m(mod p) F p= m(mod p)
  • 40. Lattice-Based CryptographyLattice-Based Cryptography40 NTRU – Parameter selection Sample spaces Lm= m∈R :coefficients between− 1 2 (p−1), 1 2 (p−1) Lf =L(df ,df−1), Lg (dg ,dg), Lϕ(d ,d) { } where theform L(d1 , d2)has d1=#1, d2=#−1
  • 41. Lattice-Based CryptographyLattice-Based Cryptography41 NTRU Experiments NTRUEncrypt Open source https://github.com/NTRUOpenSourceProject/NTRUEncrypt Encryption Decryption 0 50000 100000 150000 200000 250000 300000 EES401ep2 EES449ep1 EES677ep1 EES887ep1 EES1087ep2 EES1171ep1 Timings(inNanoseconds) Key Gen. 0 500000 1000000 1500000 2000000 2500000 3000000 3500000 EES401ep2 EES449ep1 EES677ep1 EES887ep1 EES1087ep2 EES1171ep1 Timings(inNanoseconds) Public key Private key Ciphertext 0 200 400 600 800 1000 1200 1400 1600 1800 2000 EES401ep2 (112 bits) EES449ep1 (128 bits) EES677ep1 (192 bits) EES887ep1 (192 bits) EES1087ep2 (256 bits) EES1171ep1 (256 bits) Size(inbytes)
  • 42. Lattice-Based CryptographyLattice-Based Cryptography42 NTRUSign NTRU Digital Signature PASS: “Polynomial Authentication and Signature Scheme” (1999) Based on GGH Updated version: pqNTRUSign (2014) Based on Learning with Truncation (LWT) problem Submitted to NIST For a given L and document m, its signature is a vector v: v = hash(m|L) mod p https://www.onboardsecurity.com/nist-post-quantum-crypto-submission
  • 43. Lattice-Based CryptographyLattice-Based Cryptography43 NTRUSign Signing Input: hash function, m (message), (pf,g) from the private key and h (the public key) Steps: 1. (sp,tp) ← Hash (m | h) mod p 2. Vector r from sampling on a given distribution; 3. Compute s0 = pr + sp in which s0 mod≡ mod p and compute t0 = s0h. (s0,t0) is a lattice vector. 4. Compute a = (tp – t0)g-1 mod p. 5. Compute (s1,t1) = a(pf,g) 6. The above steps are repeated with rejection sampling. Output: (s,t) the signature with (s,t) = (s0,t0) + (s1,t1) https://2017.pqcrypto.org/conference/slides/recent-results/zhang.pdf
  • 44. Lattice-Based CryptographyLattice-Based Cryptography44 NTRUSign Verify: 1. Check if (s, t) = hash (m|h) mod p. 2. Check if the norm of (s,t) is within some bound. 3. Check if t = sh Remarks on the submission pqNTRUSign is an efficient instantiation of modular lattice signature over the NTRU lattice. Public key security based on the NTRU security The forgery security is based on LWT over NTRU lattice The transcript security is provided by rejection samplings
  • 45. Lattice-Based CryptographyLattice-Based Cryptography47 Conclusions Is replacing RSA with NTRUEncrypt the best solution moving forward? “We don’t think a single encryption solution is the best idea, regardless of the algorithm” (Dr. William Whyte)
  • 46. Lattice-Based CryptographyLattice-Based Cryptography49 Conclusions Trends Dustin Moody (NIST). The 2nd Round of the NIST PQC Standardization Process. Aug. 2019. https://csrc.nist.gov/Presentations/2019/the-2 nd-round-of-the-nist-pqc-standardization-proc Learning With Errors (LWE) Learning With Rounding (LWR)