Professional Documents
Culture Documents
mdahshan@ccis.ksu.edu.sa
Key Management
Major role in public-key encryption Key management has two aspects
distribution of public keys using public-key encryption to distribute secret keys (for symmetric encryption)
Distribution of Public-Keys
Public announcement Publicly available directory Public-key authority Public-key certificates
Public Announcement
Broadcast key to public community
public forums newsgroups mailing lists
4,5. B retrieves PUA from auth (similar to 1, 2) Two additional steps are desirable 6. B sends message to A encrypted with PUA
N1: to ensure A that only B decrypted message (3) N2: so that A can verify itself
Public-Key Certificates
Certificate contains
public key of certificate holder ID of certificate holder
Public-Key Certificates
Public-Key Certificates
Participant A applies to auth for certificate
supplies PUA and request certificate in person or by secure communication
Public-Key Certificates
Timestamp serves as expiration date Sufficiently old certificate assumed expired If PR is compromised
A applies for new certificate still at risk until other communicants are aware
X.509 is universally accepted standard for certificate format Used in IPSec, SSL, S/MIME
Simple Scheme
1. A B: PUA||IDA B generates secret key Ks 2. B A: E(PUA, Ks) A decrypts message A and B can now securly communicate using Ks
Man-in-the-Middle-Attack
Attacker X can intercept message (1) Replace PUA with PUX, X B: PUX||IDA B generates Ks, B X: E(PUX, Ks) X decrypts message, learns Ks X A: E(PUA, Ks) A and B know Ks, A and B dont know that X also knows Ks X can now decrypt all messages
Using PUB: only B can retrieve Ks Using PRA: only A could have sent message
User A selects random integer XA < q A calculates YA = XA mod q User B selects random integer XB < q A calculates YB = XB mod q
Example
Prime number q = 353, primitive root = 3 A selects XA = 97, B selects XB = 233 A computes YA = 397 mod 353 = 40 B computes YB = 3233 mod 353 = 248 A computes K = 24897 mod 353 = 160 B computes K = 40233 mod 353 = 160
Example
Brute-force attack try to calculate a or b: 3a mod 353 = 40 or 3b mod 353 = 248 Calculate powers of 3 mod 353 Stop when result = 40 or 248 For this case, will stop at a = 97 For large numbers, problem becomes impractical
For any integer b and primitive root a of a prime number p, there exists unique i:
b ai (mod p) 0 i < (p 1) i is called discrete logarithm for base a, mod p