cry.college

Video Lectures and further information on modern cryptography.

Week 1

Introduction

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:

Week 3

Elliptic Curves

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:

Week 6

Hash Functions

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: