CYG Chapter 8 Public Key Cryptography

Questions about the lecture 'Cryptography' of the RWTH Aachen Chapter 8 Public Key Cryptography

Questions about the lecture 'Cryptography' of the RWTH Aachen Chapter 8 Public Key Cryptography


R. B.
This flashcard set delves into the advanced concepts of public key cryptography, tailored for university-level computer science students. It covers essential topics like RSA, ElGamal, and generalized ElGamal encryption schemes, detailing their definitions, characteristics, and security aspects. The flashcards also explore public key infrastructure (PKI), including certificate authorities (CA), their tasks, and the role of certificates in securing communications. Additionally, it discusses the motivation and requirements of public key cryptography, making it invaluable for those studying cryptographic systems and their applications in secure communications and access control.
Karten
38
Lernende
1
Sprache
Englisch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
21.03.2017 / 24.08.2017

Lernkarten

What is an alternative description?

[publickey]

Asymmetric cryptography

What are the characteristics?

[motivation.publickey, 2]

1. Idea of public key based on paper by Diffie and Hellman in 1976

2. Original idea in paper by James Ellis in 1970 but not published due to nondisclosure interests of the British secret service // Author died one month before paper was actually published

What is the idea?

[publickey, 2]

1. All users use same en- and decryption function e and d

2. Each user has a pair of keys (K,L) with d(e(M,K),L)=M and K public, L private

List them!

[requirements.publickey, 5]

1. Computing C=e(M,K) must be computationally easy

2. Computing M=d(C,L) must be computationally easy

3. Generating (K,L) must be computationally easy

4. Finding M without L must be infeasible

5. There exist sufficiently many pairs (K,L) in order to prevent exhaustive key search

What are the characteristics?

[RSA.publickey, 2]

1. First cs implementing above idea by Rivest, Shamir and Adleman in 1978

2. Also the idea was invented earlier but not published until 1997 by the British secret service

What are the steps?

[RSA.publickey, 5]

1. Choose two large prime numbers p!=q and n=p*q and phi(n)=(p-1)(q-1)

2. Choose d in Zphi(n)* and compute e=d-1 mod phi(n)

3. Public key is (e,n) and private key d

4. Encryption is c=me mod n

5. Decryption is b=cd mod n

What is the definition?

[proposition81.RSA.publickey, 2]

1. Let p!=q be prime and x,y in N

2. x equiv y (mod p) and x equiv y (mod q) ↔ x equiv y (mod p*q)

What is the proof?

[proposition81.RSA.publickey]

p and q|x-y ↔ p*q|x-y (since p and q are relatively prime)

What is the description?

[proposition82.RSA.publickey]

Correctness of RSA

What is the definition?

[proposition82.RSA.publickey, 2]

1. Let p!=q be prime, n=p*q, d,d-1 in Zphi(n)* and 0<=m<n, c=md^-1 mod n

2. m=cd mod n

What is the proof?

[proposition82.RSA.publickey, 3]

1. From dd-1 equiv 1 (mod phi(n)) we can follow that dd-1=t*phi(n)+1

2. Case gcd(m,p)=1: cd equiv (md^-1)d equiv mt*phi(n)+1 equiv 1t(q-1) m (mod p) // With Fermat’s little theorem

3. Case gcd(m,p)=p: (md^-1)d equiv 0 equiv m (mod p) // Analog for (mod q)

What is the characteristic?

[security.RSA.publickey]

CP is most relevant attack against RSA

What is the definition?

[1.security.RSA.publickey, 2]

1. Factoring of n into p and q // Actually infeasible

2. Allows to compute phi(n) and d=e-1 (mod phi(n)) // With extended euclidean algorithm

What is the definition?

[2.security.RSA.publickey, 2]

1. Computation of square roots modulo n allows factoring n

2. If x² equiv 1 (mod n) a non-trivial solution with x != ±1 (mod n) then gcd(x+1,n) in {p,q}

What is the definition?

[3.security.RSA.publickey, 3+1]

1. Compute phi(n) without factoring

2. Derive (1) p+q = n-phi(n)+1, (2) (p-q)² = (p+q)²-4n and (3) q = ½((p+q)-(p-q))

3. Compute q and thus p

 

4. Not easier than factoring, otherwise we would have an efficient algorithm for it

What is the definition?

[4.security.RSA.publickey, 1+1]

1. Computing d=e-1 without knowing phi(n)

 

2. Not easier than factoring, otherwise we would have an efficient algorithm for it

What is the definition?

