Encryption is a technique used to render a message indecipherable. Only a person knowing the correct secret key can reconstruct the original message. While historically encryption has mainly been used by governments and military organizations, it is today also very important to protect commercial electronic transactions and private communications. So-called public key encryption allows anyone to encrypt a message for a particular recipient using publicly available information. This recipient has corresponding secret information which he uses to decrypt the message. This eliminates the problem of how to agree on a secret key can only an insecure electronic communication channel is available.