arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Book Plan

A summary we plan to cover

hashtag
Philosophy

The aim of CryptoBook is to have a consolidated space for all of the mathematics required to properly learn and enjoy cryptography. The focus of any topic should be to introduce a reader to a subject in a way that is fun, engaging and with an attempt to frame it as an applied resource.

The second focus should be to cleanly implement the various topics using SageMath, so that there is a clear resource for a new reader to gain insight on how SageMath might be used to create the objects needed.

circle-check

Write about what you love and this book will be a success.

circle-info

Descriptions of attacks against cryptosystems are strongly encouraged, however full SageMath implementations should not be included, as this has the potential for destroying CryptoHack challenges, or making all attacks known by so many people that CTFs become a total nightmare!!

hashtag
Proposed topics

This list is not complete so please add to it as you see fit.

hashtag
Mathematical Background

hashtag
Fundamentals

  • Congruences

  • GCD, LCM

    • Bézout's Theorem

hashtag
Number Theory

Mainly thinking things like

  • Prime decomposition and distribution

  • Primality testing

  • Euler's theorem

hashtag
Abstract Algebra

Mainly thinking things like:

  • Groups, Rings, Fields, etc.

  • Abelian groups and their relationship to key-exchange

  • Lagrange's theorem and small subgroup attacks

hashtag
Basilar Cryptanalysis forms

  • Introduction to Cryptanalysis

  • A linear Approach to Cryptanalysis

  • Matsui's Best biases algorithm

hashtag
Elliptic Curves

  • Weierstrass

  • Montgomery

  • Edwards

Generating Elliptic Curves

  • Generating curves of prime order

  • Generating supersingular curves

hashtag
Hyperelliptic curves

  • Generalization of elliptic curves

  • Recovering a group structure using the Jacobian

  • Example: genus one curves, jacobian is isomorphic to the set of points

hashtag
Security background

  • Basic Concepts

    • Confidentiality, Integrity etc

    • Encryption, Key generation

hashtag
Asymmetric Cryptography

hashtag
RSA

  • Textbook protocol

  • Padding

    • Bleichenbacher's Attack

hashtag
Paillier Cryptosystem

  • Textbook protocol

hashtag
ElGamal Encryption System

  • Textbook protocol

  • ElGamal Digital Signature Scheme

hashtag
Diffie-Hellman

  • Textbook protocol

  • Strong primes, and why

hashtag
Elliptic Curve Cryptography

  • ECDSA

  • EdDSA

hashtag
Symmetric Cryptography

hashtag
One Time Pad

  • XOR and its properties

  • XOR as One Time Pad

  • Generalized One Time Pad

Block Ciphers

  • AES

Stream Ciphers

  • Affine

  • RC4

hashtag
Hashes

  • Introduction

  • Trapdoor Functions

  • MD family

hashtag
Isogeny Based Cryptography

  • Isogenies

  • Isogeny graphs

  • Torsion poins

hashtag
Cryptographic Protocols

hashtag
Zero-knowledge proofs

  • Schnorr proof of knowledge for dlog

  • Core definitions

  • Proof of equality of dlog

hashtag
Formal Verification of Security Protocols

  • Definition of Formal Verification

  • Uses of Formal Verification

  • Handshake protocols, flawed protocols

hashtag
Usefull Resources ( Books, articles ..) // based on my material

  • Cryptanalytic Attacks on RSA (Yan, Springer, 2008)

  • Algorithmic Cryptanalysis (Antoine Joux, CRC Press, 2009)

  • Algebraic Cryptanalysis (Brad, Springer, 2009)

Gauss' Lemma and its ten thousand corollaries

  • Euclid's algorithm

  • Modular Arithmetic

  • Morphisms et al.

  • Frobenius endomorphism

  • Factoring
  • Legendre / Jacobi symbol

  • A Differential Approach to Cryptanalysis
    Counting points (Schoof's algorithm)
  • Complex multiplication

    • Good reference, thanks Joachimarrow-up-right

  • Generating non-supersinular curves of low embedding degreearrow-up-right
  • Generating curves of arbitary order (hard)

    • Thesis on the topicarrow-up-right

    • Sage implementation ChiCube's scriptarrow-up-right

  • Mumford representation of divisors
  • Computing the order of the Jacobian

    • For characteristic 2^n: Example 56arrow-up-right

    • Hyper Metroid example

  • Attacker goals + Attack games

  • Defining Security - Perfect security, semantic security

  • Proofs of security + Security Reductions

  • OAEP

  • Coppersmith

    • HÃ¥stad's Attack

    • Franklin-Reiter Attack

  • Wiener's Attack

  • RSA's Integer fattorization Attacks

    • Fermat Factoring Attack

    • Quadratic Sieve Attack

    • Number Fielde Sieve Attack

  • RSA Digital Signature Scheme

  • Timing Attacks on RSA

  • RSA with Chinese Remainder Theorem (CRT)

    • Fault Attack on RSA-CRTarrow-up-right

    • Bellcore Attack (Low Voltage Attack)arrow-up-right

  • SHA family
  • BLAKE Hash family

  • // TODO: Insert Attacks

  • SIDH
  • SIKE

  • BIKE

  • Proof of knowledge of a group homomorphism preimage
    The external threat: Man-In-The-Middle attacks
  • Attacking the (flawed) Needham-Shroeder public key exchange protocol

  • RC4 stream Cipher and its variants (H. Rosen, CRC Press, 2013)
  • Formal Models and Techniques for Analyzing Security Protocols (Cortier, IOS Press, 2011)

  • Algebraic Shift Register Sequences (Goresky && Klapper, Cambridge Press, 2012)

  • The Modelling and Analysis of Security Protocols (Schneider, Pearson, 2000)

  • Secure Transaction Protocol Analysis (Zhang && Chen, Springer, 2008)

  • Generating Anomalous curvesarrow-up-right
    Wikipediaarrow-up-right