Git Product home page Git Product logo

course-cryptanalysis's Introduction

Cryptanalysis

Learn about cryptographic attacks and how to apply this knowledge to design secure cryptographic primitives.

Lecturer

Ling Song

ling_picture

Calendar and schedule/ 校历和课表

  • Time: 18:30 - 20:10 Wednesday
  • Calendar / 校历 Open
  • Class schedule / 课表 Open
  • Week 01 - Week 16: lecture
  • Week 17 - Week 20: seminar and presentation

Goals and Contents

This course aims to give you in-depth knowledge about the cryptographic attacks, focusing on cryptanalysis of symmetric ciphers and asymmetric ciphers. More precisely, this course covers the following topics:

  • Introduction to Cryptanalysis
    • Kerckhoffs' principle
    • Notions of security: confidentiality, integrity, authenticity and more
    • Models of attack
    • Targets of attack
    • Theoretical attacks vs. practical attacks
    • Lessons learned from classic ciphers
  • Cryptanalysis of block ciphers
    • Meet-in-the-Middle attack & TMTO
    • Basic differential analysis
    • Basic linear analysis
    • Wide-trail strategy and AES
    • More (optional)
      • Integral cryptanalysis
      • Truncated differential attack
      • Higher order differential attack
      • Boomerang and rectangle attacks
      • Impossible differential attack
      • Multi dimensional linear attack
      • Zero-correlation linear attack
      • Division property
      • Demirci-Selcuk MitM attack
      • Subspace trail cryptanalysis
  • Cryptanalysis of stream ciphers
    • Guess-and-determine attack on stream ciphers
    • Time-Memory-Data trade off attack
    • Linear distinguisher and correlation attacks
  • Cryptanalysis of hash functions
    • Birthday attacks
    • MD and Sponge
    • Differential cryptanalysis and collision attacks
    • Meet-in-the-Middle Pre-image attack
  • Computer-aided cryptanalysis
    • MILP-based cryptanalysis
    • SAT-based cryptanalysis
  • Algebraic cryptanalysis
    • Interpolation attack
    • Cube attacks and Higher order differential attack
    • Linearization
  • Merkle-Hellman Knapsack
  • Diffie-Hellman Key Exchange and MitM
  • Discrete Log algorithms
    • Baby-step giant-step
  • Factoring algorithms
    • Dixon’s Algorithm
    • Quadratic Sieve
  • Quantum algorithms

Material

Slides

Exercises

Suggested Topics for Projects (choose one)

  • Search for the best differential trails with MILP/SAT
  • Search for the integral distinguishers based on division property using MILP/SAT
  • Search for the cube attacks on stream ciphers with MILP/SAT
  • Search for cubes for Keccak
  • Find parameters for the guess-and-determine attacks with MILP
  • Implement Wiener's attack on RSA

Suggested Topics for Seminars (choose one)

  • Designs of stream ciphers with small states
  • RSA and Shor's algorithm
  • Differential analysis of keyless permutations
  • Search for differential trails with MILP/SAT for pSP
  • Machine learning-based symmetric cryptanalysis
  • Hybrid approaches including:
    • Differential-Linear Attack
    • Algebraic-Differential Attack

Textbooks

Applied Cryptanalysis: Breaking Ciphers in the Real World

applied_crypto_stamp

Website

Algorithmic Cryptanalysis

algorithmic_cryptanalysis

Techniques for Cryptanalysis of Block Ciphers

techniques_for_cryptanalysis_of_block_ciphers

Website

The Block Cipher Companion

block_cipher_companion

Website

An Introduction to Mathematical Cryptography

into_to_mathematical_crypto

A Salad of Block Ciphers

a_salad_of_block_ciphers

Download book

It is available on Cryptology ePrint Archive:

https://eprint.iacr.org/2016/1171

A Self-Study Course in Block-Cipher Cryptanalysis

bruce_schneier

Studying cryptanalysis is difficult because there is no standard textbook, and no way of knowing which cryptanalytic problems are suitable for different levels of students. This paper attempts to organize the existing literature of block-cipher cryptanalysis in a way that students can use to learn cryptanalytic techniques and ways to break new algorithms.

Download book

It is publicly available via the following link:

https://www.schneier.com/wp-content/uploads/2016/02/paper-self-study.pdf

course-cryptanalysis's People

Contributors

hadipourh avatar ling-song-000 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.