Cryptography I (Coursera)

Offered by Stanford University,
Cryptography I (Coursera)

Cryptography is an indispensable tool for protecting information in computer systems. In this course you will learn the inner workings of cryptographic systems and how to correctly use them in 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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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 parties generate a shared secret key. Throughout the course participants will be exposed to many exciting open problems in the field and work on fun (optional) programming projects. In a second course (Crypto II) we will cover more advanced cryptographic tasks such as zero-knowledge, privacy mechanisms, and other forms of encryption.

Syllabus

WEEK 1
Course overview and stream ciphers
This week's topic is an overview of what cryptography is about as well as our first example ciphers. You will learn about pseudo-randomness and how to use it for encryption. We will also look at a few basic definitions of secure encryption.

WEEK 2
Block Ciphers
We introduce a new primitive called a block cipher that will let us build more powerful forms of encryption. We will look at a few classic block-cipher constructions (AES and 3DES) and see how to use them for encryption. Block ciphers are the work horse of cryptography and have many applications. Next week we will see how to use block ciphers to provide data integrity. The optional programming assignment this week asks students to build an encryption/decryption system using AES.

WEEK 3
Message Integrity
This week's topic is data integrity. We will discuss a number of classic constructions for MAC systems that are used to ensure data integrity. For now we only discuss how to prevent modification of non-secret data. Next week we will come back to encryption and show how to provide both confidentiality and integrity. This week's programming project shows how to authenticate large video files. Even if you don't do the project, please read the project description --- it teaches an important concept called a hash chain.

WEEK 4
Authenticated Encryption
This week's topic is authenticated encryption: encryption methods that ensure both confidentiality and integrity. We will also discuss a few odds and ends such as how to search on encrypted data. This is our last week studying symmetric encryption. Next week we start with key management and public-key cryptography. As usual there is also an extra credit programming project. This week's project involves a bit of networking to experiment with a chosen ciphertext attack on a toy web site.

WEEK 5
Basic Key Exchange
This week's topic is basic key exchange: how to setup a secret key between two parties. For now we only consider protocols secure against eavesdropping. This question motivates the main concepts of public key cryptography, but before we build public-key systems we need to take a brief detour and cover a few basic concepts from computational number theory. We will start with algorithms dating back to antiquity (Euclid) and work our way up to Fermat, Euler, and Legendre. We will also mention in passing a few useful concepts from 20th century math. Next week we will put our hard work from this week to good use and construct several public key encryption systems.

WEEK 6
Public-Key Encryption
This week's topic is public key encryption: how to encrypt using a public key and decrypt using a secret key. Public key encryption is used for key management in encrypted file systems, in encrypted messaging systems, and for many other tasks. The videos cover two families of public key encryption systems: one based on trapdoor functions (RSA in particular) and the other based on the Diffie-Hellman protocol. We construct systems that are secure against tampering, also known as chosen ciphertext security (CCA security). There has been a ton of research on CCA security over the past decade and given the allotted time we can only summarize the main results from the last few years. The lectures contain suggestions for further readings for those interested in learning more about CCA secure public-key systems. The problem set this week involves a bit more math than usual, but should expand your understanding of public-key encryption. Please don't be shy about posting questions in the forum. This is the last week of this Crypto I course. I hope everyone learned a lot and enjoyed the material. Crypto is a beautiful topic with lots of open problems and room for further research. I look forward to seeing you in Crypto II where we will cover additional core topics and a few more advanced topics.

WEEK 7
Final exam
Congratulations! We are at the end of the course. This module contains only the final exam which covers the entire course. I hope everyone learned a lot during these 6 weeks. Good luck on the final exam and I look forward to seeing you at a future course!

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

AWS Cloud Practitioner Essentials (Coursera) Coursera
AWS

AWS Cloud Practitioner Essentials (Coursera)

Welcome to AWS Cloud Practitioner Essentials. If you’re new to the cloud, whether you’re in a technical or non-technical role such as finance, legal, sales, marketing, this course will provide you with an understand of fundamental AWS Cloud concepts to help you gain confidence to contribute to your organization’s cloud initiatives. This course is also the starting point to prepare for your AWS Certified Cloud Practitioner certification whenever it’s convenient for you.

Sep 7th 2026
5-12 Weeks
Cybersecurity in Healthcare (Hospitals & Care Centres) (Coursera) Coursera
Erasmus University Rotterdam

Cybersecurity in Healthcare (Hospitals & Care Centres) (Coursera)

The Cybersecurity in Healthcare MOOC was developed as part the SecureHospitals.eu project. This project has received funding from the European Union’s Horizon 2020 Coordination Research and Innovation Action under Grant Agreement No. 826497. The course "Cybersecurity in Healthcare" has been developed to raise awareness and understanding the role of cybersecurity in healthcare (e.g., hospitals, care centres, clinics, other medical or social care institutions and service organisations) and the challenges that surround it.

Sep 7th 2026
5-12 Weeks
Terrorism and Counterterrorism: Comparing Theory and Practice (Coursera) Coursera
Leiden University

Terrorism and Counterterrorism: Comparing Theory and Practice (Coursera)

Terrorism has arguably been one of the defining factors of our age. It frequently makes headlines, threatening or attacking governments, private business and ordinary citizens. And in many parts of the world, it has been one of the most important threats to peace, security and stability. But what does this exactly mean? What is the nature of this threat? Who or what is threatened, how, by whom and why? What can be done about it or how can we at least limit the impact of terrorism and make sure that terrorists do not make headlines and manage to scare us? These are just a handful of questions that will be addressed in this course that consists of three parts.