[5.security.RSA.publickey, 2]

1. Introduced by Paul Kocher in 1996

2. Investigate physical quantities as time or power consumption

What are the characteristics?

[implementation.RSA.publickey, 5]

1. Key generation with MRPT

2. Choice of d in Zphi(n)* by incrementing some d0 until gcd(d0,phi(n))=1 or choose d prime greater than p,q

3. Compute inverse e=d-1 mod phi(n) with extended euclidean algorithm

4. En- and decryption by use of the square and multiply algorithm

5. Hardware can be looked up in a list

List them!

[requirements.signaturescheme.RSA.publickey, 3]

1. Verifiable

2. Forgery-proof

3. Firmly connected to the document

What are the steps?

[signaturescheme.RSA.publickey, 2]

1. A generates by s=md mod n

2. B computes m’=se mod n and compares m’ with m

List them!

[attacks.signaturescheme.RSA.publickey, 3]

1. O cannot use own ~m

2. O cannot generate own signatures as d is private

3. O can generate q with valid signature s but meaningless with high probability

What are the characteristics?

[ElGammal.publickey, 3]

1. In each procedure a session key k is chosen mapping the same pt to different ct

2. Related to Diffie-Hellman protocol

3. Decryption of ElGamal without knowing private key x is equivalent to DHP

What are the steps?

[ElGammal.publickey, 5]

1. Public domain parameters are prime p and a pem p

2. Private key x in [2,…,p-2]

3. Public key y = ax mod p

4. Encryption C=(C1,C2)=e(m,…)

5. Decryption m=d(C,…)

What is the definition?

[encryption.ElGammal.publickey, 3]

1. k is randomly secretly chosen in [1,…,p-1]

2. K = yk mod p

3. C1=ak mod p and C2=K*m mod p

What is the definition?

[decryption.ElGammal.publickey, 2]

1. C1x mod p = K

2. m = K-1C2 mod p

What are the characteristics?

[generalizedElGammal.publickey, 2]

1. Works on any cyclic group

2. Security is based on the intradictability of the dl

List them!

[groups.generalizedElGammal.publickey, 4]

1. Zp* with p prime

2. F2^m* the multiplicative group of the finite field F2^m

3. Group of points of an elliptic curve

4. Fp^m* the multiplicative group of Fp^m

What are the steps?

[generalizedElGammal.publickey, 5]

1. Public domain parameters are cyclic group G or order n and a pe

2. Private key x in [1,…,n-1]

3. Public key a, description of G and y = ax in G

4. Encryption C=(C1,C2)=e(m,…)

5. Decryption m=d(C,…)

What is the definition?

[encryption.generalizedElGammal.publickey, 3]

1. k is randomly secretly chosen in [1,…,n-1]

2. K = yk mod p

3. C1=ak and C2=K*m in G

What is the definition?

[decryption.generalizedElGammal.publickey, 2]

1. C1x = K

2. m = K-1C2

What is the idea?

[PKI.publickey]

Pervasive security infrastructure with public-key concepts

List them!

[components.PKI.publickey, 4]

1. Certificate issuance // Trusted/certification authorities

2. Certificate revocation // Recognize revoked certificates

3. Key backup, recovery, update // See banking, computer systems

4. Time stamping // Fixed length validity periods

List them!

[examples.PKI.publickey, 3]

1. Secure communication // PGP, SSL, VPN

2. Access control // Privilege management

3. Privacy architecture // Anonymous certificates, web browsing

What are the characteristics?

[CA.PKI.publickey, 2+1]

1. Client may not even have a public key or a certificate

2. How to accept the identity of a party that you never met?

 

3. Conventional via trusted third party // A friend and here the CA

What are the tasks for a CA?

[CA.PKI.publickey, 4]

1. CA gives relation between public key and identity of a party

2. CA maintains a blacklist of canceled certificates

3. Certificate is transmitted signed to a receiver

4. Receiver does not necessarily communicate with CA and just reads published certificates from sender

What is the definition?

[certificate.CA.PKI.publickey, 7]

1. CA name

2. Sequential number

3. Public key of user

4. Identity of user

5. Issuing date

6. Expiration date

7. Signature of CA on all above

What are the characteristics?

[PGPhierarchy.publickey, 2]

1. User itself is a CA

2. Select which CA to trust

List them!

[schemes.PGPhierarchy.publickey, 3]

1. Trust any CA unconditionally

2. Trust CA only conditionally // Amount of certificates

3. Design own certificate trust scheme

Lernen