+ All Categories
Home > Documents > Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. ·...

Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. ·...

Date post: 30-Jul-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
141
Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the Standard Model) @NTU Shuichi Katsumata (AIST, PQShield)
Transcript
Page 1: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Exploring Links Between Lattice-based NIZKs and Various

Signature Schemes (in the Standard Model)

@NTU

Shuichi Katsumata (AIST,PQShield)

Page 2: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Non-InteractiveZero-Knowledge(NIZK)

OverviewofThisTalk

LinksBetweenNIZKsandSignatures

Ø NewNotion:Multi-UserDesignated-ProverNIZKs

Result:GroupSignaturesw/oCRS-NIZK

1

2

3[KY19@EC]

Page 3: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

1.Introduction:

Non-InteractiveZero-Knowledge

Page 4: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Zero-KnowledgeProofSystems

Prover Verifier

n VerifierisconvincedthatProverknowswhereWaldois.

Page 5: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Zero-KnowledgeProofSystems

Prover Verifier

n VerifierisconvincedthatProverknowswhereWaldois.n …BUT,Verifierdoesn’tlearnwhereWaldois!

Page 6: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Non-InteractiveZK(NIZK)

Prover Verifier

n Proversendsonlyonemessage toVerifier.

Page 7: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MoreFormally:NIZKs

Prover Verifier(𝑥, 𝑤)

𝜋𝑥

𝑥 ∈ 𝐿

ü Completeness:If 𝑥, 𝑤 ∈ 𝑅(,thenVerifierisconvinced.

Page 8: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MoreFormally:NIZKsCheatingProver Verifier𝑥

𝜋𝑥

𝑥 ∉ 𝐿

ü Completeness:If 𝑥, 𝑤 ∈ 𝑅(,thenVerifierisconvinced.

ü Soundness:If𝑥 ∉ 𝐿,cheatingProvercannotconvinceVerifier.

Reject𝜋.

Page 9: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MoreFormally:NIZKs

Prover Verifier(𝑥, 𝑤)

𝜋𝑥

𝑥 ∈ 𝐿

ü Completeness:If 𝑥, 𝑤 ∈ 𝑅(,thenVerifierisconvinced.

ü Soundness:If𝑥 ∉ 𝐿,cheatingProvercannotconvinceVerifier.

ü Zero-Knowledge:If𝑥 ∈ 𝐿,Verifieronlylearnsthat𝑥 ∈ 𝐿.

𝑤? ?

Page 10: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MotivationforNIZKManyApplicationsofNIZKs

• OWF+NIZK⇒ signaturescheme[BG89@CRYPTO]• CPA-PKE+NIZK⇒ CCA-PKE[NY90@STOC]• Semi-honestsecureMPC+NIZK⇒MalicioussecureMPC

[GMW86@CRYPTO]• ….

TheoreticalInterest• Connectionswithcomplexitytheory

Page 11: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

BuildingNIZKs(forallofNP)Donotexistw/otrustedsetup!L [GO94]

Page 12: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

BuildingNIZKs(forallofNP)Donotexistw/otrustedsetup!L [GO94]

n RandomOracleModel[FS87]• Practicallyappealingsolution.

n WithTrustedSetup[FLS90]• Provablesecurity.• Theoreticallyappealingsolution.

Page 13: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

BuildingNIZKs(forallofNP)Donotexistw/otrustedsetup!L [GO94]

n RandomOracleModel[FS87]• Practicallyappealingsolution.

n WithTrustedSetup[FLS90]• Provablesecurity.• Theoreticallyappealingsolution.

ThisTalk

Page 14: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

VariousTypesofTrustedSetup

CRS:(public)commonreferencestring

Page 15: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

VariousTypesofTrustedSetup

Prover Verifier(𝑥, 𝑤)

𝜋𝑥CRS,𝑥 ∈ 𝐿

CRS-NIZK(MoststandardNIZK)

CRS:(public)commonreferencestring

Page 16: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

VariousTypesofTrustedSetupCRS:(public)commonreferencestring

𝐤𝐯:(private)verificationkey

Page 17: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

VariousTypesofTrustedSetupCRS:(public)commonreferencestring

Prover Verifier(𝑥, 𝑤)

𝜋𝑥CRS,𝑥 ∈ 𝐿

DesignatedVerifier-NIZK (DV-NIZK)𝐤𝐯

𝐤𝐯:(private)verificationkey

⇒Requireprivatek0 toverifyproof𝜋!

Page 18: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

VariousTypesofTrustedSetupCRS:(public)commonreferencestring

𝐤𝐩:(private)provingkey

Prover Verifier(𝑥, 𝑤)

𝜋𝑥CRS,𝑥 ∈ 𝐿

DesignatedProver-NIZK (DP-NIZK)𝐤𝐩

⇒Requireprivatek2 togenerateproof𝜋!

Page 19: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

*Subtletiesin(DV,DP)-NIZKsSinceverifier/provermaintainssecretinformation,definitionrequiresmorecarethanCRS-NIZK.

Page 20: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

*Subtletiesin(DV,DP)-NIZKsSinceverifier/provermaintainssecretinformation,definitionrequiresmorecarethanCRS-NIZK.

Ex)DP-NIZK:Unbounded Zero-Knowledge

Page 21: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

*Subtletiesin(DV,DP)-NIZKsSinceverifier/provermaintainssecretinformation,definitionrequiresmorecarethanCRS-NIZK.

Ex)DP-NIZK:Unbounded Zero-Knowledge

Eachproofmayleaksomeinformationofk2!

*ConsequenceParallelrepetitionmayfail.

Page 22: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04]

Page 23: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04]

Pairings[GOS06,GS08,…]

Page 24: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04] iO [SW14,…]Pairings[GOS06,GS08,…]

Page 25: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04] iO [SW14,…]

CorrelationInteractableHash[KRR17,…]

Pairings[GOS06,GS08,…]

Page 26: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04]

Pairings[GOS06,GS08,…]iO [SW14,…]

Lattice [KW18]@CRYPTO

Firstlattice-based!!

CorrelationInteractableHash[KRR17,…]

Page 27: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04] iO [SW14,…]

Lattice [KW18]@CRYPTO

CDH [CH19,KNYY19,QRW19]@EC

CorrelationInteractableHash[KRR17,…]

FirstCDH-based!!

Pairings[GOS06,GS08,…]

Page 28: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04] iO [SW14,…]

Lattice [KW18]@CRYPTO

CDH[CH19,KNYY19,QRW19]@EC

Lattice [PS19]@CRYPTO

Lattice [LQRWW19]@CRYPTO

CorrelationInteractableHash[KRR17,…]

Finally!!

Pairings[GOS06,GS08,…]

Page 29: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

DP-NIZK

*NonExhaustiveState-of-Affairs

CRS-NIZK

DV-NIZK

TrapdoorPermutations[FLS90,BY96,G04] iO [SW14,…]

Lattice [KW18]@CRYPTO

CDH[CH19,KNYY19,QRW19]@EC

Lattice [PS19]@CRYPTO

Lattice [LQRWW19]@CRYPTO

CorrelationInteractableHash[KRR17,…]

Is[KW18]and[LQRWW19]simplyaspecialcaseof[PS19]??

Pairings[GOS06,GS08,…]

Page 30: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

CloserLookatLattice-basedNIZKsn CRS-NIZK[PS19]

• Followsthecorrelationinteractablehashparadigm.• BasedonpolynomialLWE(LearningwithErrors).

Page 31: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

CloserLookatLattice-basedNIZKsn CRS-NIZK[PS19]

• Followsthecorrelationinteractablehashparadigm.• BasedonpolynomialLWE(LearningwithErrors).

n DV-NIZK[LQRWW19]• Usenewtool:“Function-hiding”Attribute-basedEncryption.• Basedonsuper-polynomialLWE.(CanuseLPNandCDHtoo!)

Page 32: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

CloserLookatLattice-basedNIZKsn CRS-NIZK[PS19]

• Followsthecorrelationinteractablehashparadigm.• BasedonpolynomialLWE(LearningwithErrors).

n DV-NIZK[LQRWW19]

n DP-NIZK[KW18]• GenericconstructionfromFully-HomomorphicSignatures.• BasedonpolynomialSIS(ShortIntegerSolution).

• Usenewtool:“Function-hiding”Attribute-basedEncryption.• Basedonsuper-polynomialLWE.(CanuseLPNandCDHtoo!)

Page 33: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

CloserLookatLattice-basedNIZKsn CRS-NIZK[PS19]

n DV-NIZK[LQRWW19]• Usenewtool:“Function-hiding”Attribute-basedEncryption.• Basedonsuper-polynomialLWE.(CanuseLPNandCDHtoo!)

n DP-NIZK[KW18]

Fromatheoreticalstandpoint,DP-NIZK requirestheweakestassumption!

*Thestate-of-the-artcanchangeanytime!J

• Followsthecorrelationinteractablehashparadigm.• BasedonpolynomialLWE(LearningwithErrors).

• GenericconstructionfromFully-HomomorphicSignatures.• BasedonpolynomialSIS(ShortIntegerSolution).

Page 34: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SISvsLWESIS LWE

*InaworldofPTquantumalgorithms,LWEandSISareequivalent.

• Onewayfunction• Collisionresistanthash• Digitalsignaturescheme• Attribute-basedSignature• Fullyhomomorphicsignature• …

• Publickeyencryption• Oblivioustransfer• Attribute-basedEncryption• Fullyhomomorphicencryption• …

WhateverSIS can.

Page 35: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

2.Exploration:

LinksBetweenNIZKsandSignatureSchemes

Page 36: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

WarmUp:StandardSignaturesWellKnownFact…

OWF+CRS-NIZK⇒ SignatureSchemes [BG89]

Page 37: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

WarmUp:StandardSignaturesWellKnownFact…

OWF+CRS-NIZK⇒ SignatureSchemes [BG89]

However,OWF+DP-NIZK ⇒ SignatureSchemes

Page 38: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

WarmUp:StandardSignaturesWellKnownFact…

OWF+CRS-NIZK⇒ SignatureSchemes [BG89]

However,OWF+DP-NIZK ⇒ SignatureSchemes

Why?Atahighlevel…Inasignaturescheme,thekeysaregeneratedhonestlyandsecretkeyisneverrevealed toanadversary.

Page 39: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Inasignaturescheme,thekeysaregeneratedhonestlyandsecretkeyisneverrevealed toanadversary.

WarmUp:StandardSignaturesWellKnownFact…

OWF+CRS-NIZK⇒ SignatureSchemes [BG89]

However,OWF+DP-NIZK ⇒ SignatureSchemes

SIS

LWE

Why?Atahighlevel…

AlignswithpriorknowledgethatSISimpliessignatureschemes.

Page 40: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InaBitMoreDetail…

