Applications For Public-Key Cryptosystems
Applications For Public-Key Cryptosystems
Public-Key Requirements
• Conditions that these algorithms must fulfill:
– It is computationally easy for a party B to generate a pair
(public-key PUb, private key PRb)
– It is computationally easy for a sender A, knowing the
public key and the message to be encrypted, to generate
the corresponding ciphertext
– It is computationally easy for the receiver B to decrypt the
resulting ciphertext using the private key to recover the
original message
– It is computationally infeasible for an adversary, knowing
the public key, to determine the private key
– 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
Public-Key Requirements
• Need a trap-door one-way function
• A trap-door one-way function is a family of
invertible functions fk, such that
– Y = fk(X) easy, if k and X are known
– X = fk–1(Y) easy, if k and Y are known
– X = fk–1(Y) infeasible, if Y known but k not
known
• A practical public-key scheme depends on a
suitable trap-door one-way function
Rivest-Shamir-Adleman (RSA) Scheme
Cm = {kG, Pm+kPB}
• To decrypt the ciphertext, B multiplies the first point in the pair by
B’s secret key and subtracts the result from the second point:
Pm+kPB–nB(kG) = Pm+k(nBG)–nB(kG) = Pm
Security of Elliptic Curve Cryptography
• Depends on the difficulty of the elliptic curve
logarithm problem
• Fastest known technique is “Pollard rho
method”
• Compared to factoring, can use much smaller
key sizes than with RSA
• For equivalent key lengths computations are
roughly equivalent
• Hence, for similar security ECC offers
significant computational advantages