Symmetric Cryptography

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Overview

Symmetric encryption is a type of encryption where the sender and the receiver agree on a secret (shared) key. The main concern behind symmetric encryption is how to share the secret key securely between the two peers. If the key gets known for any reason, the whole system is compromised.

Concepts

Block Cipher

Block ciphers process entire blocks at a time. The plain text is divided into blocks of equal size, which are then fed into the cipher to produce blocks of cipher text. If there is not enough data to make a complete input block the data must be padded. These bytes are stripped off during the decryption phase. Block encryption is also called bulk encryption.

Stream Cipher

Stream ciphers operate on streams of data, encrypting it bit by bit. A stream cipher consists of two major components: a key stream generator, and a mixing function. Mixing function is usually just an XOR function, while key stream generator is the main unit in stream cipher encryption technique.

Symmetric Encryption Algorithms

Advanced Encryption Standard (AES)

https://en.wikipedia.org/wiki/Advanced_Encryption_Standard

The Rijndael algorithm is a block cipher recommended by NIST to replace DES. Brute force attack is the only effective attack known against it, in which the attacker tries to test all the characters combinations to unlock the encryption.

AES Encryption in Java

Blowfish

Blowfish is a variable length key, 64-bit block cipher, one of the most common public domain encryption algorithms provided by Bruce Schneier.

Data Encryption Standard (DES)

There are many attacks and methods to exploit it, which makes it an insecure block cipher.

3DES

3DES is an enhancement of DES, where the encryption method is similar to the one in original DES but applied three times to increase the encryption level. 3DES is slower than other block cipher methods.

DESede

IDEA

To Process