# Encryption software

Encryption software

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.

## Security

Encryption software executes 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.

## Encryption choices

Many encryption algorithms exist. The more popular options were submitted to 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 its 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[citation needed].

## Choosing encryption

There are several factors that affect the choice of an encryption algorithm including speed and security. The simplest method would be an XOR operation, with a constant value k, of each byte of plain text b, to produce a cipher value c.

$b\, \mathrm{XOR}\, k = c$

Ciphers can be categorized into two general types: public key ciphers and symmetric key ciphers.

Public key systems are based upon algorithms that are at least strongly believed to be "one-way" operations. That is, encryption with one member of a key pair is only easily reversed (decrypted) using the other member of the pair. Further, one member of the pair (the public key) cannot be easily used to determine the other (the private key). Provided the problems posed by the system to cryptanalyst are effectively unsolvable, the system is effectively secure. Such systems are used for key exchanges (for subsequent use of symmetric key ciphers), digital signatures and the like.

Symmetric key ciphers (also referred to as secret key ciphers) are called such because the same key is used for both encryption and decryption. Thus, in order for messages encrypted with a symmetric key cipher to remain secure, the key used must remain secret. Symmetric key ciphers can be further subdivided into stream ciphers and block ciphers.

Stream ciphers typically encrypt plaintext a bit or byte at a time, and are most commonly used to encipher real-time communications, such as audio and video information. The key is used to establish the initial state of a key-stream generator, and the output of that generator is used to encrypt the plaintext.

Block cipher algorithms encrypt blocks of bytes of plaintext a block at a time. The Advanced Encryption Standard algorithm (AES - derived from the Rijndael cipher algorithm) is a block cipher that processes 16 bytes at a time, while its predecessor, the Data Encryption Standard algorithm (DES) encrypted blocks of eight bytes.

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 (e.g., nulls).

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 it is secret.

## Applications

Encryption can be applied to data in many ways. Common categories are:

• Disk encryption software (also known as OTFE software)
• File/folder encryption
• Database 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.

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• Comparison of disk encryption software — This is a technical feature comparison of different disk encryption software. Contents 1 Background information 2 Operating systems 3 Features 4 Layering …   Wikipedia

• Disk encryption software — To protect confidentiality of the data stored on a computer disk a computer security technique called disk encryption is used. This article discusses software that is used to implement the technique (for cryptographic aspects of the problem see… …   Wikipedia

• Encryption layer in storage stack — There is a plurality of terms that are used to describe implementations of disk encryption: on the fly encryption (OTFE); full disk encryption (FDE), whole disk encryption; filesystem level encryption, encrypted filesystem, cryptographic… …   Wikipedia

• Encryption — Encrypt redirects here. For the film, see Encrypt (film). This article is about algorithms for encryption and decryption. For an overview of cryptographic technology in general, see Cryptography. In cryptography, encryption is the process of… …   Wikipedia

• Software cracking — is the modification of software to remove or disable features which are considered undesirable by the person cracking the software, usually related to protection methods: copy protection, trial/demo version, serial number, hardware key, date… …   Wikipedia

• encryption — n. The practice of converting information into code that can only be deciphered with a key. The Essential Law Dictionary. Sphinx Publishing, An imprint of Sourcebooks, Inc. Amy Hackney Blackwell. 2008. encryption …   Law dictionary

• Software protection dongle — This article is about the software protection devices. Dongle can also refer to, e.g., serial ports, USB flash drives, wireless networking devices, USB Mobile broadband modems. Daisy chained parallel port copy protection dongles. A software… …   Wikipedia

• encryption — encrypt en‧crypt [ɪnˈkrɪpt] verb [transitive] COMPUTING to write information in the form of code, especially to prevent certain people from being able to use it: • The program encrypts your password when you use the software for the first time.… …   Financial and business terms

• Software independence — The term software independence (SI) was coined by Dr. Ron Rivest and NIST researcher John Wack. A software independent voting machine is one whose tabulation record does not rely solely on software. The goal of an SI system is to definitively… …   Wikipedia

• Disk encryption — uses disk encryption software or hardware to encrypt every bit of data that goes on a disk or disk volume. Disk encryption prevents unauthorized access to data storage. The term full disk encryption (or whole disk encryption) is often used to… …   Wikipedia