This project proposes to design and teach a course on modern techniques for cryptographic protocols and their ramifications. The course would be accessible to students with no special mathematical background or talent. The primary goal of the course is to expose students to fundamental concepts in mathematics and theoretical computer science, using cryptography as a vehicle. A second goal is to give students a background in an area that will be increasingly important as use of the Internet grows and as our economy becomes more heavily based on trade in information (including software, audio, video and film, marketing data, etc.). Finally, the potential for widespread use of cryptography and digital signatures brings into focus such controversial and important issues as the conflict between privacy and law enforcement; the course would provide a forum for discussion of such issues. The intention is that the course would serve both to educate non-science majors and to attract prospective majors to the sciences. Because there is currently no textbook that addresses the subject at a level accessible to students that are not mathematically oriented, this project will develop suitable course materials. Such materials include course notes and homework assignments. In addition, the PI will develop a small programming language and visual environment in which even a novice programmer can develop and experiment with cryptographic protocols. As part of the course, students will have "lab assignments" in which they are led through such experimentation. The PI wil make the course materials, the programming language and environment, and the lab assignments widely available to prospective teachers of similar courses at other colleges.