Skip to content

blocsoc-iitd/kronos-ctf

Repository files navigation

 ██╗  ██╗██████╗  ██████╗ ███╗   ██╗ ██████╗ ███████╗
 ██║ ██╔╝██╔══██╗██╔═══██╗████╗  ██║██╔═══██╗██╔════╝
 █████╔╝ ██████╔╝██║   ██║██╔██╗ ██║██║   ██║███████╗
 ██╔═██╗ ██╔══██╗██║   ██║██║╚██╗██║██║   ██║╚════██║
 ██║  ██╗██║  ██║╚██████╔╝██║ ╚████║╚██████╔╝███████║
 ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝ ╚═════╝ ╚══════╝
                     C  T  F

Cryptography · Smart Contracts · Zero-Knowledge Proofs

Challenges Difficulty Organisation


Challenges

# Name Category Difficulty Points # of solves
1 Fractured Lattices Crypto / Forensics Hard 500 02
2 Siege Protocol Smart Contracts Medium 250 08
3 Operation Phantom Proof ZK / STARK Hard 500 07

Challenge Summaries

1 — Fractured Lattices

The lattice remembers what the cipher forgot.

An LWE encryption scheme protects a flag. The matrix is derived from a secret prime — but the prime was shattered into fragments and hidden in plain sight. Recover the pieces, reconstruct the lattice, and break the cipher.

Skills: forensics, lattice cryptography, LLL reduction

2 — Siege Protocol

The chain remembers every king — but only one rules forever.

A DeFi kingdom on Sepolia where challengers fight for the throne and the treasury funds loans. Two vulnerabilities must be chained: lock the throne permanently via a refund DoS, then drain the treasury through a batch collateral bypass.

Skills: Solidity, smart contract exploitation, Foundry

3 — Operation Phantom Proof

Trust nothing. Verify everything. Unless the verifier is broken.

A custom STARK prover/verifier for Rescue-Prime hashes over BabyBear. Find the soundness bug in the verifier and forge a valid proof for a false statement. Submit it to the oracle for the flag.

Skills: zero-knowledge proofs, STARK internals, Rust


Structure

kronos-ctf/
├── chall_1_fractured_lattices/
│   ├── chall_1/              # participant files (cipher.txt)
│   └── chall_1_writeup/      # solution writeup
├── chall_2_block_participants/
│   ├── chall_2/              # participant Foundry project
│   └── chall_2_writeup/      # solution writeup
├── chall_3_op_phantom_proof/
│   ├── chall_3/              # participant Rust project
│   └── chall_3_writeup/      # solution writeup
└── README.md

Each challenge directory contains:

  • chall_N/ — files distributed to participants
  • chall_N_writeup/ — organizer solution writeup

Rules

  • You may use any tools, languages, or frameworks.
  • You may deploy your own contracts (challenge 2).
  • You may not brute-force oracle endpoints.
  • You may not attack infrastructure.
  • Flag format: tryst{...} or as specified per challenge.

Getting Started

git clone <repo-url>
cd kronos-ctf

# Challenge 1 — just needs Python + SageMath
cat chall_1_fractured_lattices/chall_1/cipher.txt

# Challenge 2 — needs Foundry + Sepolia ETH
cd chall_2_block_participants/chall_2
forge build

# Challenge 3 — needs Rust
cd chall_3_op_phantom_proof/chall_3
cargo build --release

Good luck. The clock is ticking.

About

Kronos CTF problems

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors