Encryption software
From Wikipedia, the free encyclopedia
Please help improve this article or section by expanding it. Further information might be found on the talk page or at requests for expansion. (January 2007) |
Encryption software is software whose main task is encryption and decryption of data, usually in the form of files on (or sectors of) hard drives and removable media, email messages, or in the form of packets sent over computer networks.
Contents |
[edit] Security
Encryption software describes an algorithm that is designed to encrypt computer data in such a way that it cannot be recovered without access to the key. Software encryption is a fundamental part of all aspects of modern computer communication and file protection and may include features like file shredding.
The purpose of encryption is to prevent third parties from recovering the original information. This is particularly important for sensitive data like credit card numbers.
[edit] Encryption choices
Many encryption algorithms exist. The more popular options were submitted the National Institute of Standards and Technology or NIST for the Advanced Encryption Standard (AES) competition. The winner, Rijndael, got 86 votes while Serpent got 59 votes, Twofish 31 votes, RC6 23 votes and MARS 13 votes. NIST chose Rijndael as their standard. Serpent and Rijndael are in fact somewhat similar; the main difference is that Rijndael is faster (having fewer rounds) but Serpent is more secure.
[edit] Choosing Encryption
There are several factors that affect the choice of an encrytion algorithm including speed and security. The simplest method would be an XOR operation with a constant value k, of each byte of plaintext b, to produce a Cipher value c.
In general, algorithms encrypt bytes of plaintext one by one, or in blocks. AES Rijndael, for example, is a block Cipher that processes 16 bytes at a time.
A common mistake made by amateur cryptographers is the assumption that because the method is secret, the cipher is secure. This is not usually true. Many "home grown" encryption algorithms reveal the key quite easily when fed a string of identical bytes like NULL's for example.
The purpose of disseminating an encryption method is to allow the community to evaluate it. If it is indeed secure, then its power lies in the fact that its method has been subjected to scrutiny and found to be sound, not that is secret.
[edit] Applications
Encryption can be applied to data in many ways. Common categories are:
- Disk encryption software (also known as OTFE software)
- File/folder encryption
- Communication encryption software
Network traffic encryption tools
Each of these categories define the range and location of the data to be encrypted, but the process is the same for each.