Signer Verifiervk = (crs:;, com>?@AB)

sk = (k;, skDEF)

*UsefactthatOWFimpliesMAC,COM

Page 41: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InaBitMoreDetail…

Signer Verifier

sk = (k;, skDEF)

𝐒𝐢𝐠𝐧 sk,M :1.σD ← SignDEF skDEF,M

vk = (crs:;, com>?@AB)

*UsefactthatOWFimpliesMAC,COM

Page 42: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InaBitMoreDetail…

Signer Verifier

sk = (k;, skDEF)

𝐒𝐢𝐠𝐧 sk,M :

x,w ∈ 𝑅 ⇔ (VerifyDEF skDEF,M, σD = ⊤∧ com>?@AB = COM(skDEF))

vk = (crs:;, com>?@AB)

*UsefactthatOWFimpliesMAC,COM

1.σD ← SignDEF skDEF,M2.𝜋 ← Prove(x = M, σD, com>?@AB ,w = skDEF)

Page 43: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InaBitMoreDetail…

Signer Verifier

sk = (k;, skDEF)

𝐒𝐢𝐠𝐧 sk,M :

x,w ∈ 𝑅 ⇔ (VerifyDEF skDEF,M, σD = ⊤∧ com>?@AB = COM(skDEF))

vk = (crs:;, com>?@AB)

*UsefactthatOWFimpliesMAC,COM

ProvethatüSignatureisvalidüSignedusingthecommittedskDEF

1.σD ← SignDEF skDEF,M2.𝜋 ← Prove(x = M, σD, com>?@AB ,w = skDEF)

Page 44: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InaBitMoreDetail…

Signer Verifier

sk = (k;, skDEF)

𝐒𝐢𝐠𝐧 sk,M :Checkvalidityofproof

= (𝜋, σD)

𝐕𝐞𝐫𝐢𝐟𝐲 vk,M, :

x, w ∈ 𝑅 ⇔ (VerifyDEF skDEF,M, σD = ⊤∧ com>?@AB = COM(skDEF))

vk = (crs:;, com>?@AB)

*UsefactthatOWFimpliesMAC,COM

1.σD ← SignDEF skDEF,M2.𝜋 ← Prove(x = M, σD, com>?@AB ,w = skDEF)

Page 45: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InaBitMoreDetail…

Signer Verifier

sk = (k;, skDEF)

𝐒𝐢𝐠𝐧 sk,M :Checkvalidityofproof

= (𝜋, σD)

𝐕𝐞𝐫𝐢𝐟𝐲 vk,M, :

x, w ∈ 𝑅 ⇔ (VerifyDEF skDEF,M, σD = ⊤∧ com>?@AB = COM(skDEF))

vk = (crs:;, com>?@AB)

*UsefactthatOWFimpliesMAC,COM

1.σD ← SignDEF skDEF,M2.𝜋 ← Prove(x = M, σD, com>?@AB ,w = skDEF)

TakeAwayDP-NIZKsufficessincethe“signer”

isthe“designatedprover”.

Page 46: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)Fully-Hom.Signature

DP-NIZK[KW18]

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK[PS19]

SIS

LWE

*IgnoreDV-NIZKsinceitdoesn’tseemusefulforsignatures.

Page 47: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

Fully-Hom.Signature

[PS19]

Page 48: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

?

[MPR11]Attribute-based

Signature

Attribute-basedSignature

Fully-Hom.Signature

[PS19]

Page 49: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

?

+PKE[BMR03]

[MPR11]

?

Attribute-basedSignature

(FullyAnonymous)GroupSignature

Attribute-basedSignature

(FullyAnonymous)GroupSignature

Fully-Hom.Signature

[PS19]

Page 50: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Unfortunately,thisimplicationdoesnotholdforlattice-basedCRS-NIZKsL

SIS

LWE

?

+PKE[BMR03]

[DN00,BKM05]+PKE

[MPR11]

??

Attribute-basedSignature

(FullyAnonymous)GroupSignature

RingSignature*

Attribute-basedSignature

(FullyAnonymous)GroupSignature

RingSignature

Fully-Hom.Signature

[PS19]

Page 51: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

Attribute-basedSignature

(FullyAnonymous)GroupSignature

RingSignature*

Attribute-basedSignature

(FullyAnonymous)GroupSignature

RingSignature

Multi-UserDP-NIZK[KY19]

generalization

+PKE[BMR03]

[DN00,BKM05]+PKE

[MPR11]

Fully-Hom.Signature

[PS19]

Page 52: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

Attribute-basedSignature

(FullyAnonymous)GroupSignature

Attribute-basedSignature

(FullyAnonymous)GroupSignature

RingSignature

Multi-UserDP-NIZK[KY19]

generalization

+PKE[BMR03]

[DN00,BKM05]+PKE

[MPR11]

RingSignature*

Fully-Hom.Signature

[PS19]

Page 53: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

Attribute-basedSignature

(FullyAnonymous)GroupSignature

Attribute-basedSignature

(Selfless Anonymous)GroupSignature

RingSignature

Multi-UserDP-NIZK[KY19]

generalization

+PKE[BMR03]

[DN00,BKM05]+PKE

[MPR11]

RingSignature*

Fully-Hom.Signature

[PS19]

Page 54: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LatticeNIZKsandSignatures(Feasibility)

DP-NIZK[KW18]

DigitalSignature

CorrelationInteractableHash+Fiat-Shamir

CRS-NIZK

DigitalSignature

[BG89]

*Allarrowassumes“+OWF”

SIS

LWE

Attribute-basedSignature

(FullyAnonymous)GroupSignature

Attribute-basedSignature

(Selfless Anonymous)GroupSignature

(compact)RingSignature

Multi-UserDP-NIZK[KY19]

generalization

?openJ

+PKE[BMR03]

[DN00,BKM05]+PKE

[MPR11]

RingSignature*

Fully-Hom.Signature

[PS19]

Page 55: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

3.Result:

Lattice-basedGroupSignature[KatYam@EC’19]

via“Multi-UserDP-NIZKs”

Page 56: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

*DisclaimersAfterourpaperwasaccepted@EC,CRS-NIZKfromLWEwasfinallyresolved[PS19@CRYPTO].

Accordingly,thefollowingpresentation@EC ismadeunderthe“old”factthatCRS-NIZKfromlatticesdonotexistyet.

Page 57: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

OurResultinShort① Constructthefirstgroupsignaturesfrom

latticesinthestandardmodel.

③ Constructionsfromvariousassumptions.

② Achievesfulltraceability[BMW03]andselflessanonymity[CG04].

ü SISw/subexp-modulus.ü LWEw/poly-modulus.ü SISw/poly-modulus+LPNw/const.noiserate

Page 58: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

OurTechniquesinShortAvoidusingCRS-NIZK,anecessary

componentinexistingframeworks[BMW03,CG04,…],butnotknownfromlattices.

A) ExtendDP-NIZKtoMulti-User(MU)DP-NIZK.B) ShowMU-DP-NIZK⇒ GS.C) ProvideconstructionofMU-DP-NIZKfromSIS.

Page 59: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Outlineof“3.Result”

DefinitionofGroupSignatures

PreviousTechniques

OurWork

Page 60: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Outlineof“3.Result”

DefinitionofGroupSignatures

PreviousTechniques

OurWork

Page 61: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SyntaxofGroupSignature(GS)gpk, gok, gske e∈[g] ← GS. KeyGen(1l, 1g)

gskm gskn gsko

Page 62: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SyntaxofGroupSignature(GS)gpk, gok, gske e∈[g] ← GS. KeyGen(1l, 1g)

gskm gskn gsko

Σ ← GS. Sign(gpk, gske, M)

Page 63: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SyntaxofGroupSignature(GS)gpk, gok, gske e∈[g] ← GS. KeyGen(1l, 1g)

gskm gskn gsko

Σ ← GS. Sign(gpk, gske, M)⊤/⊥← GS. Vrfy(gpk,M, Σ)

*SignaturesignedbySOMEBODY inthegroup.

Page 64: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SyntaxofGroupSignature(GS)gpk, gok, gske e∈[g] ← GS. KeyGen(1l, 1g)

gskm gskn gsko

Σ ← GS. Sign(gpk, gske, M)⊤/⊥← GS. Vrfy(gpk,M, Σ)𝑖/⊥← GS. Open(gok,M, Σ)Heiswho

hassigned.

Page 65: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

gske

Corrupt*Allbut1user

Security:FullTraceability[BMW03]

Page 66: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

gske

Corrupt

Security:FullTraceability[BMW03]

SigningOracle

Page 67: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

gske

Corrupt

Security:FullTraceability[BMW03]

SigningOracle

or⊥Valid

Hardtoforgeasignaturethattracestoauncorrupteduserorthatcannottrace.

Page 68: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:SelflessAnonymity[CG04]

gsket gskeu

Corrupt*Allbut2users

Page 69: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:SelflessAnonymity[CG04]

gsket gskeu

Corrupt

Page 70: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:SelflessAnonymity[CG04]

gsket gskeu

Corrupt≈w

Signaturesoftwousers𝑖x and𝑖m areind,evengivengpk, gsky yzet,eu

(andopenoracle)

Page 71: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

*FullAnonymity[BMW03]Astronger notionthan“selfless”anonymity.Theadversaryisalsogivengsket andgskeu.

Knowntoimplypublic-keyencryption.[CG04,AW04](Hence,probablynon-obtainablefromSIS.)

Page 72: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

*FullAnonymity[BMW03]Astronger notionthan“selfless”anonymity.Theadversaryisalsogivengsket andgskeu.

Knowntoimplypublic-keyencryption.[CG04,AW04](Hence,probablynon-obtainablefromSIS.)

ThisTalkWewillonlyfocuson“selfless”anonymity.

Page 73: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Outlineof“3.Result”

DefinitionofGroupSignatures

PreviousTechniques

OurWork

Page 74: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework*Modifiedversionoforiginal[BMW03]

Ingredients:Signature +PKE +CRS-NIZK

GS. KeyGen(1l, 1g) → gpk, gok, gske e∈[g]

Page 75: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework*Modifiedversionoforiginal[BMW03]

Ingredients:Signature +PKE +CRS-NIZK

GS. KeyGen(1l, 1g) → gpk, gok, gske e∈[g]

n gpk = ( vke e∈ g , pk;|}, crs)

Page 76: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework*Modifiedversionoforiginal[BMW03]

Ingredients:Signature +PKE +CRS-NIZK

GS. KeyGen(1l, 1g) → gpk, gok, gske e∈[g]

n gpk = ( vke e∈ g , pk;|}, crs)

n gske = ske :Signingkeyofsignaturescheme

Page 77: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework*Modifiedversionoforiginal[BMW03]

Ingredients:Signature +PKE +CRS-NIZK

