Skip to main content
CS260: Introduction to Cryptography and Network Security
0%
Previous
Course Feedback Survey
COURSE INTRODUCTION
Course Syllabus
Unit 1: Introduction to Cryptography
Unit 1 Learning Objectives
1.1: Introduction to Encryption and Computational Security
Key Concepts of Cryptography
How Cryptography Works
Key Terms for Network Security
1.2: Block Ciphers vs. Stream Ciphers
Overview
More on Stream Ciphers
1.3: Substitution Cipher
Basic Techniques
Python Exercise
1.4: Transposition Cipher
Basic Techniques
1.5: Random Numbers
The Basics of PRNGs
Python Example
1.6: Perfect Secrecy and the One-Time Pad
Perfect Secrecy a La Shannon
The Main Idea behind the One-Time Pad
More on the One-Time Pad
Unit 1 Assessment
Unit 1 Assessment
Unit 2: Hash Functions
Unit 2 Learning Objectives
2.1: What Is a Hash Function?
Overview
One Way Functions
Hash Functions
Python Exercise
2.2: Collision Resistance
The Importance of Collision Resistance
The Vulnerabilities of MD5
2.3: Merkle-Damgard Construction
Overview
Recipes for Hash Functions
2.4: SHA (Secure Hash Algorithm)
Overview
The Security of SHA
Python Exercise
2.5: Application: Blockchain
Introduction to Blockchain
Proof of Work
Python Exercise
Unit 2 Assessment
Unit 2 Assessment
Unit 3: Symmetric Encryption
Unit 3 Learning Objectives
3.1: Introduction to Symmetric Encryption
Key Concepts
3.2: Feistel Cipher
Combining Transposition and Substitution
The Elegance of the Feistel Cipher
3.3: Data Encryption Standard (DES)
Overview
Applying the Feistel Cipher
3.4: Advanced Encryption Standard (AES)
Beyond DES
Python Implementations
3.5: Triple DES (3DES)
Introduction to 3DES
Contrasting 3DES with AES
A Performance Comparison of DES, AES, and DES
Unit 3 Assessment
Unit 3 Assessment
Unit 4: Asymmetric Encryption
Unit 4 Learning Objectives
4.1: Asymmetric Cryptosystems
Introduction to Public Key Cryptography
4.2: The RSA Cryptosystem
The RSA Cryptosystem
4.3: Integer Factorization
Prime Factorization
Factoring Techniques
Python Exercise
4.4: Congruences Modulo n
Modular Arithmetic
More Immersion into Congruences modulo n
4.5: Euclidean Algorithm
Computing the GCD
Python Implementation
4.6: Inverses Modulo p and the Extended Euclidean Algorithm
The Extended Euclidean Algorithm
Python Implementation
4.7: Fermat's Little Theorem and Its Generalization
Number Theory for Public Key Cryptography
4.8: Repeated Squaring Algorithm
The Basics
Using Binary Representations
Python Implementation
4.9: The RSA (Rivest-Shamir-Adleman) Encryption System
Some Number Theory
The RSA Algorithm
Putting It All Together
Unit 4 Assessment
Unit 4 Assessment
Unit 5: Signatures and Certificates
Unit 5 Learning Objectives
5.1: Message Integrity: Authentication, Confidentiality, and Nonrepudiation
Introduction to IT Security
5.2: Message Authentication Code (MAC)
Overview
Introduction to MAC Architectures and Configurations
More on MAC Architectures
5.3: Keyed Hash Functions
Hash Functions in Authentication
5.4: Digital Signatures and Certificates
Overview
More on Digital Signatures
Python Implementation
Unit 5 Assessment
Unit 5 Assessment
Unit 6: Key Management
Unit 6 Learning Objectives
6.1: Cyclic Groups
Introduction to Cyclic Groups
Computational Complexity
Python Implementation
6.2: The Discrete Logarithm Problem
The Discrete Logarithm Problem
6.3: Diffie-Hellman Key Exchange
The Diffie-Hellman Algorithm
Unit 6 Assessment
Unit 6 Assessment
Unit 7: Elliptic Curve Cryptography
Unit 7 Learning Objectives
7.1: Introduction to Elliptic Curves
Introduction to the Weierstrass Curve
Generalizing the Concept of Addition
Praxis: Evaluating Points on a Curve
The Details behind Point Addition
7.2: Group Operations on Elliptic Curves
Computing Point Addition
Python Implementation
7.3: Elliptic Curve Cryptography Applications
Overview
Elliptic Curve Diffie-Hellman (ECDH)
Elliptic Curve Digital Signature Algorithm (ECDSA)
Python Implementation for ECDSA
Public Key System Comparisons
Python Summary
Unit 7 Assessment
Unit 7 Assessment
Unit 8: Zero-Knowledge Proofs
Unit 8 Learning Objectives
8.1: Introduction to Zero-Knowledge Proofs
The Basics
More Details
ZKP Adoption and Impact
8.2: SNARKS
Overview
Approaches to ZKPs
8.3: Application: Ethereum
Background
ZoKrates
Unit 8 Assessment
Unit 8 Assessment
Unit 9: Quantum Key Distribution
Unit 9 Learning Objectives
9.1: Photon Polarization
Wave Polarization
More on Polarization
Photons
Photon Polarization
9.2: BB84 Protocol
Overview
The Basics of BB84
The Details behind BB84
9.3: Current Technology
Overview
The Details behind More Recent Approaches to QKD
Unit 9 Assessment
Unit 9 Assessment
Unit 10: Quantum Algorithms
Unit 10 Learning Objectives
10.1: Quantum Operators
Introduction to Quantum Computation
Cryptographic Implications
10.2: Quantum Search Problems
Overview
The Deutsch-Jozsa Algorithm and QKD
Quantum Computing versus AES
Efficient Quantum Collision Search Algorithm
10.3: Shor's Algorithm
Breaking RSA
Factoring by Perfect Squares
Overview of Shor's Algorithm
Shor's Quantum Architecture
Breaking Symmetric Cryptosystems
QC Coding Using Cirq
Breaking RSA Using Shor's Algorithm
Unit 10 Assessment
Unit 10 Assessment
Study Guide
CS260 Study Guide
Course Feedback Survey
Course Feedback Survey
Certificate Final Exam
CS260: Certificate Final Exam
Next
Side panel
Course Catalog
All categories
Arts & Humanities
Art History
Communication
English
Philosophy
Business Administration
Computer Science
English as a Second Language
Professional Development
General Knowledge for Teachers
Science and Math
Biology
Chemistry
Mathematics
Physics
Social Science
Economics
Geography
History
Political Science
Psychology
Sociology
Home
Specialization Programs
Specialization Programs
Help
Getting Started
Help Center & FAQ
Search
Search
Search
Search
Close
Toggle search input
You are currently using guest access
Log in
Course Catalog
Collapse
Expand
All categories
Arts & Humanities
Art History
Communication
English
Philosophy
Business Administration
Computer Science
English as a Second Language
Professional Development
General Knowledge for Teachers
Science and Math
Biology
Chemistry
Mathematics
Physics
Social Science
Economics
Geography
History
Political Science
Psychology
Sociology
Home
Specialization Programs
Collapse
Expand
Specialization Programs
Help
Collapse
Expand
Getting Started
Help Center & FAQ
Expand all
Collapse all
Open course index
CS260: Introduction to Cryptography and Network Security
Course Feedback Survey
Course Feedback Survey
Course Feedback Survey
Completion requirements
Click on
Course Feedback Survey
to open the resource.
Back to 'Course Feedback Survey'