Skip to content

parishrut01/CIPHER-STRUCTURES

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 

Repository files navigation

CIPHER-STRUCTURES

Where math meets cryptography — exploring structure, secrecy, and everything in between.


A personal research repository at the intersection of mathematics, cryptographic theory, and zero-knowledge systems.
It contains curated notes, implementations, and experiments — from abstract algebra to working circuits — documenting the structural logic behind modern cryptographic primitives and privacy-preserving protocols.


Roadmap

Module Topic Description
Let's Begin What is cryptography? Why it matters A beginner-friendly overview of cryptography and its role in secure systems.
History Classical ciphers, crypto timeline From Caesar ciphers to public-key cryptography and modern ZK systems.
The Math Sets, functions, logic, etc We start with the basics and dive into advanced mathematical topics.
Crypto-Math Finite fields, elliptic curves, polynomials, hashes Mathematical tools foundational to cryptographic systems.
ZERO Zero-Knowledge Introduction to Zero-Knowledege proofs.
Proofs Soundness, completeness, proof techniques, types How cryptographic proofs are constructed, verified, and reasoned about.
Extras Resources Further reading, papers, courses, and curated external links.

Let's Begin

This module sets the stage by providing the most fundamental questions: What is cryptography? Why do we need cryptography? And how does cryptography shape the digital world we experience?

We start with an abstract introduction to cryptography — not only as a mechanism for secrecy, but also as a mathematical construct for guaranteeing confidentiality, integrity, authenticity, and trust. From securing your messages to powering digital currencies, cryptography is at the heart of modern information systems. You’ll explore its core goals, its evolution alongside technology, and the problems it was designed to solve. No prior mathematical or technical background is assumed — this section is meant to provide intuitive insights before diving deeper.

Whether you are a curious beginner, or just reviewing in preparation for more difficult concepts, this module lays the groundwork for all that is to come.


History

For the module on history.

We begin with classical ciphers like the Caesar cipher, Vigenère cipher, and the genius of ancient cryptographers who relied on secrecy through obscurity.

Then we move into the era of mechanical cryptography, featuring systems like the Enigma machine, whose cracking shaped the outcome of World War II. Next comes the revolutionary shift to modern cryptography: the invention of public-key cryptography, RSA, Diffie-Hellman, and the emergence of digital signatures and hash functions. Finally, we touch on the rise of zero-knowledge proofs, blockchain, and cryptography’s role in decentralized systems.

This historical lens doesn’t just show what came before — it reveals how each leap in cryptography responded to real-world needs and laid the groundwork for the tools we study today.


The Math

Before we can unlock the mechanics of cryptographic systems, we need to speak the language they’re built in: Mathematics.

This module starts with the essentials:

  1. Foundation

a. Set Theory.

b. Functions and Relations.

c. Logic and Propositional Calculus.

d. Basic combinatorics and Proof techniques.

  1. Number Theory

a. Prime factorization.

b. Greatest Common Divisor (GCD), Euclidean algorithm.

c. Modular arithmetic.

d. Euler’s theorem and Fermat’s Little Theorem.

e. Eulet Totient function.

f. Chinese Remainder Theorem.

g. Discrete logarithms.

h. Quadratic residues.

i. Modular inverses.

  1. Abstract Algebra

a. Groups theory (cyclic groups, group homomorphisms, orders).

b. Rings theory and Fields.

c. Polynomials over finite fields.

d. Vector spaces.

  1. Linear Algebra

a. Vectors and Matrices.

b. Determinants, rank and null space.

c. Linear independence and basis.

d. Dot product and inner product

  1. Probability & Information Theory

a. Basic probability theory.

b. Random variables and distributions.

c. Entropy and mutual information.

  1. Computational Mathematics

a. Time and space complexity (Big O notation).

b. Computational hardness assumptions (e.g., factoring, discrete log).

c. Randomized algorithms.

d. P vs NP problems.

e. Hash functions and collision resistance (a mathematical prespective).


Crypto-Math

Key concepts:

  1. Elliptic curve groups over finite fields.
  2. Weierstrass equations.
  3. Polynomial commitments.
  4. Cryptographic hash functions.
  5. Pairings (e.g., bilinear pairings for zkSNARKs).

Hands-on intuition meets formal definitions, leading into cryptography friendly math.


ZERO

In cryptography, zero-knowledge is an approach that allows one party (the prover) to prove to another party (the verifier) that a given argument is true without disclosing any further information other than the truth of the statement. It protects privacy by certifying knowledge or validity without releasing any underlying data. This concept, established in 1985, is crucial in strengthening security and privacy, notably in blockchain and authentication systems, as it allows verification without exposing critical information.


Proofs

In this module we dive into the basic principles of zero-knowledge proofs.

Soundness: The property that prevents a dishonest prover from convincing an honest verifier that a statement is true when it is actually false. A sound system ensures that if a prover cannot actually possess the information (the "secret") to make the statement true, the protocol will expose their attempt to cheat with a very high probability, thus protecting the system from false claims.

Completeness: The property that ensures an honest prover can always convince an honest verifier that a statement is true, provided the statement is actually true. This means if the statement being proven is valid, the proof process will successfully demonstrate its validity, making the verifier accept it.

Proof Techniques: Cryptographic methods that allow a prover to demonstrate the truth of a statement to a verifier without revealing any information beyond the statement's validity itself. The core principles are completeness (an honest prover can convince an honest verifier), soundness (a dishonest prover cannot fool a verifier), and zero-knowledge (the verifier learns nothing but the truth of the statement). Key types include interactive ZKPs, which require multiple back-and-forth exchanges, and non-interactive ZKPs (like zk-SNARKs and Bulletproofs), which produce a single, self-contained proof.

Types of Zero-Knowledge Proofs:

Interactive Zero-Knowledge Proofs: These proofs involve multiple rounds of interaction between the prover and the verifier, with the verifier asking challenges that the prover must answer correctly.

Non-Interactive Zero-Knowledge Proofs (NIZKs): These are more complex but allow for a single proof to be generated and verified later without further interaction. Notable examples include:

  1. zk-SNARKs (Succinct Non-Interactive ARguments of Knowledge): These create very small proofs that can be verified quickly.
  2. Bulletproofs: A type of ZKP that offers shorter proof sizes than traditional SNARKs while not requiring a trusted setup.
  3. zk-STARKs (Scalable Transparent ARguments of Knowledge): Offer greater transparency, as they do not require a trusted setup, making them more trustless. More scalable and robust against quantum computing attacks.

Extras

A curated selection of learning materials:

Stay updated, deepen concepts and create without limits.


Connect


About

Exploring the magic of mathematics and cryptography and everything in between.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published