GS. KeyGen(1l, 1g) → gpk, gok, gske e∈[g]

n gpk = ( vke e∈ g , pk;|}, crs)

n gske = ske :Signingkeyofsignaturescheme

n gok = sk;|} :SecretkeyofPKE

Page 78: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)

User𝒊

gok = sk;|}

Page 79: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)

User𝒊

gok = sk;|}

1.𝜎 ← Sign ske, M

Page 80: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)1.𝜎 ← Sign ske, M2. ct ← Enc(pk;|}, 𝑖||σ; 𝑅)

User𝒊

gok = sk;|}

Page 81: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)

User𝒊

gok = sk;|}

1.𝜎 ← Sign ske, M2. ct ← Enc(pk;|}, 𝑖||σ; 𝑅)3.ProveusingCRS-NIZKthat∃𝑅∃𝜎∃𝑖 s.t.

• Verify vke, 𝜎,M = ⊤• ct = Enc pk;|}, 𝑖||𝜎; 𝑅

andobtainproof𝜋.

Page 82: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)

User𝒊

gok = sk;|}

1.𝜎 ← Sign ske, M2. ct ← Enc(pk;|}, 𝑖||σ; 𝑅)3.ProveusingCRS-NIZKthat∃𝑅∃𝜎∃𝑖 s.t.

• Verify vke, 𝜎,M = ⊤• ct = Enc pk;|}, 𝑖||𝜎; 𝑅

andobtainproof𝜋.

= (ct, 𝜋)

Page 83: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)

User𝒊

gok = sk;|}

1.𝜎 ← Sign ske, M2. ct ← Enc(pk;|}, 𝑖||σ; 𝑅)3.ProveusingCRS-NIZKthat∃𝑅∃𝜎∃𝑖 s.t.

• Verify vke, 𝜎,M = ⊤• ct = Enc pk;|}, 𝑖||𝜎; 𝑅

andobtainproof𝜋.

= (ct, 𝜋)

n GS.Verify⇒ Verify𝜋

Page 84: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

“SignthenEncandProve”Framework

gske = ske

gpk = ( vke e∈ g , pk;|}, crs),

n GS. Sign(gpk, gske,𝑀)

User𝒊

gok = sk;|}

1.𝜎 ← Sign ske, M2. ct ← Enc(pk;|}, 𝑖||σ; 𝑅)3.ProveusingCRS-NIZKthat∃𝑅∃𝜎∃𝑖 s.t.

• Verify vke, 𝜎,M = ⊤• ct = Enc pk;|}, 𝑖||𝜎; 𝑅

andobtainproof𝜋.

= (ct, 𝜋)

n GS.Verify⇒ Verify𝜋 n GS.Open⇒ Dec.ct

Page 85: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Anonymity

Proveuser𝑖’sinformationdoesn’tleakfrom.

Page 86: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Anonymity

Proveuser𝑖’sinformationdoesn’tleakfrom.

Ø 𝝅 revealsnothingabout𝑖 duetoCRS-NIZKbeingZK.

Page 87: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Anonymity

Proveuser𝑖’sinformationdoesn’tleakfrom.

Ø 𝝅 revealsnothingabout𝑖 duetoCRS-NIZKbeingZK.Ø ct revealsnothingabout𝑖 duetosecurityofPKE.

Page 88: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Anonymity

Proveuser𝑖’sinformationdoesn’tleakfrom.

Ø 𝝅 revealsnothingabout𝑖 duetoCRS-NIZKbeingZK.Ø ct revealsnothingabout𝑖 duetosecurityofPKE.

Theinformationofwhosignedthemessageishidden!

Page 89: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Traceability

Provethefollowingdoesn’thappen.

Page 90: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Traceability

Provethefollowingdoesn’thappen.

Ø DuetosoundnessofCRS-NIZK,musthavect oftheformEnc pk;|}, 𝑖||𝜎; 𝑅 for∃𝑅∃𝜎∃𝑖.

Page 91: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Traceability

Provethefollowingdoesn’thappen.

⇒ Openalgorithmdoesnotoutput⊥.

Ø DuetosoundnessofCRS-NIZK,musthavect oftheformEnc pk;|}, 𝑖||𝜎; 𝑅 for∃𝑅∃𝜎∃𝑖.

Page 92: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Traceability

Provethefollowingdoesn’thappen.

⇒ Openalgorithmdoesnotoutput⊥.Ø Duetounforgeabilityofsignature,impossibletoforge𝜎 s.t.Verify vke, 𝜎,M = ⊤ for non-corrupt user𝑖.

Ø DuetosoundnessofCRS-NIZK,musthavect oftheformEnc pk;|}, 𝑖||𝜎; 𝑅 for∃𝑅∃𝜎∃𝑖.

Page 93: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

IntuitionforSecurity:Traceability

Provethefollowingdoesn’thappen.

⇒ Openalgorithmdoesnotoutput⊥.Ø Duetounforgeabilityofsignature,impossibletoforge𝜎 s.t.Verify vke, 𝜎,M = ⊤ for non-corrupt user𝑖.

⇒ Openalgorithmdoesnotoutputnon-corruptuser.

Ø DuetosoundnessofCRS-NIZK,musthavect oftheformEnc pk;|}, 𝑖||𝜎; 𝑅 for∃𝑅∃𝜎∃𝑖.

Page 94: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Outlineof“3.Result”

DefinitionofGroupSignatures

PreviousTechniques

OurWork

Page 95: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MotivationofthisWorkHowtoconstructlattice-based

