Public Key Cryptography - Applications Algorithms and Mathematical Explanations
2
by the mathematical function called the one-way function. One-way functions aremathematical functions in which the forward operation can be done easily but the reverseoperation is so difficult that it is practically impossible. In public key cryptography thepublic key is calculated using private key on the forward operation of the one-way function.Obtaining of private key from the public key is a reverse operation. If the reverse operationcan be done easily, that is if the private key is obtained from the public key and otherpublic data, then the public key algorithm for the particular key is cracked. The reverseoperation gets difficult as the key size increases. The public key algorithms operate onsufficiently large numbers to make the reverse operation practically impossible and thusmake the system secure. For e.g. RSA algorithm operates on large numbers of thousandsof bits long.
2. Key Agreement
Key agreement is a method in which the device communicating in the network establishesa shared secret between them without exchanging any secret data. In this method thedevices that need to establish shared secret between them exchange their public keys.Both the devices on receiving the other device’s public key performs key generationoperation using its private key to obtain the shared secret.As we see in the previous section the public keys are generated using private key and othershared constants. Let P be the private key of a device and U(P, C) be the public key. Sincepublic key is generated using private key, the representation U(P, C) shows that the publickey contain the components of private key P and some constants C where C is known by allthe device taking part in the communication.Consider two devices A and B. Let P
A
and U
A
(P
A
, C) be the private key and public key of device A, and P
B
and U
B
(P
B
, C) be the private key and public key of device B respectively.Both device exchanges their public keys.Device A, having got the public key of B, uses its private key to calculate shared secretK
A
=Generate_Key(P
A
, U
B
(P
B
, C))Device B, having got the public key of A, uses its private key to calculate the shared secretK
B
=Generate_Key(P
B
, U
A
(P
A
, C))The key generation algorithm ‘Generate_Key’ will be such that the generated keys at thedevice A and B will be the same, that is shared secret K
A
=K
B
=K(P
A
, P
B
, C).Since it is practically impossible to obtain private key from the public key any middleman,having access only to the public keys U
A
(P
A
, C) and U
B
(P
B
, C), will never be able to obtainthe shared secret K.Examples of key agreement algorithms are DH, RSA and ECDH. The algorithms andexplanations are given in sections 6, 7.2 and 10 respectively.
During the key exchange process the public keys may pass through different intermediatepoints. Any middleman can thus tamper or change the public keys to its public key.Therefore for establishing shared secret it is important that device A receives the correctpublic key from device B and vice versa. Digital Certificate helps to deliver the public key inauthenticated method. Digital Certificate is explained in section 4.1.
A B
U
A
(P
A
, C)U
B
(P
B
, C)Private Key = P
A
Public Key U
A
(P
A
, C)Private Key = P
B
Public Key = U
B
(P
B
, C)K
A
=
Generate_Key
(P
A
, U
B
(P
B
, C))K
B
=
Generate_Key
(P
B
, U
A
(P
A
, C))
Leave a Comment