Initial Definitions

*Plain Text* - the message or data you'd like to encrypt

*Cipher* - the key used to encrypt the *plain text*

*Cipher Text* - the resultant, encrypted, message or information

Perfect Secrecy

No information about the *plain text* is made available from the *cipher text*

No information about the *cipher* is made available from the *cipher text*

What That Means

In an encryption implementation exhibiting *perfect secrecy*, there is no information about the *plain text* that is given away

From the *cipher text* alone, you cannot determine the *plain text* message

*Perfect secrecy* is immune to Quantum Hacking

Caution

Given enough time, a *brute force operation* can still crack the *cipher text* based on knowing something about the *cipher* (including length)

Thus, the length of and the *cipher* itself must be randomized (in any scenario in which something about the *cipher* is known, *perfect secrecy* doesn't exist)

Simple Recommendations

Create randomized *ciphers* both in terms of length and characters

Create long *ciphers* (20+ characters)

Enforce two factor authentication where user credentials are required