The process of secretly encoding messages has been used for centuries in espionage. Data encryption is a process of creating secret message formats for data that is stored on computer files. Within computer software there are multiple encryption techniques available for data files. These techniques are typically known as data encryption algorithms. Each algorithm has unique benefits and usage patterns based on the type of data and the level of protection desired.
Unencrypted data is information that can be easily read by a computer or person. When data is created on a computer it is automatically saved in an unencrypted format. This data is saved on computers or fileservers and can easily be accessed by would-be hackers on the Internet. Encryption techniques are special processes designed to convert the readable data into the equivalent of gibberish.
Encryption patterns and standards are managed by the National Institute of Standards and Technology (NIST). This body approves and tests newly developed encryption techniques. Currently, the advanced encryption standard (AES) is considered one of the most modern of standards on cryptography. It is designed to support a 256-bit key encryption program. The advanced encryption standard was created in 2001 and currently supports several encryption algorithms.
Public key cryptography is a standard form of encryption that requires special keys to encrypt and decrypt messages. Encryption techniques that use this from of encoding are typically considered secure because the data requires two parts to be unencrypted. First it requires the correct decrypting algorithm and secondly it requires a special encrypted key that must be used with the algorithm.
What makes public key cryptography unique is the requirement of special keys to both encrypt and decrypt messages. A public key is used by the encrypting algorithm and a private key is used for the decrypting algorithm. These type of encryption techniques are difficult to break because of the two-key encryption process.
The complexity of encryption algorithms is based on the physical size of the encryption key. The larger the key, the more complex the encryption program can be. Early versions of encryption used the data encryption standard (DES), which only supported a 56-bit key. These were easily manipulated and quickly broken by hackers. With the AES standards, the permutations of possibilities makes deciphering new encryption nearly impossible.
Blowfish is one of the most complex encryption algorithms currently available today. It was designed in 1993 by Bruce Schneier. This encryption algorithm is based on AES and supports a 448-bit encryption key. Currently there is no known cryptanalysis of the blowfish algorithm. This version of encryption is freely available.