The following are classes of attacks on cryptography. They describe how much information and access the attacker has while actively attacking the cryptosystem. The attacker’s goal is to crack (reveal) the encryption keys, decryption keys, or both.
When all is designed and implemented in its best forms, a cryptosystem shows only one thing to the unauthorized bad guys: ciphertext. The bad guys have no information about the plaintext data or the nature of the keys the cryptosystem uses. This is the good guy’s strongest position and the bad guy’s weakest position. Considering that the bad guy wants to steal your messages and crack your keys, put the bad guy in this position whenever you can.