• Aucun résultat trouvé

Introduction to Cryptography

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction to Cryptography"

Copied!
103
0
0

Texte intégral

(1)

Introduction to Cryptography

Introduction to Cryptography

Pascal Lafourcade

ESC January 2021

(2)

Introduction to Cryptography Historic of Cryptography

Outline

Historic of Cryptography

Introduction to Cryptography

Partial and Full Homomorphic Encryption Security Properties

ZKP Conclusion

(3)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Steganography Cryptography

Transposition Substitution

Code

Encryption

(4)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Steganography

Cryptography

Transposition Substitution

Code

Encryption

(5)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Steganography Cryptography

Transposition Substitution

Code

Encryption

(6)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Steganography Cryptography

Transposition

Substitution

Code

Encryption

(7)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Steganography Cryptography

Transposition Substitution

Code

Encryption

(8)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Steganography Cryptography

Transposition Substitution

Code

Encryption

(9)

Introduction to Cryptography Historic of Cryptography

Art to hide written secret

Cryptography

Transposition Substitution

Code

Encryption

(10)

Introduction to Cryptography Historic of Cryptography

Applications

(11)

Introduction to Cryptography Historic of Cryptography

Long time ago

(12)

Introduction to Cryptography Historic of Cryptography

Grecks and Scythale

Transposition

(13)

Introduction to Cryptography Historic of Cryptography

Grecks and Scythale

Transposition

(14)

Introduction to Cryptography Historic of Cryptography

Romans

Caesar Encryption Substitution +3

Dyh Fhvdu Ave Cesar

(15)

Introduction to Cryptography Historic of Cryptography

Romans

Caesar Encryption Substitution +3

Dyh Fhvdu

Ave Cesar

(16)

Introduction to Cryptography Historic of Cryptography

Romans

Caesar Encryption Substitution +3

Dyh Fhvdu Ave Cesar

(17)

Introduction to Cryptography Historic of Cryptography

Is it secure ?

Frequence Analysis

(18)

Introduction to Cryptography Historic of Cryptography

Is it secure ?

Frequence Analysis

(19)

Introduction to Cryptography Historic of Cryptography

Substitution polyalphabetic (Alberti, Vigen` ere 1553)

Example with the key k = 3,7,10

m = CON NAI TRE

Ek(m) = FVX QHS WYO

(20)

Introduction to Cryptography Historic of Cryptography

Substitution polyalphabetic (Alberti, Vigen` ere 1553)

Example with the key k = 3,7,10

m = CON NAI TRE Ek(m) = FVX QHS WYO

(21)

Introduction to Cryptography Historic of Cryptography

Kerchoff’s Principle

In 1883, a Dutch linguist Auguste Kerchoff von Nieuwenhof stated in his book “La Cryptographie Militaire” that:

“the security of a crypto-system must be totally dependent on the secrecy of the key, not the secrecy of the algorithm.”

Author’s name sometimes spelled Kerckhoff

(22)

Introduction to Cryptography Historic of Cryptography

Encryption : Enigma (Second World War)

+ =

+ =

+ + + + + + + =

(23)

Introduction to Cryptography Historic of Cryptography

Encryption : Enigma (Second World War)

+ =

+ =

+ + + + + + + =

(24)

Introduction to Cryptography Historic of Cryptography

Encryption : Enigma (Second World War)

+ =

+ =

+ + + + + + + =

(25)

Introduction to Cryptography Historic of Cryptography

Encryption : Enigma (Second World War)

+ =

+ =

+ + + + + + + =

(26)

Introduction to Cryptography Historic of Cryptography

Encryption : Enigma (Second World War)

+ =

+ =

+ + + + + + + =

(27)

Introduction to Cryptography Historic of Cryptography

One-Time Pad (Vernam 1917)

Example:

m = 010111 k = 110010 c = 100101

(28)

Introduction to Cryptography Historic of Cryptography

Shannon’s Principle 1949

Confusion

The purpose of confusion is to make the relation between the key and the ciphertext as complex as possible.

Ciphers that do not offer much confusion (such as Vigenere cipher) are susceptible to frequency analysis.

Diffusion

