# Secret Key Encryption

## What is secret key encryption?

Secret key encryption (also known as symmetric-key encryption, single-key encryption, one-key encryption and private key encryption) is a type of encryption where the same secret key is used to encrypt and decrypt information or there is a simple transform between the two keys.The key must be kept secret so that unauthorised parties cannot, even with knowledge of the algorithm, complete the decryption process.
A secret key can be a number, a word, or just a string of random letters. Secret key is applied to the information to change the content in a particular way. This might be as simple as shifting each letter by a number of places in the alphabet. Symmetric algorithms require that both the sender and the receiver know the secret key, so they can encrypt and decrypt all information.

There are two types of secret key encryption algorithms: Stream algorithms (Stream ciphers) and Block algorithms (Block ciphers).

Secret key encryption algorithms:
– AES/Rijndael
– Blowfish
– CAST5
– DES
– IDEA
– RC2
– RC4
– RC6
– Serpent
– Triple DES
– Twofish

Secret keys exchanging and storing
Secret key encryption algorithms require sharing the secret key – both the sender and the receiver need the same key to encrypt or decrypt data. Anyone who knows the secret key can decrypt the message. So it is essential that the sender and receiver have a way to exchange secret keys in a secure manner. The weakness of symmetric encryption algorithms is that if the secret key is discovered, all messages can be decrypted. So, secret key need to be changed on a regular basis and kept secure during distribution and while using.

Breaking symmetric encryption
There are two methods of breaking symmetric encryption – brute force and cryptanalysis.
Brute Force Attack is a form of attack in which each possibility is tried until success is obtained. Typically, a ciphertext is deciphered under different keys until plaintext is recognized. No encryption software that is entirely safe from the brute force method, but if the number of possible keys is high enough, it can make a program astronomically difficult to crack using brute force. But the more bits in a key, the more secure it is, so choose software with as many bits as possible.
Cryptanalysis is a form of attack that attacks the characteristics of the algorithm to deduce a specific plaintext or the key used.