Technopaedia —

Cryptography

Cryptography is the practice of manipulating information to hide it so that …

Cryptography is the practice of manipulating information to hide it so that intruders and eavesdroppers cannot understand it. Cryptographic techniques have been used for millennia to provide confidentiality, allowing military and political leaders to send each other messages without risk of interception. Modern, computerized cryptography has expanded the role of cryptography to include capabilities such as authentication (proof that a person is who they claim to be) and integrity checking (proof that a message has not been modified).

Message confidentiality is provided through encryption, the process of turning meaningful data into random-looking nonsense; and its counterpart process, decryption, reconstructing the meaningful data from the random-looking nonsense. Encryption algorithms can be categorized in a variety of different ways, but perhaps the most important is the distinction between "symmetric" and "asymmetric" or "public key" encryption.

Every encryption algorithm uses keys. The key determines exactly how the data gets transformed during the encryption process; similarly, it provides the information necessarily to restore the data in the decryption process. Symmetric encryption algorithms use the same key for both processes. This means that the key must be kept secret; if an attacker learns what the key is, he can decrypt messages at leisure.

Public key cryptography, however, uses two keys. One is a "public" key, that can be shared with anyone; the other is a "private" key, that must, obviously enough, be kept private. While symmetric cryptography uses one key for both the encryption and decryption processes, public key cryptography uses the public key only for encryption, and the private key only for decryption. With the public key, anyone can send an encrypted message to the holder of the private key; only that person will be able to decrypt those messages.

Symmetric encryption is generally much faster than public key encryption, and so is used for "bulk encryption" such as encrypted files and hard disks, and encrypting all the data sent over SSL connections. However, the sensitivity of the keys make it unusable for certain other applications. Public key cryptography is used for the initial creation of SSL connections, encrypted e-mail, and "digital signatures," that give the ability to prove that a file was created by a specific person, and has not been modified by anyone else.