Diffusion spreads the influence of a single plaintext bit over many ciphertext bits.

The best diffusing component is substitution (homophonic) Principle

A good cipher design uses Confusion and Diffusion together

(29)

Introduction to Cryptography Historic of Cryptography

Shannon’s Principle 1949

Confusion

The purpose of confusion is to make the relation between the key and the ciphertext as complex as possible.

Ciphers that do not offer much confusion (such as Vigenere cipher) are susceptible to frequency analysis.

Diffusion

Diffusion spreads the influence of a single plaintext bit over many ciphertext bits.

The best diffusing component is substitution (homophonic)

Principle

A good cipher design uses Confusion and Diffusion together

(30)

Introduction to Cryptography Historic of Cryptography

Shannon’s Principle 1949

Confusion

The purpose of confusion is to make the relation between the key and the ciphertext as complex as possible.

Ciphers that do not offer much confusion (such as Vigenere cipher) are susceptible to frequency analysis.

Diffusion

Diffusion spreads the influence of a single plaintext bit over many ciphertext bits.

The best diffusing component is substitution (homophonic) Principle

A good cipher design uses Confusion and Diffusion together

(31)

Introduction to Cryptography Introduction to Cryptography

Outline

Historic of Cryptography Introduction to Cryptography

Partial and Full Homomorphic Encryption Security Properties

ZKP Conclusion

(32)

Introduction to Cryptography Introduction to Cryptography

c o n c l

(33)

Introduction to Cryptography Introduction to Cryptography

Symmetric Encryption

encryption decryption

Clef symétrique Clef symétrique

Examples