GSw/oCRS-NIZK??

Page 96: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MotivationofthisWorkHowtoconstructlattice-based

GSw/oCRS-NIZK??

ü IfwecanreplaceCRS-NIZKwithDP-NIZK,thenwecanuseSIS-basedconstructionof[KW18].

ü GettingawaywithSKEinsteadofPKE iseasy.

Page 97: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MotivationofthisWorkHowtoconstructlattice-based

GSw/oCRS-NIZK??

Willresultinthefirstlattice-basedGS!Moreover,fromtheSISassumptionJ

ü IfwecanreplaceCRS-NIZKwithDP-NIZK,thenwecanuseSIS-basedconstructionof[KW18].

ü GettingawaywithSKEinsteadofPKE iseasy.

Page 98: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

OverviewofOurApproach① Unfortunately,simplyplugginginDP-NIZK in

placeofCRS-NIZKdoesnotworkL

Page 99: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

OverviewofOurApproach① Unfortunately,simplyplugginginDP-NIZK in

placeofCRS-NIZKdoesnotworkL

② Toavoidproblem,weintroduceaMulti-UserDP-NIZK anduseitasreplacement.

Page 100: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

OverviewofOurApproach① Unfortunately,simplyplugginginDP-NIZK in

placeofCRS-NIZKdoesnotworkL

③ WeobservethatMU-DP-NIZKisimpliedbyattribute-basedsignatures(ABS)andconstructanewlattice-basedABS.

② Toavoidproblem,weintroduceaMulti-UserDP-NIZK anduseitasreplacement.

Page 101: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Recap:DP-NIZKCRS:(public)commonreferencestring

𝐤𝐩:(private)provingkey

Prover Verifier(𝑥, 𝑤)

𝜋𝑥CRS,𝑥 ∈ 𝐿

𝐤𝐩ZKpropertyissatisfiedaslongas𝐤𝐩

iskeptsecretfromtheVerifier.

Page 102: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Recap:DP-NIZKCRS:(public)commonreferencestring

𝐤𝐩:(private)provingkey

Prover Verifier(𝑥, 𝑤)

𝜋𝑥CRS,𝑥 ∈ 𝐿

𝐤𝐩ZKpropertyissatisfiedaslongas𝐤𝐩

iskeptsecretfromtheVerifier.

Correlated

Page 103: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

FirstAttempt

gpk = ( vke e∈ g , pk;|}, crs)

PluginDP-NIZKin[BMW03]framework.Grouppublickey:

Page 104: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

FirstAttempt

gpk = ( vke e∈ g , pk;|}, crs)

gske = (ske, k2)

PluginDP-NIZKin[BMW03]framework.Grouppublickey:

Groupsigningkeyforuser𝑖: ProvingkeyforDP-NIZK(Sameforallusers)

Page 105: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

FirstAttempt

gpk = ( vke e∈ g , pk;|}, crs)

gske = (ske, k2)

PluginDP-NIZKin[BMW03]framework.Grouppublickey:

Groupsigningkeyforuser𝑖:

Signaturemadebyuser𝑖:Σ = (ct, 𝜋)

ProvingkeyforDP-NIZK(Sameforallusers)

DP-NIZK proof

Page 106: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

FirstAttempt

gpk = ( vke e∈ g , pk;|}, crs)

gske = (ske, k2)

PluginDP-NIZKin[BMW03]framework.Grouppublickey:

Groupsigningkeyforuser𝑖:

Σ = (ct, 𝜋)

ProvingkeyforDP-NIZK(Sameforallusers)

DP-NIZK proof

Corruptionofsingleuserrevealsk;⇒ RuinsZKpropertyofDP-NIZK⇒ BreaksAnonymityoftheresultingGS

Signaturemadebyuser𝑖:

Page 107: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecondAttempt

gpk = ( vke e∈ g , pk;|}, crs m , … , crs(g))

Usedifferentk2 fordifferentusers.Grouppublickey:

Page 108: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecondAttempt

gpk = ( vke e∈ g , pk;|}, crs m , … , crs(g))Grouppublickey:

gske = (ske, k2(e))

Groupsigningkeyforuser𝑖: Provingkeyforthe𝒊-th instanceofDP-NIZK

Usedifferentk2 fordifferentusers.

Page 109: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecondAttempt

gpk = ( vke e∈ g , pk;|}, crs m , … , crs(g))Grouppublickey:

gske = (ske, k2(e))

Groupsigningkeyforuser𝑖:

Σ = (ct, 𝜋)

Provingkeyforthe𝒊-th instanceofDP-NIZK

W.R.Tcrs(e)

Usedifferentk2 fordifferentusers.

Signaturemadebyuser𝑖:

Page 110: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecondAttempt

gpk = ( vke e∈ g , pk;|}, crs m , … , crs(g))Grouppublickey:

gske = (ske, k2(e))

Groupsigningkeyforuser𝑖:

Σ = (ct, 𝜋)

Provingkeyforthe𝒊-th instanceofDP-NIZK

W.R.Tcrs(e)

TheDP-NIZKproof(GSsignature)doesnothidetheinstance𝑖.⇒ BreaksAnonymityoftheresultingGS

Usedifferentk2 fordifferentusers.

Signaturemadebyuser𝑖:

Page 111: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LessonLearnedfromFailuresp NeedmultipleprovervariantofDP-NIZK.p Needsecurityagainstcorruptionofprovers.p Proofshould notleakproveridentity.

