In modern Cryptography, the security of every cryptosystem is required to be formally proven. Most of the time, such formal proof is by contradiction: it shows that there cannot exist an adversary that breaks a specific cryptosystem, because otherwise the adversary would be able to solve a hard mathematical problem, i.e. a problem that needs an unfeasible amount of time (dozens of years) to be concretely solved, even with huge computational resources.