Cryptography (saylor.org)

Offered by Saylor.org,
Cryptography (saylor.org)

Cryptography is essentially the science of writing in secret code. In data and telecommunications, cryptography has specific security requirements, such as authentication, privacy or confidentiality, integrity, and non-repudiation. To meet these security requirements, we employ secret key (or symmetric) cryptography, public-key (or asymmetric) cryptography, and hash functions.

Cryptography is essentially the science of writing in secret code. In data and telecommunications, cryptography has specific security requirements, such as authentication, privacy or confidentiality, integrity, and non-repudiation. To meet these security requirements, we employ secret key (or symmetric) cryptography, public-key (or asymmetric) cryptography, and hash functions.

In the first part of the course, we will review a number of different ciphers that were used before World War II. These ciphers would be easily broken nowadays, since cryptography has advanced quickly over the past couple of decades with the advent of modern computers. We will cover block cipher algorithms and describe the advanced encryption standard for a symmetric-key encryption adopted by the U.S. government. We will also learn about the important MD5 and SHA-1 hash functions as well as the message authentication code.

This course will focus on public key cryptography, which is best exemplified by the RSA algorithm (named after the algorithm inventors Rivest, Shamir, and Adleman). The RSA algorithm is considered particularly strong due to the fact that it relies on prime factorization, a computationally difficult process. We will take a careful look at this algorithm in this course. We will also learn about elliptic curves, another important mathematical function in cryptography, as well as the Diffie-Hellman key exchange and the elliptic curve discrete logarithm problem.

In the final part of the course, we will cover key exchange methods, study signature schemes, and provide an overview and discussion of public key infrastructure.

Note: It is strongly recommended that you complete Abstract Algebra I before taking this course.

Upon successful completion of this course, students will be able to:
Explain how symmetric and asymmetric key ciphers work.
List and define cryptography’s goals.
List and define the most common classical ciphers.
Explain the workings of mechanical ciphers Enigma and Lorenz.
Describe the principles of substitution-permutation networks.
Describe the algorithms for data encryption and the advanced encryption standard.
Describe and use the MD5 and SHA-1 hash functions.
Explain the idea behind public key cryptography.
Use the RSA cryptography system by applying it to practical problems.
Test whether the large integer is prime with the mathematical tools presented in this course.
Define the elliptic curve and use it in cryptography.
Explain the Diffie-Hellman key exchange.
Describe the most common signature and autokey identity schemes.
Describe the conceptual workings of public key infrastructure.

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

Related Courses

Mathematical Foundations for Cryptography (Coursera) Coursera
University of Colorado System

Mathematical Foundations for Cryptography (Coursera)

Welcome to Course 2 of Introduction to Applied Cryptography. In this course, you will be introduced to basic mathematical principles and functions that form the foundation for cryptographic and cryptanalysis methods. These principles and functions will be helpful in understanding symmetric and asymmetric cryptographic methods examined in Course 3 and Course 4. These topics should prove especially useful to you if you are new to cybersecurity. It is recommended that you have a basic knowledge of computer science and basic math skills such as algebra and probability.

Jun 22nd 2026
4 Weeks
Advanced Algorithms and Complexity (Coursera) Coursera
University of California, San Diego,Higher School of Economics - HSE University

Advanced Algorithms and Complexity (Coursera)

You've learned the basic algorithms now and are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision.

Jun 22nd 2026
5-12 Weeks
Introduction to Google SEO (Coursera) Coursera
University of California, Davis

Introduction to Google SEO (Coursera)

Ever wonder how major search engines such as Google, Bing and Yahoo rank your website within their searches? Or how content such as videos or local listings are shown and ranked based on what the search engine considers most relevant to users? Welcome to the world of Search Engine Optimization (SEO). This course is the first within the SEO Specialization and it is intended to give you a taste of SEO with some fun practices to get seen in Google.

Jun 22nd 2026
4 Weeks
Data Structures and Performance (Coursera) Coursera
University of California, San Diego

Data Structures and Performance (Coursera)

How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? This is an intermediate Java course. We recommend this course to learners who have previous experience in software development or a background in computer science, and in particular, we recommend that you have taken the first course in this specialization (which also requires some previous experience with Java).

Jun 22nd 2026
5-12 Weeks
Basic Cryptography and Programming with Crypto API (Coursera) Coursera
University of Colorado System

Basic Cryptography and Programming with Crypto API (Coursera)

In this MOOC, we will learn the basic concepts and principles of crytography, apply basic cryptoanalysis to decrypt messages encrypted with mono-alphabetic substitution cipher, and discuss the strongest encryption technique of the one-time-pad and related quantum key distribution systems. We will also learn the efficient symmetric key cryptography algorithms for encrypting data, discuss the DES and AES standards, study the criteria for selecting AES standard, present the block cipher operating modes and discuss how they can prevent and detect the block swapping attacks, and examine how to defend against replay attacks.

Jun 22nd 2026
4 Weeks
Data Manipulation at Scale: Systems and Algorithms (Coursera) Coursera
University of Washington

Data Manipulation at Scale: Systems and Algorithms (Coursera)

Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively. The abstractions that emerged in the last decade blend ideas from parallel databases, distributed systems, and programming languages to create a new class of scalable data analytics platforms that form the foundation for data science at realistic scales.

Jun 22nd 2026
4 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Jun 22nd 2026
4 Weeks