DP-NIZKseemstobetooweak….

Page 112: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

LessonLearnedfromFailuresp NeedmultipleprovervariantofDP-NIZK.p Needsecurityagainstcorruptionofprovers.p Proofshould notleakproveridentity.

DP-NIZKseemstobetooweak….

OurSolutionConstructanonymousMulti-UserDP-NIZK(Attribute-basedsignature+[KW18]technique)

Page 113: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

NewNotion:Multi-UserDP-NIZK

Public:CRS,Private:(kpm, … , kpg)

Essentially,aDP-NIZKwithmultipleusersJ

kpm kpn kpo kp�

Page 114: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

NewNotion:Multi-UserDP-NIZK

Public:CRS,Private:(kpm, … , kpg)

Essentially,aDP-NIZKwithmultipleusersJ

kpm kpn kpo kp�

𝑥,𝑤 ∈ 𝑅

Proof 𝜋 w.r.tCRS

Page 115: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

NewNotion:Multi-UserDP-NIZK

Public:CRS,Private:(kpm, … , kpg)

Essentially,aDP-NIZKwithmultipleusersJ

kpm kpn kpo kp�

𝑥,𝑤 ∈ 𝑅

Proof 𝜋 w.r.tCRS

ü Zero-Knowledge:𝜋 leaksnoinformationevenwithcorruption.

Page 116: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

NewNotion:Multi-UserDP-NIZK

Public:CRS,Private:(kpm, … , kpg)

Essentially,aDP-NIZKwithmultipleusersJ

kpm kpn kpo kp�

𝑥,𝑤 ∈ 𝑅

Proof 𝜋 w.r.tCRS

ü Soundness:𝑥 ∉ 𝐿 cannotbeprovenevenwithcorruption.ü Zero-Knowledge:𝜋 leaksnoinformationevenwithcorruption.

Page 117: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

NewNotion:Multi-UserDP-NIZK

Public:CRS,Private:(kpm, … , kpg)

Essentially,aDP-NIZKwithmultipleusersJ

kpm kpn kpo kp�

𝑥,𝑤 ∈ 𝑅

Proof 𝜋 w.r.tCRS

ü Soundness:𝑥 ∉ 𝐿 cannotbeprovenevenwithcorruption.ü Zero-Knowledge:𝜋 leaksnoinformationevenwithcorruption.

ü Anonymity:Informationofwhogenerated𝜋 isnotleakedevenwithcorruption.

Page 118: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

HowtoConstructMU-DP-NIZK??

ThePlan1. ReviewAttribute-basedSignatures(ABS).2. CompileABSintoMU-DP-NIZKusingthe

techniquedevelopedin[KW18].

Page 119: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Attribute-basedSignatures(ABS)mpk,msk ← ABS. Setup(1l)

xm xn xo

Page 120: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Attribute-basedSignatures(ABS)mpk,msk ← ABS. Setup(1l)

sk�u

sk� ← ABS. KeyGen(msk, x)

sk�� sk��

xm xn xo

*attribute

Page 121: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Attribute-basedSignatures(ABS)mpk,msk ← ABS. Setup(1l)

sk�u

sk� ← ABS. KeyGen(msk, x)

sk�� sk��

*attribute

𝜎 ← ABS. Sign(mpk, sk�, C,M)

CansignonapolicyC iff C x = 1.*attributesatisfiespolicy.

*policyPolicyC

xm xn xo

Page 122: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Attribute-basedSignatures(ABS)mpk,msk ← ABS. Setup(1l)

sk�u

sk� ← ABS. KeyGen(msk, x)

sk�� sk��

*attribute

𝜎 ← ABS. Sign(mpk, sk�, C,M)

CansignonapolicyC iff C x = 1.*attributesatisfiespolicy.

*policy

⊤/⊥← ABS. Verify(mpk, C, 𝜎,M)

PolicyC

xm xn xo

Page 123: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecurityofABS:Anonymity

sk�u sk��

xm xn

PolicyC PolicyC

M M

Page 124: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecurityofABS:Anonymity

sk�u sk��

xm xn

PolicyC PolicyC

Ifattributexm andxn satisfyC xm = C xn = 1,thenthesignaturesareindistinguishable.

M M≈w

Page 125: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecurityofABS:Anonymity

sk�u sk��

xm xn

PolicyC PolicyC

Ifattributexm andxn satisfyC xm = C xn = 1,thenthesignaturesareindistinguishable.

M M≈w

*Signatureonlyleaksthatthesignerhadasatisfyingattributex forpolicyC.

Page 126: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SecurityofABS:Unforgeability

sk�u sk��

xm xn

Policy𝐂∗

sk��

xo

Corrupt

HardtoforgeasignatureonC∗ evenifgivensigningkeys{sk�} thatarenotallowedtosignonC∗(i. e. , C∗ x = 0)

*Secretkeysk� canonlybeusedwithrespecttoC suchthatC x = 1.

Page 127: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

MU-DP-NIZKfromABS(+SKE)Applytheideaof[KW18]toABSinsteadofFHS.

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

ABSsigningkeyviewingKm asattribute

SKEsecretkey

Page 128: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Applytheideaof[KW18]toABSinsteadofFHS.

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

1.ct← SKE. Enc Km,wConstructingMU-DP-NIZKproof𝝅

MU-DP-NIZKfromABS(+SKE)

Page 129: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Applytheideaof[KW18]toABSinsteadofFHS.

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

