Professional Documents
Culture Documents
PUBLIC-KEY REQUIREMENTS
— For the two parties
o It is computationally easy for a party B to generate a pair (public-key PUb,
private key PRb)
o It is computationally easy for a sender A, knowing the public key and the
message to be encrypted, to generate the corresponding ciphertext
o It is computationally easy for the receiver B to decrypt the resulting ciphertext
using the private key to recover the original message
— For the adversary
o It is computationally infeasible for an adversary, knowing the public key, to
determine the private key
o It is computationally infeasible for an adversary, knowing the public key and a
ciphertext, to recover the original message
— The two keys can be applied in either order
DIFFIE-HELLMAN KEY EXCHANGE
— First published public-key algorithm
— A number of commercial products employ this key exchange technique
— Purpose is to enable two users to securely exchange a key that can then be used for
subsequent symmetric encryption of messages
— The algorithm itself is limited to the exchange of secret values
— Its effectiveness depends on the difficulty of computing discrete logarithms
— Vulnerable to Man-in-the-Middle-Attack
o Authentication of the keys is needed
DISCRETE LOGARITHMS
— A primitive root of a prime number p is one whose powers modulo p generate all the
integers from 1 to p – 1
o i.e., a mod p , a2 mod p , . . . , ap-1 mod p
— are distinct and consist of the integers from 1 through p-1 in some permutation
o For any integer b and a primitive root a of prime number p , we can find a
unique exponent i such that b = ai (mod p ) where 0 ≤ i ≤ (p - 1)
o We express this value as dloga,p (b) i.e., the discrete logarithm of b for the base
a, mod p
i.e., the discrete logarithm of b for the base a, mod p
ALGORITHM REQUIREMENTS
— For this algorithm to be satisfactory for public-key encryption, the following
requirements must be met:
PRIME NUMBERS
FERMAT’S LITTLE THEOREM
EULER’S THEOREM
RSA ALGORITHM
EXAMPLE OF RSA ALGORITHM
KEY GENERATION
MILLER-RABIN ALGORITHM