Skip to content

hardenedlinux/crypto-101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cryptography 101: A High-Level Introduction

This repository provides a high-level introduction to cryptography, referencing classic and modern resources. The goal is to offer a structured overview of the field for students, engineers, and enthusiasts, before diving into more advanced topics like constant-time implementations, side-channel resistance, and post-quantum cryptography (PQC).

References

  • Handbook of Applied Cryptography (HAC) – A foundational reference by Menezes, van Oorschot, and Vanstone: HAC PDF

  • Cryptography 101 – An accessible introduction to the basics of cryptography:

Overview

Cryptography is the science of secure communication in the presence of adversaries. It provides the tools to ensure confidentiality, integrity, authenticity, and non-repudiation in digital systems.

Core Goals

  1. Confidentiality – Preventing unauthorized access to information.
  2. Integrity – Ensuring information is not altered in transit or storage.
  3. Authentication – Verifying the identity of communicating parties.
  4. Non-repudiation – Preventing denial of participation in a communication.

Building Blocks

  • Symmetric cryptography – Encryption and decryption with the same secret key.
  • Asymmetric cryptography (Public-Key) – Using mathematically related key pairs.
  • Cryptographic hash functions – One-way functions mapping arbitrary input to fixed-length output.
  • Digital signatures – Providing authenticity and integrity using asymmetric keys.
  • Key exchange protocols – Establishing shared secrets over insecure channels.

Applications

  • Secure communication protocols (TLS, SSH, IPsec)
  • Authentication systems (password hashing, digital certificates)
  • Data protection (disk encryption, file integrity)
  • Blockchain and cryptocurrencies

Structure of This Repository

This repository is organized into multiple sections:

  1. Introduction (this document)
  2. Constant-Time Implementations – Why timing leaks matter, and coding practices to avoid them.
  3. Side-Channel Attacks – Power, EM, timing, and cache-based attacks.
  4. Post-Quantum Cryptography (PQC) – Algorithms designed to resist quantum adversaries.

Each section will include explanations, references, and where relevant, practical examples.


This repository is a work in progress. Contributions, corrections, and discussions are welcome.

About

An introductory best practice on cryptography

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published