These teaching notes were initially intended for myself, as an aid for preparing the lectures in the course Foundations of Cryptography given at Weizmann Institute at the Fall of 2001. It then occurred to me that these notes may also serve as suggestions to others as to how such a course can be taught, and the notes were slightly adapted accordingly.
The course was based on the first two volumes of my work Foundations of Cryptography. The first volume, entitled Foundations of Cryptography - Basic Tools, has appeared with Cambridge University Press in June 2001. The second volume, entitled Foundations of Cryptography - Basic Applications, will appeared with Cambridge University Press in May 2004. Preliminary versions of the chapters of the second volume are available from the here.