Cryptography I

This course is offered through Coursera — you can add it to your Accredible profile to organize your learning, find others learning the same thing and to showcase evidence of your learning on your CV with Accredible's export features.

Course Date: 08 September 2014 to 20 October 2014 (6 weeks)

Price: free

Course Summary

Learn about the inner workings of cryptographic primitives and how to apply this knowledge in real-world applications!

Estimated Workload: 5-7 hours/week

Course Instructors

Dan Boneh

Professor Dan Boneh heads the applied cryptography group at the Computer Science department at Stanford University. Professor Boneh's research focuses on applications of cryptography to computer security. His work includes cryptosystems with novel properties, web security, security for mobile devices, digital copyright protection, and cryptanalysis. He is the author of over a hundred publications in the field and a recipient of the Packard Award, the Alfred P. Sloan Award, and the RSA award in mathematics. Last year Dr. Boneh received the Ishii award for industry education innovation. Professor Boneh received his Ph.D from Princeton University and joined Stanford in 1997.

Course Description

Cryptography is an indispensable tool for protecting information in computer systems. This course explains the inner workings of cryptographic primitives and how to correctly use them. Students will learn how to reason about the security of cryptographic constructions and how to apply this knowledge to real-world applications. The course begins with a detailed discussion of how two parties who have a shared secret key can communicate securely when a powerful adversary eavesdrops and tampers with traffic. We will examine many deployed protocols and analyze mistakes in existing systems. The second half of the course discusses public-key techniques that let two or more parties generate a shared secret key. We will cover the relevant number theory and discuss public-key encryption and basic key-exchange. Throughout the course students will be exposed to many exciting open problems in the field.

The course will include written homeworks and programming labs. The course is self-contained, however it will be helpful to have a basic understanding of discrete probability theory.


  • Will I get a statement of accomplishment after completing this class?

    Yes. Students who successfully complete the class will receive a statement of accomplishment signed by the instructor.

  • What is the format of the class?

    The class will consist of lecture videos, which are broken into small chunks, usually between eight and twelve minutes each. Some of these may contain integrated quiz questions. There will also be standalone quizzes that are not part of video lectures, and programming assignments. There will be approximately two hours worth of video content per week.

  • How much programming background is needed for the course?

    The course includes programming assignments and some programming background will be helpful. However, we will hand out lots of starter code that will help students complete the assignments. We will also point to online resources that can help students find the necessary background.

  • What math background is needed for the course?

    The course is mostly self contained, however some knowledge of discrete probability will be helpful. The wikibooks article on discrete probability should give sufficient background.

Course Workload

5-7 hours/week

Review course:

Please sign in to review this course.

Similar Courses

{{ }} {{ }}


{{course.start_date | date:'MMM d'}} — {{ course.end_date | date:'MMM d'}}   ({{ course.time_until_course_starts }} ,   length: {{ course.length_in_weeks }} weeks) Self-paced — no deadlines    
${{ course.price }} p/mfree


Course Activity & Community

Be the first Accredible user to join this course!

uploaded {{ feed_item.model.caption || feed_item.model.url || feed_item.model.file_file_name }} for the course {{ }} — {{ feed_item.time_ago }}

{{ }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}

started the course {{ }} — {{ feed_item.time_ago }}
followed {{ }} — {{ feed_item.time_ago }}
followed thier friend {{ }} — {{ feed_item.time_ago }}
{{ feed_item.model.text }} (on the course {{ }}) — {{ feed_item.time_ago }}

{{ }} {{ comment.text | truncate: (comment.length || comment_display_length) }}   read more hide

{{ comment.time_ago }}