\chapter{Security Proofs in Cryptography}

Provable security is a subfield of cryptography where constructions are proven secure with regards to a security model.
To illustrate this notion, let us take the example of public-key encryption schemes.
This primitive consists in three algorithms:~key generation, encryption and decryption.
These algorithms acts according to their names.
Then, the question of ``how to define the security of this set of algorithms'' rises.
To answer this question, we have to define the power of the adversary, and its goal.
To model those two notions, cryptographers uses security games.


%%%%%%%%%%%%%%%%%%%%%%%
% Security Reductions %
%%%%%%%%%%%%%%%%%%%%%%%
\section{Security Reductions}

Provable security focuses on providing constructions for which the security is guaranteed by a security proof, or security reduction.
These proofs consist in polynomial reductions from difficult problems: the hardness assumptions.
The quality of a proof depends on the security of the hardness assumption, and the tightness of the proof.




\section{Random-Oracle Model and Standard Model}
