cation of information through the Internet, the holding of tamper-proof
and secret electronic voting, or conducting any “fault-resilient” multi-
party computation. Indeed, the scope of modern cryptography is very
broad, and it stands in contrast to “classical” cryptography (which has
focused on the single problem of enabling secret communication over
insecure communication media).
The design of cryptographic systems is a very dicult task. One
cannot rely on intuitions regarding the “typical” state of the environ-
ment in which the system operates. For sure, the adversary attacking the
system will try to manipulate the environment into “untypical” states.
Nor can one be content with counter-measures designed to withstand
specific attacks, since the adversary (which acts after the design of the
system is completed) will try to attack the schemes in ways that are
different from the ones the designer had envisioned. The validity of the
above assertions seems self-evident, but still some people hope that in
practice ignoring these tautologies will not result in actual damage.
Experience shows that these hopes rarely come true; cryptographic
schemes based on make-believe are broken, typically sooner than later.
In view of the foregoing, we believe that it makes little sense to make
assumptions regarding the specific strategy that the adversary may use.
The only assumptions that can be justified refer to the computational
abilities of the adversary. Furthermore, the design of cryptographic sys-
tems has to be based on firm foundations ; whereas ad-hoc approaches
and heuristics are a very dangerous way to go. A heuristic may make
sense when the designer has a very good idea regarding the environ-
ment in which a scheme is to operate, yet a cryptographic scheme has
to operate in a maliciously selected environment which typically tran-
scends the designer's view.
This primer is aimed at presenting the foundations for cryptography.
The foundations of cryptography are the paradigms, approaches and
techniques used to conceptualize, define and provide solutions to nat-
ural “security concerns”. We will present some of these paradigms,
approaches and techniques as well as some of the fundamental results
obtained using them. Our emphasis is on the clarification of funda-
mental concepts and on demonstrating the feasibility of solving several
central cryptographic problems.