I Caesar, Vigen`ere

I One Time Pad (OTP) c =m⊕k I Data Encryption Standard (DES) 1976

(34)

Introduction to Cryptography Introduction to Cryptography

Phone Communications

(35)

Introduction to Cryptography Introduction to Cryptography

Public Key Encryption

encryption decryption

Clef publique

Clef privée

Examples

I RSA (Rivest Shamir Adelmman 1977): c =me mod n I ElGamal (1981) : c ≡(gr,hr ·m)

(36)

Introduction to Cryptography Introduction to Cryptography

Comparaison

I Size of the key

I Complexity of computation (time, hardware, cost ...) I Number of different keys ?

I Key distribution

I Signature only possible with asymmetric scheme

(37)

Introduction to Cryptography Introduction to Cryptography

Computational cost of encryption

2 hours of video (assumes 3Ghz CPU)

DVD 4,7 G.B Blu-Ray 25 GB Schemes encrypt decrypt encrypt decrypt RSA 2048(1) 22 min 24 h 115 min 130 h RSA 1024(1) 21 min 10 h 111 min 53 h AES CTR(2) 20 sec 20 sec 105 sec 105 sec

(38)

Introduction to Cryptography Introduction to Cryptography

ElGamal Encryption Scheme

Key generation: Alice chooses a prime numberp and a group generator g of (Z/pZ) anda∈(Z/(p−1)Z).

Public key: (p,g,h), where h=ga mod p.

Private key: a

Encryption: Bob chooses r ∈R (Z/(p−1)Z) and computes (u,v) = (gr,Mhr)

Decryption: Given (u,v), Alice computes M ≡p uva

Justification: uva = Mhgrarp M

Remarque: re-usage of the same random r leads to a security flaw:

M1hr

M2hrp M1

M2

Practical Inconvenience: Cipher is twice as long as plain text.

(39)

Introduction to Cryptography Introduction to Cryptography

Hash Function (SHA-256, SHA-3)

Security properties I Pr´e-image Resistance

I Second Pr´e-image Resistance I Collision Resistance

I Unkeyed Hash function: Integrity

I Keyed Hash function (Message Authentication Code): Authentification

(40)

Introduction to Cryptography Introduction to Cryptography

Hash Function (SHA-256, SHA-3)

Security properties I Pr´e-image Resistance

I Second Pr´e-image Resistance I Collision Resistance

I Unkeyed Hash function: Integrity

I Keyed Hash function (Message Authentication Code): Authentification

(41)

Introduction to Cryptography Introduction to Cryptography

Hash Function (SHA-256, SHA-3)

Security properties I Pr´e-image Resistance

I Second Pr´e-image Resistance

I Collision Resistance

I Unkeyed Hash function: Integrity

I Keyed Hash function (Message Authentication Code): Authentification

(42)

Introduction to Cryptography Introduction to Cryptography

Hash Function (SHA-256, SHA-3)

Security properties I Pr´e-image Resistance

I Second Pr´e-image Resistance I Collision Resistance

I Unkeyed Hash function: Integrity

I Keyed Hash function (Message Authentication Code):

Authentification

(43)

Introduction to Cryptography Introduction to Cryptography

Software Installation

H( )

Integrity of the downloaded file.

22 / 59

(44)

Introduction to Cryptography Introduction to Cryptography

MD5, MD4 and RIPEMD Broken

MD5(james.jpg)= e06723d4961a0a3f950e7786f3766338

MD5(barry.jpg) = e06723d4961a0a3f950e7786f3766338

How to Break MD5 and Other Hash Functions, by Xiaoyun Wang, et al.

MD5 : Average run time on P4 1.6ghz PC: 45 minutes

MD4 and RIPEMD : Average runtime on P4 1.6ghz: 5 seconds

(45)

Introduction to Cryptography Introduction to Cryptography

MD5, MD4 and RIPEMD Broken

MD5(james.jpg)= e06723d4961a0a3f950e7786f3766338 MD5(barry.jpg) = e06723d4961a0a3f950e7786f3766338

How to Break MD5 and Other Hash Functions, by Xiaoyun Wang, et al.

(46)

Introduction to Cryptography Introduction to Cryptography

SHA-1 broken in 2017 shattered.io

M. Stevens, P. Karpman, E. Bursztein, A. Albertini, Y. Markov

(47)

Introduction to Cryptography Introduction to Cryptography

SHA-1 broken in 2017 shattered.io

(48)

Introduction to Cryptography Introduction to Cryptography

SHA-1 broken in 2017 shattered.io

(49)

Introduction to Cryptography Introduction to Cryptography

SHA-1 broken in 2017 shattered.io

(50)

Introduction to Cryptography Introduction to Cryptography

Signature

signature

secret key public key

verification

Clef privée

Clef publique

RSA:md modn

(51)

Introduction to Cryptography Introduction to Cryptography

Signature

signature

secret key public key

verification

Clef privée

Clef publique

(52)

Introduction to Cryptography Introduction to Cryptography

Application : avoid to “fraude au pr´ esident”

I In 2010 >485 billions of euros I In 5 years 2.300 court cases

Solution :

(53)

Introduction to Cryptography Introduction to Cryptography

Application : avoid to “fraude au pr´ esident”

I In 2010 >485 billions of euros I In 5 years 2.300 court cases

Solution :

(54)

Introduction to Cryptography Introduction to Cryptography

Application : avoid to “fraude au pr´ esident”

I In 2010 >485 billions of euros I In 5 years 2.300 court cases

Solution :

(55)

Introduction to Cryptography Introduction to Cryptography

Broadcast encryption (Fiat-Noar 1994)

The sender can select the target group of receivers to control who access to the data like in PAYTV

(56)

Introduction to Cryptography Introduction to Cryptography

Functional encryption [Boneh-Sahai-Waters 2011]

The user generates sub-keysKy according to the inputy to control the amount of shared data.

FromC =Encrypt(x), then Decrypt(Ky,C), outputsf(x,y)

(57)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Outline

Historic of Cryptography Introduction to Cryptography

Partial and Full Homomorphic Encryption

Security Properties ZKP

Conclusion

(58)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Fully Homomorphic Encryption [Gentry 2009]

(59)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Fully Homomorphic Encryption [Gentry 2009]

FHE: encrypt data, allow manipulation over data.

Symmetric Encryption (secret key) is enough

f({x1}K,{x2}K, . . . ,{xn}K) ={f(x1,x2, . . . ,xn)}K I Allows private storage

I Allows private computations

(60)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Rivest Adleman Dertouzos 1978

“Going beyond the storage/retrieval of encrypted data by permitting encrypted data to be operated on for interesting operations, in a public fashion?”

(61)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Partial Homomorphic Encryption

Definition (additively homomorphic)

E(m1)⊗E(m2)≡E(m1⊕m2).

Applications

I Electronic voting

I Secure Fonction Evaluation

I Private Multi-Party Trust Computation I Private Information Retrieval

I Private Searching

I Outsourcing of Computations (e.g., Secure Cloud Computing)

(62)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Brief history of partially homomorphic cryptosystems

Enc(a,k)∗Enc(b,k) =Enc(a∗b,k)

Year Name Security hypothesis Expansion

1977 RSA factorization

1982 Goldwasser - Micali quadratic residuosity log2(n)

1994 Benaloh higher residuosity >2

1998 Naccache - Stern higher residuosity >2

1998 Okamoto - Uchiyama p-subgroup 3

1999 Paillier composite residuosity 2

2001 Damgaard - Jurik composite residuosity d+1d 2005 Boneh - Goh - Nissim ECC Log

2010 Aguilar-Gaborit-Herranz SIVP integer lattices Expansion factor is the ration ciphertext over plaintext.

(63)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Scheme Unpadded RSA

If the RSA public key is modulusmand exponent e, then the encryption of a messagex is given by

E(x) =xe modm

E(x1)· E(x2) = x1ex2e mod m

= (x1x2)e mod m

= E(x1·x2)

(64)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Scheme ElGamal

In the ElGamal cryptosystem, in a cyclic groupG of order q with generatorg, if the public key is (G,q,g,h), where h=gx andx is the secret key, then the encryption of a messagem is

E(m) = (gr,m·hr), for some randomr ∈ {0, . . . ,q−1}.

E(m1)· E(m2) = (gr1,m1·hr1)(gr2,m2·hr2)

= (gr1+r2,(m1·m2)hr1+r2)

= E(m1·m2)

(65)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Fully Homomorphic Encryption

Enc(a,k)∗Enc(b,k) =Enc(a∗b,k) Enc(a,k) +Enc(b,k) =Enc(a+b,k) f(Enc(a,k),Enc(b,k)) =Enc(f(a,b),k) Fully Homomorphic encryption

I Craig Gentry (STOC 2009) using lattices

I Marten van Dijk; Craig Gentry, Shai Halevi, and Vinod Vaikuntanathan using integer

I Craig Gentry; Shai Halevi. ”A Working Implementation of

(66)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Simple SHE: SGHV Scheme [vDGHV10]

Public error-free element : x0 =q0·p Secret keysk =p

Encryption ofm∈ {0,1}

c =q·p+ 2·r+m whereq is a large random andr a small random.

Decryption ofc

m= (c modp) mod 2

(67)

Introduction to Cryptography

Partial and Full Homomorphic Encryption

Simple SHE: SGHV Scheme [vDGHV10]

Public error-free element : x0 =q0·p Secret keysk =p

Encryption ofm∈ {0,1}

c =q·p+ 2·r+m whereq is a large random andr a small random.

Decryption ofc

m= (c modp) mod 2

(68)

Introduction to Cryptography Security Properties

Outline

Historic of Cryptography Introduction to Cryptography

Partial and Full Homomorphic Encryption Security Properties

ZKP Conclusion

(69)

Introduction to Cryptography Security Properties

Traditional security properties

I Common security properties are:

- Confidentiality or Secrecy: No improper disclosure of information

- Authentification: To be sure to talk with the right person.

disclosure of information

- Integrity: No improper modification of information

- Availability: No improper impairment of functionality/service

(70)

Introduction to Cryptography Security Properties

Authentication

(71)

Introduction to Cryptography Security Properties

Mechanisms for Authentication

Strong authenticationcombines multiple factors:

(72)

Introduction to Cryptography Security Properties

Other security properties

I Non-repudiation (also calledaccountability) is where one can establish responsibility for actions.

I Fairness is the fact there is no advantage to play one role in a protocol comparing with the other ones.

I Privacy

Anonymity: secrecy of principal identities or communication relationships.

Pseudonymity: anonymity plus link-ability.

Data protection: personal data is only used in certain ways.

(73)

Introduction to Cryptography Security Properties

Example: e-voting

I An e-voting system should ensure that I only registered voters vote,

I each voter can only vote once, I integrity of votes,

I privacy of voting information (only used for tallying), and I availability of system during voting period

(74)

Introduction to Cryptography ZKP

Outline

Historic of Cryptography Introduction to Cryptography

Partial and Full Homomorphic Encryption Security Properties

ZKP Conclusion

(75)

Introduction to Cryptography ZKP

Idea of Zero Knowledge Proof

Prover (P)

(P) convinces (V) that it knows something without revealing any information

Verifier (V)

Applications:

I Authentication systems: prove its identity to someone using a password without reavealing anything about the secret. I Prove that a praticipant behavior is correct according to the

protocol (e.g. integrity of ballots in vote).

I Group signature, secure multiparty computation, e-cash ...

(76)

Introduction to Cryptography ZKP

Idea of Zero Knowledge Proof

Prover (P)

(P) convinces (V) that it knows something without revealing any information

Verifier (V) Applications:

I Authentication systems: prove its identity to someone using a password without reavealing anything about the secret.

I Prove that a praticipant behavior is correct according to the protocol (e.g. integrity of ballots in vote).

I Group signature, secure multiparty computation, e-cash ...

(77)

Introduction to Cryptography ZKP

Cave example (0)

Door with a secret code

(78)

Introduction to Cryptography ZKP

Cave example (I)

V waits outside while P chooses a path

(79)

Introduction to Cryptography ZKP

Cave example (II)

V enters and shouts the name of a path

(80)

Introduction to Cryptography ZKP

Cave example (III)

P returns along the desired path (using the secret if necessary)

A= “P does not know the secret” is equivalent to say “P is lucky”

Pr[A] = 1 2 Afterk tries,

Pr[A] = (1 2)k

A= “P knows the secret”, then Pr[A] = 1−Pr[A] = 1−(1

2)k

(81)

Introduction to Cryptography ZKP

Cave example (III)

P returns along the desired path (using the secret if necessary) A= “P does not know the secret”

is equivalent to say “P is lucky”

Pr[A] = 1 2

Afterk tries,

Pr[A] = (1 2)k

A= “P knows the secret”, then Pr[A] = 1−Pr[A] = 1−(1

2)k

(82)

Introduction to Cryptography ZKP

Cave example (III)

P returns along the desired path (using the secret if necessary) A= “P does not know the secret”

is equivalent to say “P is lucky”

Pr[A] = 1 2 Afterk tries,

Pr[A] = (1 2)k

A= “P knows the secret”, then Pr[A] = 1−Pr[A] = 1−(1

2)k

(83)

Introduction to Cryptography ZKP

Cave example (III)

P returns along the desired path (using the secret if necessary) A= “P does not know the secret”

is equivalent to say “P is lucky”

Pr[A] = 1 2 Afterk tries,

Pr[A] = (1 2)k

A= “P knows the secret”, then

(84)

Introduction to Cryptography ZKP

Graph 3-coloring is NP-complete: • • •

1 2

3 4

5

6 7

8

9

10

Petersen graph

(85)

Introduction to Cryptography ZKP

Graph 3-coloring is NP-complete: • • •

1 2

3 4

5

6 7

8

9

10

(86)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

Chooses∀u∈V,ru

→ ∀u ∈V,eu =H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→ V accepts, ifeui =H(π(c(ui))||rui) and

euj =H(π(c(uj))||ruj) Choosesi andj

(87)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

→ ∀u ∈V,eu=H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→ V accepts, ifeui =H(π(c(ui))||rui) and

euj =H(π(c(uj))||ruj) Choosesi andj

(88)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

Chooses∀u ∈V,ru

→ ∀u ∈V,eu=H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→ V accepts, ifeui =H(π(c(ui))||rui) and

euj =H(π(c(uj))||ruj) Choosesi andj

(89)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

→ ∀u ∈V,eu=H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→ V accepts, ifeui =H(π(c(ui))||rui) and

euj =H(π(c(uj))||ruj)

(90)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

Chooses∀u ∈V,ru

→ ∀u ∈V,eu=H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→ V accepts, ifeui =H(π(c(ui))||rui) and

euj =H(π(c(uj))||ruj)

Choosesi andj

(91)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

→ ∀u ∈V,eu=H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→

V accepts, ifeui =H(π(c(ui))||rui) and euj =H(π(c(uj))||ruj)

(92)

Introduction to Cryptography ZKP

P wants to prove to V his 3-coloring of G = (E , V )

P selects a permutationπ of the 3 colors.

π(

1 2

4 3 5

6 7

8 9

10

)=

1 2

4 3 5

6 7

8 9

10

Chooses∀u ∈V,ru

→ ∀u ∈V,eu=H(π(c(u))||ru)→

←−ui,uj ←−

−→rui,ruj, π(c(ui)), π(c(vj))−→

V accepts, ifeui =H(π(c(ui))||rui) and

eu =H(π(c(uj))||ru) Choosesi andj

(93)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t=gr −→

←−c ←−

−→s =r+x·c −→

V accepts, ift·yc =gs Chooses a randomc t·yc =gr ·(gx)c =gr+x·c =gs

(94)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t=gr −→

←−c ←−

−→s =r+x·c −→

V accepts, ift·yc =gs Chooses a randomc t·yc =gr ·(gx)c =gr+x·c =gs

(95)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t =gr −→

←−c ←−

−→s =r+x·c −→

V accepts, ift·yc =gs Chooses a randomc t·yc =gr ·(gx)c =gr+x·c =gs

(96)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t =gr −→

←−c ←−

−→s =r+x·c −→ V accepts, ift·yc =gs

Chooses a randomc

t·yc =gr ·(gx)c =gr+x·c =gs

(97)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t =gr −→

←−c ←−

−→s =r+x·c −→ V accepts, ift·yc =gs

Chooses a randomc

t·yc =gr ·(gx)c =gr+x·c =gs

(98)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t =gr −→

←−c ←−

−→s =r+x·c −→

V accepts, ift·yc =gs

Chooses a randomc

t·yc =gr ·(gx)c =gr+x·c =gs

(99)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t =gr −→

←−c ←−

−→s =r+x·c −→

V accepts, ift·yc =gs Chooses a randomc

t·yc =gr ·(gx)c =gr+x·c =gs

(100)

Introduction to Cryptography ZKP

Schnorr Protocol, 1991

LetGq a cyclic group of orderq with a public generatorg Goal

P wants to prove the knowledge ofx, where y=gx

Chooses a randomr

−→t =gr −→

←−c ←−

−→s =r+x·c −→

V accepts, ift·yc =gs Chooses a randomc t·yc =gr ·(gx)c =gr+x·c =gs

(101)

Introduction to Cryptography Conclusion

Outline

Historic of Cryptography Introduction to Cryptography

Partial and Full Homomorphic Encryption Security Properties

ZKP Conclusion

(102)

Introduction to Cryptography Conclusion

Today

1. Historic of Cryprography 2. Cryptographic primitives 3. Properties security

(103)

Introduction to Cryptography Conclusion

Ron Rivest

“Once you have something on the Internet, you are telling the world, please come hack me.”

Références

Documents relatifs

The paper proposed a methodology for testing pseudorandom sequences, ob- tained an explicit form of the joint distribution of numbers of 2-chains and numbers of

Better access, better health care Although there have been worries that the use of information and communication technologies in health care will increase health inequalities,

To support Member States in addressing this challenge, on 26 April 2018, the Commission adopted an ambitious proposal for a Council Recommendation and a Communication that aim

These courses will help participants, particularly future non-Indigenous teachers, redefine certain concepts (learning, literacy, etc.) and learn practices to indigenize

coupling between ocean temperature and sea-ice extent is studied in a spatially distributed system. The evolution equations are cast into a normal form and some

The longitudinal dispersion coefficient corresponding to the DVRW for purely-diffusive velocity transitions can be computed from the dynamical equation (7) for the joint PDF of

Or, to quote Zukofsky quoting Marx, “by incorporating living labour power with their dead sub- stance, the capitalist transforms value (past labour, objectified labour, dead

In our model, consumer preferences are such that there is a positive correlation between the valuation of the tying good and the tied environmental quality, as illustrated for