This document provides information on public key encryption. It discusses how public key encryption uses a public key for encryption and a private key for decryption. It also describes how the Diffie-Hellman key exchange algorithm works, including how two parties can generate a shared secret key over an open channel by exchanging public values and performing calculations. An example of the Diffie-Hellman algorithm is also provided. The document concludes by listing some applications of public key encryption like confidentiality and digital signatures, and also discusses some weaknesses like vulnerability to brute force attacks.
2. Public Key Encryption
• Encryption
When the two parties communicate to each other to transfer the
intelligible or sensible message, referred to as plaintext, is converted
into apparently random nonsense for security purpose referred to as
ciphertext.
The process of changing the plaintext into the ciphertext is referred to
as encryption.
The encryption process consists of an algorithm and a key. The key is
a value independent of the plaintext.
Once the ciphertext is produced, it may be transmitted.
3. Public Key Encryption
• The security of conventional encryption depends on the major two
factors:
• The Encryption algorithm
• Secrecy of the key
4. Public Key Encryption
• The algorithm will produce a different output depending on the specific key
being used at the time. Changing the key changes the output of the
algorithm.
Once the ciphertext is produced, it may be transmitted. Upon reception,
the ciphertext can be transformed back to the original plaintext by using a
decryption algorithm and the same key that was used for encryption.
Decryption:
The process of changing the ciphertext to the plaintext that process is
known as decryption.
Asymmetric is a form of Cryptosystem in which encryption and decryption
are performed using different keys-Public key (known to everyone) and
Private key (Secret key). This is known as Public Key Encryption.
5. Characteristics of Public Encryption key:
• Public key Encryption is important because it is infeasible to determine the
decryption key given only the knowledge of the cryptographic algorithm
and encryption key.
• Either of the two key (Public and Private key) can be used for encryption
with other key used for decryption.
• Due to Public key cryptosystem, public keys can be freely shared, allowing
users an easy and convenient method for encrypting content and verifying
digital signatures, and private keys can be kept secret, ensuring only the
owners of the private keys can decrypt content and create digital
signatures.
• The most widely used public-key cryptosystem is RSA (Rivest–Shamir–
Adleman). The difficulty of finding the prime factors of a composite
number is the backbone of RSA.
6. Weakness of the Public Key Encryption:
• Public key Encryption is vulnerable to Brute-force attack.
• This algorithm also fails when the user lost his private key, then the
Public key Encryption becomes the most vulnerable algorithm.
• Public Key Encryption also is weak towards man in the middle attack.
In this attack a third party can disrupt the public key communication
and then modify the public keys.
• If user private key used for certificate creation higher in the PKI(Public
Key Infrastructure) server hierarchy is compromised, or accidentally
disclosed, then a “man-in-the-middle attack” is also possible, making
any subordinate certificate wholly insecure. This is also the weakness
of Public key Encryption.
7. Applications:
• Confidentiality can be achieved using Public Key Encryption. In this
the Plain text is encrypted using receiver public key. This will ensures
that no one other than receiver private key can decrypt the cipher
text.
• Digital signature is for senders authentication purpose. In this sender
encrypt the plain text using his own private key. This step will make
sure the authentication of the sender because receiver can decrypt
the cipher text using senders pubic key only.
• This algorithm can use in both Key-management and securely
transmission of data.
8. Diffie-Hellman Algorithm
• The key exchange was invented by Whitfield Diffie and Martin
Hellmann in 1976 as the first practical method for establishing a
shared secret code over an open communications channel.
The general idea of the Diffie-Hellmann key exchange involves two
parties exchanging numbers and doing simple calculations in order to
get a common number which serves as the secret key.
Both parties may not know beforehand what the final secret number
is, but after some calculations, both are left with a value that only
they know about which they can use for various purposes like
identification and as a secret key for other cryptographic methods.
9. Diffie-Hellman Algorithm
• The Diffie-Hellman algorithm is being used to establish a shared secret that
can be used for secret
communications while exchanging data over a public network using the
elliptic curve to generate points and get the secret key using the
parameters.
• For the sake of simplicity and practical implementation of the algorithm,
we will consider only 4 variables one prime P and G (a primitive root of P)
and two private values a and b.
• P and G are both publicly available numbers. Users (say Alice and Bob) pick
private values a and b and they generate a key and exchange it publicly, the
opposite person received the key and from that generates a secret key
after which they have the same secret key to encrypt.
11. Example
• Step 1: Alice and Bob get public numbers P = 23, G = 9
• Step 2: Alice selected a private key a = 4 and
• Bob selected a private key b = 3
• Step 3: Alice and Bob compute public values
• Alice: x =(9^4 mod 23) = (6561 mod 23) = 6
• Bob: y = (9^3 mod 23) = (729 mod 23) = 16
12. Example
• Step 4: Alice and Bob exchange public numbers
• Step 5: Alice receives public key y =16 and
• Bob receives public key x = 6
• Step 6: Alice and Bob compute symmetric keys
• Alice: ka = y^a mod p = 65536 mod 23 = 9
• Bob: kb = x^b mod p = 216 mod 23 = 9
• Step 7: 9 is the shared secret.