The course provides the basic paradigm and principles of modern cryptography. The focus of this course will be on definitions and constructions of various cryptographic objects. We will try to understand what security properties are desirable in such objects, how to formally define these properties, and how to design objects that satisfy the definitions. The aim is that at the end of this course, the students are able to understand a significant portion of current cryptography research papers and standards.INTENDED AUDIENCE :Computer science and Mathematics studentsPREREQUISITES : There are no pre-requisites for this course. However it is expected that the students who are interested to take this course have had some exposure to a basic course on discrete mathematics, algorithms, or theory of computation. Having said that, I ensure that a significant effort will be made from my side to simplify the overall presentation of the course and make it easily accessible.INDUSTRY SUPPORT : The course will be relevant for any IT related company