Educational Blockchain Cryptography Platform
An interactive learning platform that implements blockchain cryptography fundamentals from scratch in Go. Perfect for understanding the mathematical and cryptographic foundations behind Bitcoin, Ethereum, and other blockchain technologies.
- One-Time Pad (OTP): Perfect secrecy and why key reuse breaks security
- AES Encryption: Modern symmetric cryptography
- RSA Cryptography: Public key cryptography from mathematical foundations
- SHA-256: Cryptographic hash functions step-by-step
- Merkle Trees: Efficient verification structures
- Proof of Work: Mining algorithms and difficulty adjustment
# Clone and setup
git clone https://github.com/your-username/cryptotoolkit-go
cd cryptotoolkit-go
make setup
# Build the project
make build
# Try some demos
make demo-otp
make demo-hash
make demo-break# Encrypt with OTP and see every step
./bin/cryptotoolkit otp encrypt "secret message" --explain
# Hash with detailed algorithm visualization
./bin/cryptotoolkit hash sha256 "input" --explain
# Demonstrate security vulnerabilities
./bin/cryptotoolkit otp demo-break "message1" "message2"cryptotoolkit-go/
├── pkg/crypto/
│ ├── symmetric/ # OTP, AES implementations
│ ├── asymmetric/ # RSA from scratch
│ ├── hash/ # SHA-256, Merkle trees
│ └── pow/ # Proof of Work
├── cmd/
│ ├── cli/ # Interactive CLI
│ ├── api/ # REST API server
│ └── web/ # Web interface
└── docs/ # Tutorials & examples
# Run all tests with coverage
make test-coverage
# Run benchmarks
make benchmark
# Run linter
make lint# Build and run
make docker-build
make docker-run- Start Here: One-Time Pad basics
- Hash Functions: SHA-256 step-by-step
- Public Key Crypto: RSA mathematics
- Merkle Trees: Blockchain verification
- Proof of Work: Mining simulation
- Build Your Own: Simple blockchain
We welcome contributions! Please read our contributing guidelines and code of conduct.
MIT License - see LICENSE for details.
- Install Go 1.21+
- Clone this repository
- Run
make setupto install dependencies - Run
make quickstartfor a full demo - Explore the code and learn!

