Effective cryptographic systems depend upon a variety of factors including:
• Algorithm strength
• Secrecy and difficulty of compromising a key
• Nonexistence of back doors by which an encrypted file can be decrypted without knowing the key
• Inability to decrypt parts of a ciphertext message and prevent known plaintext attacks
• Properties of the plaintext known by a perpetrator