|
DESCRIPTION
The course we will provide an introduction
to modern cryptography. Over the last 3 decades cryptography
witnessed
a transformation from an "art of constructing ciphers" (in an ad-hoc,
non-systematic manner) into a mature science with solid
foundations.
In particular, it is now clear how to define security of cryptographic
constructions, and how to base this security on well-defined
computational assumptions . Another big achievement of modern
cryptography are the applications that go beyond the construction of
protocols for secure communication, like, e.g., protocols for secure
multiparty computations.
The course will be divided into two parts. In the first part,
that
should take the first 3 days, we will introduce the basic cryptographic
concepts (pseudorandom generators, block ciphers, stream ciphers, hash
functions, one-way functions and trapdoor functions) and will explain
how to use them as building-blocks in the construction of protocols for
secure communication (symmetric and asymmetric encryption, message
authentication codes and digital signature schemes). In the
remaining
two days we will discuss more advanced cryptographic protocols:
commitment schemes, zero-knowledge protocols, coin-tossing by
telephone, oblivious transfer, private information retrieval, general
two-party and multi-party computations.
We would like to stress that this course is not
intended to provide an overview of the industrial cryptographic
methods. In other words, the main criterion in selecting the
topics of
the course is not the relevance to the practical applications, but
their intellectual attractiveness, and the mathematical depth.
PREREQUISITES
Basic knowledge of complexity theory, probability
theory, algebra and number theory (including Euler's phi function,
Euler's
totient theorem and Chinese
remainder theorem). |
|