1.ct← SKE. Enc Km,w2. 𝜎 ← ABS. Sign(mpk, sk|u

E��, C�,��, "∃fixedM")wherepolicyC�,�� K ≔ R x, SKE. Dec K, ct .

PublicFunction

ConstructingMU-DP-NIZKproof𝝅

MU-DP-NIZKfromABS(+SKE)

Page 130: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Applytheideaof[KW18]toABSinsteadofFHS.

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

ConstructingMU-DP-NIZKproof𝝅1.ct← SKE. Enc Km,w2. 𝜎 ← ABS. Sign(mpk, sk|u

E��, C�,��, "∃fixedM")wherepolicyC�,�� K ≔ R x, SKE. Dec K, ct .

3.𝜋 ≔ (ct, 𝜎)

PublicFunction

MU-DP-NIZKfromABS(+SKE)

Page 131: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:Soundness

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

MU-DP-NIZKproof:𝜋 = (ct, 𝜎)

SoundnessIfxisnotinthelanguage,thenforallct andK,

C�,�� K ≔ R x, SKE. Dec K, ct = 0.Hence,unforgeabilityofABSimpliessoundnessJ

Page 132: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:Soundness

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

MU-DP-NIZKproof:𝜋 = (ct, 𝜎)

SoundnessIfxisnotinthelanguage,thenforallct andK,

C�,�� K ≔ R x, SKE. Dec K, ct = 0.Hence,unforgeabilityofABSimpliessoundnessJ

Corrupt

…w/corruptiontoo??

Page 133: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:Soundness

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

MU-DP-NIZKproof:𝜋 = (ct, 𝜎)

SoundnessIfxisnotinthelanguage,thenforallct andK,

C�,�� K ≔ R x, SKE. Dec K, ct = 0.Hence,unforgeabilityofABSimpliessoundnessJ

Corrupt

…w/corruptiontoo??

SoundevenwithcorruptionJ(∵ ABSisunforgeableeven

withcorruption)

Page 134: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:Zero-Knowledge/Anonymity

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

MU-DP-NIZKproof:𝜋 = (ct, 𝜎)

ZK/AnonymityØ ct= SKE. Enc K,w :Doesnotleakw duetosecurityofSKE.Ø 𝜎 isaABSsignatureusingsk|E��:Doesnotleak(attribute)K

duetoanonymityofABS.

Page 135: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Security:Zero-Knowledge/Anonymity

kpm kpn kpo kp�= (Km, sk|u

E��) = (K�, sk|�E��)

x,w ∈ R

MU-DP-NIZKproof:𝜋 = (ct, 𝜎)

ZK/AnonymityØ ct= SKE. Enc K,w :Doesnotleakw duetosecurityofSKE.Ø 𝜎 isaABSsignatureusingsk|E��:Doesnotleak(attribute)K

duetoanonymityofABS.

Corrupt

…w/corruptiontoo??

ZKandAnonymousevenwithcorruptionJ

(∵SKEKeysareindependentandABSisanonymous)

Page 136: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

PiecingEverythingTogether

SKE+Signature+Multi-UserDP-NIZK⟹ GS

PluginMU-DP-NIZKinplaceofCRS-NIZKinthe“Sign-then-Enc-and-Prove”paradigm[BMW03,CG04].

SKE+ABS⟹

Page 137: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

PiecingEverythingTogether

SKE+Signature+Multi-UserDP-NIZK⟹ GS

PluginMU-DP-NIZKinplaceofCRS-NIZKinthe“Sign-then-Enc-and-Prove”paradigm[BMW03,CG04].

SKE+ABS⟹

StraightforwardtoinstantiateSKEandSignatureusingexistingconstructions(SIS,LWE,LPN,…).

HowaboutAttribute-basedSignature??

Page 138: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InstantiatingABS

[Tsabary17]givesABS,butneedscomplexityleveraging forourpurpose⇒ Need(subexp)SIS(duetomismatchofsecuritynotions).

Instantiation1:

Page 139: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

InstantiatingABS

[Tsabary17]givesABS,butneedscomplexityleveraging forourpurpose⇒ Need(subexp)SIS(duetomismatchofsecuritynotions).

WeakenthesecurityrequirementsforABSbythefollowingobservations- Boundedkeyqueriesissufficient- Attributesforsigningkeycanbedetermined

beforethesetupofsystem(TheyareSKEkeys)⇒Directlyconstructionfrom(poly)SIS.

Instantiation1:

Instantiation2:

Page 140: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

Conclusion of [KY19]① Constructthefirstgroupsignaturesfrom

latticesinthestandardmodel.

③ Constructionsfromvariousassumptions.

② ConsideranewtypeofMulti-User DP-NIZKandconstructitfromABS.

ü SISw/subexp-modulus.ü LWEw/poly-modulus.ü SISw/poly-modulus+LPNw/const.noiserate

Page 141: Exploring Links Between Lattice-based NIZKs and Various Signature Schemes … · 2019. 7. 15. · Exploring Links Between Lattice-based NIZKs and Various Signature Schemes (in the

SomeOpenQuestions① Constructgroupsignatures basedonpoly SIS.

*Oursrequiresub-expSIS.

② Constructringsignaturesw/osetupwithlogarithmicsignaturesizefromlattices.

*LinearsizeknownfromSIS.

④ ExploreotherlinksbetweenvarioustypesofNIZKandsignatures.

③ AnyotherinterestingnotionsforNIZKs??(e.g.,maliciousDV-NIZK[QRW19])


Recommended