IT Security Basic - CH.2.1 Public Key
Public Key
Since it is hard to distribute symmetric key [DES/AES/... described last ch.] securely, people start to think
- Can we use a key to encrypt and use another key to decrypt?
- One of the two keys can be viewed by anyone, and it will not affect the security level
That is public & private key
In this chapter, we will go through the concept of public and private key without handling mathematic stuff.
Sending a private message

*Public key - Key that can give anybody
*Private key - Key that can owned by private owner
- User encrypt message using the Public Key
- Send the ciphertext to Key owner
- Key owner use the private key to decrypt the message
- Since only the owner have the private key, message is protected.
Authenticating a private user
How can we know a bill is really send from the bank? But not a hacker flicking us?
Private Key owner encrypt the message using his private key- Other users use its public key to decrypt the message
- Since only the owner have the private key, the message must be sent by the owner
Encrypt Large message
Since it is slow for public/private key to encrypt messages, it will be very harsh to encrypt large message, we need another approach...

- Encrypt the message with the session key
- Encrypt the session key with the public key
- Send the ciphertext and the encrypted session key to recipient
- The private key owner decrypt the session key first
- And then use the session key to decrypt the message
Other approach on encrypting large message - Diffie-Hellman Key Exchange
Diffie and Hellman are one of the teams to introduce Public/Private keys
- Bob has public Key (Xa) and Private Key (Ya)
- Alice has public Key (Xb) and Private Key (Yb)
- From mathematics we know, (Xa)*(Yb)=(Ya)*(Xb)
- So, Bob send Alice (Xa) and Alas send Bob (Xb)
- Then Bob has (Ya)*(Xb) and Alice has (Xa)*(Yb)
- Now they have the same key (as 3.) and they can use it to encrypt and decrypt messages

Public Key algorithms
-
Merkle/Hellman (Knapsack), subsequently found to be insecure
- El Gamal (Discrete logarithm Problem)
- Miller/Koblitz (Elliptic curves)
- Digital Signature Standard (DSS) (Discrete logarithm Problem)
- RSA algorithm, by the name of- [ Ron Rivest, Adi Shamir, Len Adleman ]