most of the proofs in cryptography
are done using reductions
those are similar to NP completeness
reductions but indeed they are 
more complicated so
the theorem that we're going to prove
will be of this type
so we are going to prove some scheme
X is secure as long as some
let's say an assumption Y holds so I will write this
simply as if let's say Y is secure
according to some proper
definition
then this implies
X is secure so this is the type
of the thorem we are going to prove. 
The proof methodology
will be the same in all
reduction proofs we will prove these
using the contrapositive 
so what's the contrapositive statement
if X is
not secure
this should imply that Y
is not secure so the assumption Y
should not hold
if X is not secure
and the reasoning the way
we are going to do it is as follows
we will show
that if there exists
a probabilistic polynomial time
adversary let's say A
who breaks X now
what does breaking mean here
breaking will depend
on the security definition we
used for X 
for example if you remember the
encryption eavesdropper security
it means the adversary wins that game
with probabilty one over two
plus some non-negligible
so that's breaking
breaking depends on the security definition we
use now the proof will start by
assuming there exist some adversary a
we don't know how A works we don't
know A's code
but we know that A breaks X
if that's the case then
in the proof we construct
OK another
PPT adversary B
who is going to break
Y so
if A breaks X
B is going to break Y
this is what we are going to do we are
going to construct
this B this is very important we are
performing a constructive proof here
now what would this mean
when you think about it let's say we do
the proof here
and then we're going to finally conclude
our conclusion will be something of
this form
so one way of thinking it is
we already proved the contrapositive
we know contrapositive is equivalent to the original so
this means we proved the theorem the same let's 
say the equivalent but alternative way of thinking about it is
since there is
no known algorithm
ok PPT algorithm of course
that breaks Y
there is no known algorithm
that's PPT and it breaks Y
this will
tell us that there can be
again no PPT
algorithm let's say B that
breaks X why
when you think about it if
or let me change this
to B and this to A to be consistent
with above notation
but it wouldn't matter when you
think about it
if they were such an algorithm that
breaks
then through this proof
through this reduction you will
immediately have an algorithm that
breaks Y
but since no algorthm that 
breaks Y is known
then it's impossible that there's an algorithm that breaks X
