Most, if not all, cryptographic functions are not 100% secure. Instead, they usually incorporate some level of defenders advantage by trying to be much easier to use than to crack.
Cryptographic methods can be judged on their ability to achieve three qualities during a message transfer:
- Authenticity – does the message come from the stated sender?
- Confidentiality – does private data remain private during the process?
- Integrity – was the data (public or private) maintained unchanged during the process
Cryptography is one of the few areas where adversarial contests continues to favour the defender.