Sep 7th 2026
5-12 Weeks
Cloud Computing Security (Coursera) Coursera
University of Colorado System

Cloud Computing Security (Coursera)

In this MOOC, we will learn Cloud Computing basics using AWS as an example, We will guide you to create AWS account, planning AWS resources for your cloud systems, create AWS EC2 instances, access them and configure the popular LAMP web services with MySQL database. We will guide you to create user accounts for your programmer or operators using AWS Identify and Access management GUI, Register your domain name and setup DNS entry for your servers using AWS Route 53 in 22 mintues! and show you how to use AWS Command Line interface to create and managing instances and services programmatically.

Sep 7th 2026
4 Weeks
Introduction to Applied Cryptography (Coursera) Coursera
University of London

Introduction to Applied Cryptography (Coursera)

This course is a non-mathematical introduction to the role that cryptography plays in providing digital security for everyday applications such as the internet, mobile phones, wireless networks and cryptocurrency. In this introductory course you will develop an understanding of the functionality and purpose of the main cryptographic tools we use today. You will learn how to make decisions about which cryptographic tools are most appropriate to deploy in specific settings. You will also explore the wider infrastructure surrounding cryptography and how this impacts the overall security of systems deploying cryptography.

Sep 14th 2026
4 Weeks
Linux on LinuxONE (Coursera) Coursera
IBM

Linux on LinuxONE (Coursera)

This course is for Linux Systems Administrators, Architects and Developers who are already familiar with Linux components and everyday tasks, but need a primer on how to best take advantage of the LinuxONE platform. This includes working with the hardware, software, facilities, and processes unique to LinuxONE. It is comprised of videos, links to online resources, and a final test for a badge.

Sep 14th 2026
5-12 Weeks
Cloud Computing Fundamentals on Alibaba Cloud (Coursera) Coursera
Alibaba Cloud Academy

Cloud Computing Fundamentals on Alibaba Cloud (Coursera)

Looking to dive into the world of Alibaba Cloud with a comprehensive introduction to the range of products and solutions offered by Alibaba Cloud? Fundamental Architecting on Alibaba Cloud is a course designed for users looking to start this journey with a look into Alibaba Cloud's core products. Fundamental Architecting looks into storage, networking, auto-scaling, and security solutions as well as scenarios to best combine these products to create a complete cloud-based architecture.

Sep 14th 2026
5-12 Weeks
Web Connectivity and Security in Embedded Systems (Coursera) Coursera
EIT Digital

Web Connectivity and Security in Embedded Systems (Coursera)

In this course, we will explore several technologies that bring modern devices together, facilitating a network of connected things and making devices internet enabled. We will discuss rules, protocols, and standards for these devices to communicate with each other in the network. We will also go through security and privacy issues and challenges in cyber physical systems (CPS). We will explore measures and techniques for securing systems from different perspectives. Possible attack models are introduced and solutions to tackle such attacks are discussed. Moreover, some basic concepts related to privacy in cyber physical systems are presented.

Sep 14th 2026
5-12 Weeks
Exam Prep: AWS Certified Solutions Architect - Associate (Coursera) Coursera
AWS

Exam Prep: AWS Certified Solutions Architect - Associate (Coursera)

This new intermediate-level course from Amazon Web Services (AWS) is designed to help you to assess your preparedness for the AWS Certified Solutions Architect - Associate exam. You will learn how to prepare for the exam by exploring the exam’s topic areas and how they map to architecting on AWS. You will review sample certification questions in each domain, practice skills with hands-on exercises, test your knowledge with practice question sets, and learn strategies for identifying incorrect responses by interpreting the concepts that are being tested in the exam.

Sep 7th 2026
4 Weeks
Becoming a Cybersecurity Consultant (Coursera) Coursera
EIT Digital

Becoming a Cybersecurity Consultant (Coursera)

The course targets individuals planning to develop a career in cybersecurity, middle managers and executives. The course covers the following main learning objectives: Threats - Technology - Economics and it is structured in 2 parts: an online part and a face-to-face/live webinar part. The present online course is designed to cover theoretical concepts a Cybersecurity Consultant (medium level) should know.

Sep 7th 2026
3 Weeks
Blockchain Basics (Coursera) Coursera
University at Buffalo,The State University of New York

Blockchain Basics (Coursera)

This first course of the Blockchain specialization provides a broad overview of the essential concepts of blockchain technology – by initially exploring the Bitcoin protocol followed by the Ethereum protocol – to lay the foundation necessary for developing applications and programming. You will be equipped with the knowledge needed to create nodes on your personal Ethereum blockchain, create accounts, unlock accounts, mine, transact, transfer Ethers, and check balances.

Sep 14th 2026
4 Weeks
Tencent Cloud Solutions Architect Associate (Coursera) Coursera
Tencent Cloud

Tencent Cloud Solutions Architect Associate (Coursera)

This course is primarily aimed at cloud professionals that are interested in learning about Tencent Cloud‘s cloud architectures. The course equips learners with a foundational knowledge in cloud architecture design and prepares them to take the Tencent Cloud Solutions Architect Associate examination. After completing this course, learners will be able to design cloud solutions that incorporate the principles of high availability, high security, high scalability, and cost optimization.

Sep 14th 2026
5-12 Weeks