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
-
- 1 / 38
-
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