cry.college
Video Lectures and further information on modern cryptography.
Segment 1
This segment is about introducing us, motivation and goals.
Description
This video introduces us, the lecturers.
Learning Goals
Who are we and where did we come from?
Description
This video tells you why you should do this lecture and why our approach is different.
Learning Goals
What is the purpose of learning this course?
Description
This video tells you what you will learn.
Description
This video tells you what cryptography is about.
Learning Goals
What is the purpose of cryptography?
Segment 2
This segment is about the course's contents.
Description
This video tells you whats subjects we will cover.
Learning Goals
What will this course cover?
Description
This video tells you about how this course is taught.
Learning Goals
How should you do this course?
Description
This video tells you about how to do the assignments.
Learning Goals
How should you do work on the assignments?
Description
This video tells you about the reference platform we use.
Learning Goals
What should my programming environment look like?
Description
This video tells you about Python' strengths when it somes to bits, bytes and long integers.
Learning Goals
Using Python to work with Bytes and long integers.
Description
This video tells you how to get the CryCollege library up and running.
Learning Goals
Beeing able to start the Cry.College library.
Further Materials
Assignments
In this week's homework you're supposed to get familiar with Python development. The homework consits of these tasks:
Week 2
Foundational Mathematics
Segment 1
This segment is about motivation and goals.
Description
This video introduces this week's topics.
Learning Goals
What will you learn this week?
Segment 2
This segment is about modular arithmetic.
Description
This video is about the modulo operation.
Learning Goals
What is a remainder and a quotient?
Description
This video tells you about solutions to equations mod.
Learning Goals
Is there one solution to modular equations? What is a residue class?
Description
This video tells you how to to calculate mod.
Learning Goals
How to solve modular equations.
Description
This video introduces the concept of inversion.
Learning Goals
What is additive and multiplicative inversion?
Segment 3
This segment is about algebraic constructs.
Description
This video is about algebraic classes.
Learning Goals
What is a class?
Description
This video is about algebraic groups.
Learning Goals
What is a group?
Description
This video is about algebraic rings.
Learning Goals
What is a ring?
Description
This video shows some prominent examples of rings.
Learning Goals
Get a feeling of how rings work.
Description
This video go into detail on finding multiplicative inverses in a ring.
Learning Goals
Can we find multiplicative inverse element in rings? If so, when?
Description
This video introduces the concepts of primes and coprime numbers.
Learning Goals
What is a prime factorization? What are coprime numbers?
Description
This video introduces the concepts of fields.
Learning Goals
What is a field?
Description
This video looks at a specific form of groups: Cyclic groups.
Learning Goals
What is: a generator, a multiplicative order and what are cyclic groups?
Description
This video shows why fields are the weapon of choice in cryptography.
Learning Goals
How can we invert in a field
Segment 4
This segment is about the Diffie-Hellman Key Exchange.
Description
This video is about finding a difficult problem we can use in cryptography.
Learning Goals
What is the discrete logarithm problem?
Description
This video shows our first cryptographic primitive: The Finite Field Diffie-Hellman Key Exchange.
Learning Goals
How does FFDH work?
Assignments
In this week's homework you're supposed to get an understanding of finite field arithmetic and basic crypto primitives based on finite fields. The homework consits of these tasks:
Segment 1
This segment is about introducing elliptic curves.
Description
This video introduces this week's topics.
Description
This video introduces elliptic curves.
Learning Goals
What is an elliptic curve and what can we do with it?
Description
This video defines a group law for elliptic curves.
Description
This video goes into detail on how to add points.
Learning Goals
How does point addition work and why is it so complicated?
Description
How can we invert points in the EC group?
Segment 2
This segment is about using elliptic curves for crypto.
Description
This video defines elliptic curves over finite fields for use in crypto.
Description
This video explains what scalar multiplication is and how it works.
Description
This video introduces the double-and-add algorithm for fast scalar multiplication.
Description
This video introduces more ingeredients we need for crypto.
Learning Goals
What is a generator point and what does the cofactor indicate?
Description
This video goes back to Diffie-Hellman, but this time with ECC.
Learning Goals
How can we use elliptic curves for Diffie-Hellman?
Segment 3
This segment is about elliptic curves standards.
Description
This video introduces the famous NIST curves.
Description
This video introduces the infamous NIST curves.
Description
This video shows how EC points are encoded in real-world systems.
Further Materials
Assignments
In this week's homework you're supposed to get an understanding of weierstrass curves and ECDH. The homework consits of these tasks:
Week 4
Montgomery Curves and Curve25519
Segment 1
This segment is about introducing projective space.
Description
This video introduces this week's topics.
Description
This video explains the motivation behind this week's videos.
Description
This video introduces projective spaces.
Description
This video explains how elliptic curves can be used in projective space. Images in the video are courtesy by
Benoit Viguier.
Description
This video shows how we can move points between coordinate systems.
Description
This video gives a peak at why we went through the trouble of learning about projective space.
Segment 2
This segment is about montgomery arithmetic.
Description
This video explains what the Montgomery ladder is and how it works.
Description
This video introduces a new form of curve.
Segment 3
This segment is about Curve25519.
Description
This video introduces a state-of-the-art elliptic curve in Montgomery form.
Description
This video shows the parameters of Curve25519.
Description
This video explains the major reason why Curve25519 is so fast.
Description
This video explains why Curve25519 has become so popular.
Description
This video shows how Curve25519 can be used to construct a very efficient key exchange alogrithm.
Further Materials
Assignments
In this week's homework you're supposed to get an understanding of Montgomery arithmetic and Curve25519. The homework consits of these tasks:
Week 5
Signatures from Elliptic Curves
Segment 1
This segment is about introducing public key signatures.
Description
This video introduces Signatures.
Description
his video introduces hash functions.
Segment 2
This segment is about EcDSA.
Description
This video explains how a signature system can be build from elliptic curves.
Description
This video goes into detail on how ECDSA works.
Description
This video shows a weaknes in the ECDSA algorithm.
Segment 3
This segment is about Edwards Curves.
Description
This video introduces a state-of-the-art elliptic curve in Montgomery form.
Description
This video shows how we can calculate on the unit circle.
Description
This video shows how smooth Edrwads Curves can be.
Description
This video introduces a generalization of Edwards Curves.
Description
This video summarizes the different kinds of elliptic curves we have seen so far.
Segment 4
This segment is about EdDSA and Ed25519.
Description
This video introduces yet another popular curve.
Description
This video introduces an alternative signature system based on elliptic curves.
Description
This video combines curve ed25519 and edDSA into a performant signature scheme.
Description
This video compares the two curves and shows their strengths and weaknesses.
Further Materials
Assignments
In this week's homework you're supposed to get an understanding of Edwards arithmetic and Ed25519. The homework consits of these tasks:
Segment 1
This segment is about introducing hash functions.
Description
This video introduces hash functions.
Description
This video introduces an important security notion.
Description
This video introduces an important security notion.
Description
This video introduces an important security notion.
Description
This video introduces an important security notion.
Description
This video sums up the introduced important security notions.
Segment 2
This segment is about finding collisions and preimages.
Description
This video introduces a simple but important principle.
Description
This video introduces a another simple but important principle.
Segment 3
This segment is about the Merkle-Damgard construction.
Description
This video explains how hash functions are usually build.
Description
This video shows how hash functions have to pad messages.
Description
This video shows a real world hash function based on the Merkle-Damgard construction.
Description
This video explains that MD5 is completely broken.
Segment 4
This segment is about the HAIFA construction.
Description
This video introduces another construct to make hash functions from compression functions.
Description
This video shows a real world hash function based on the HAIFA construction.
Segment 5
This segment is about message authentication codes.
Description
This video introduces the concept of MACs.
Description
In this video we construct a naive MAC and then break it.
Description
In this video we learn about a hash based MAC.
Description
This video shows what key derivation functions are and how they can be used.
Further Materials
Assignments
In this week's homework you're supposed to get an understanding of Edwards arithmetic and Ed25519. The homework consits of these tasks: