
I did not understand well RSA algorithm for a long while. Now I determined to master it. However I found that the description in Wiki is not very clear. So the following is my tring.
symmetric/asymmetric cryptosystem
symmetric-key algorithm: use the same key in the process of encrption and decryption
public/private key cryptography or asymmetric cryptosystem: in constrast, use the different keys in the process of encryption and decryption
It is easy to understand the situation where the same key is applied in encryption and decryption. But for the second, asymmetric crytosystem, it is not that easy. This kind of cryptosystem is used to do authentication. Keys are different in encryption and decryption, one key can be published. Yes, the published key is named as “Public Key”.
The typical scenes using public/private key cryptography are like:
-
Network Communication:
The public key is published. Then somebody can use the public key to encrypt message to transfer to the private key’s owner. Nobody can decrpyt the message by listening to the communication. -
Signature:
When somebody receives message from others, they want to know if the message is original or not. In the realtime, people always signs his name in the documents. Then anybody can verify if the signature is real or faked. We can use public/private key system do the same thing. The sender can use hash function to get one value to represent one document then use the private key to encrypt this value. The value after encryption is called as digital signature. The receiver can use the same hash function to process the received document and get one value. Then the receiver uses the public key to decrypt the received signature to get one value, then compare it with the hash value. If they are same, the document is still unchanged. However you should notice that there is one thing that the hash function should avoid collision. If somebody can fake one different document which can produce the same hash value, it is clear that the system is broken.




近期评论