Coursera
Coursera Logo

Stanford University - Cryptography I 

  • Offered byCoursera

Cryptography I
 at 
Coursera 
Overview

Duration

23 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Cryptography I
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Approx. 23 hours to complete
  • English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Read more
Details Icon

Cryptography I
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • 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. 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.
Read more

Cryptography I
 at 
Coursera 
Curriculum

Course overview and stream ciphers

Course Overview

What is Cryptography?

History of Cryptography

Discrete Probability (Crash Course)

Discrete Probability (Crash Course, Cont.)

Information Theoretic Security and The One Time Pad

Stream Ciphers and Pseudo Random Generators

Attacks on Stream Ciphers and The One Time Pad

Real-World Stream Ciphers

PRG Security Definitions

Semantic Security

Stream Ciphers are Semantically Secure [optional]

Lecture slides for all six weeks

Course overview and additional reading resources

Week 1 - Problem Set

Week 1 - Programming Assignment [optional]

Block Ciphers

What are Block Ciphers?

The Data Encryption Standard

Exhaustive Search Attacks

More Attacks on Block Ciphers

The AES Block Cipher

Block Ciphers From PRGs

Review: PRPs and PRFs

Modes of Operation: One Time Key

Security for Many-Time Key (CPA security)

Modes of Operation: Many Time Key (CBC)

Modes of Operation: Many Time Key (CTR)

Week 2 - Problem Set

Week 2 - Programming Assignment [Optional]

Message Integrity

Message Authentication Codes

MACs Based On PRFs

CBC-MAC and NMAC

MAC Padding

PMAC and the Carter-Wegman MAC

Introduction

Generic Birthday Attack

The Merkle-Damgard Paradigm

Constructing Compression Functions

HMAC

Timing attacks on MAC verification

Week 3 - Problem Set

Week 3 - Programming Assignment [Optional]

Authenticated Encryption

Active Attacks on CPA-Secure Encryption

Definitions

Chosen Ciphertext Attacks

Constructions From Ciphers and MACs

Case Study: TLS 1.2

CBC Padding Attacks

Attacking Non-Atomic Decryption

Key Derivation

Deterministic Encryption

Deterministic Encryption: SIV and Wide PRP

Tweakable Encryption

Format Preserving Encryption

Week 4 - Problem Set

Week 4 - Programming Project [Optional]

Basic Key Exchange

Trusted 3rd Parties

Merkle Puzzles

The Diffie-Hellman Protocol

Public-Key Encryption

Notation

Fermat and Euler

Modular e'th Roots

Arithmetic algorithms

Intractable Problems

More background on number theory

Week 5 - Problem Set

Week 5 - Programming Assignment [Optional]

Public-Key Encryption

Definitions and Security

Constructions

The RSA Trapdoor Permutation

PKCS 1

Is RSA a One-Way Function?

RSA in Practice

The ElGamal Public-key System

ElGamal Security

ElGamal Variants With Better Security

A Unifying Theme

Farewell (For Now)

Week 6 - Problem Set

Week 6 - Programming Assignment [Optional]

Final exam

Final Exam

Cryptography I
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Cryptography I
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...