NakamotoX: Mesin X-Ray Kriptografi
Aplikasi edukasi berbasis microservices yang memvisualisasikan mekanisme internal algoritma enkripsi ChaCha20 dan Caesar Cipher secara real-time, hingga ke level operasi bitwise (ARX).
Sistem Arsitektur Internal
Dokumentasi arsitektur dan source code sistem ini diproteksi sesuai pedoman keamanan kelembagaan.
Aplikasi web Single Page Application (SPA) berbasis arsitektur microservices yang memungkinkan pengguna mengenkripsi dan mendekripsi pesan menggunakan algoritma kriptografi.
Berbeda dengan alat enkripsi biasa, NakamotoX bertindak sebagai “Mesin X-Ray” yang dilengkapi visualisasi step-by-step operasi bitwise internal algoritma untuk keperluan pembelajaran yang sangat mendalam dan transparan.
01 — Fitur Utama
Unified Workspace
Antarmuka pengguna sinematik 3-kolom bergaya pipeline (Input ➤ Proses ➤ Output) yang menggabungkan semua algoritma dalam satu halaman tanpa perlu reload.
ChaCha20 Stream Cipher
Implementasi murni Python sesuai RFC 8439, tanpa library kriptografi eksternal.
State Matrix Visualizer — Pop-up interaktif untuk melihat modifikasi matriks 4x4 secara detail.
ARX Micro-Steps — Pembedahan operasi Penambahan, Rotasi, dan XOR lengkap dengan animasi difusi warna (Avalanche Effect).
File Encryption — Dukungan enkripsi dan dekripsi file dokumen (drag & drop).
Caesar Cipher
Algoritma substitusi klasik peninggalan Romawi Kuno.
Hacker Terminal Brute Force — Animasi peretasan real-time ala terminal console yang menembus 26 kemungkinan kunci (shift) secara otomatis.
The Story of Kripto
Halaman edukasi (/learn) yang menceritakan evolusi kriptografi dari era Romawi hingga penjaga gembok internet modern.
Desain UI Premium
Glassmorphism yang secara dinamis mengubah warna tema berdasarkan algoritma (Merah untuk ChaCha20, Emas untuk Caesar).
02 — Arsitektur

| Layer | Teknologi | Fungsi |
|---|---|---|
| Frontend | Alpine.js, Vanilla CSS | UI/UX sinematik (Glassmorphism), layout pipeline 3-kolom, visualisasi matrix edukatif, terminal cracking. |
| API Gateway | Laravel 12, PHP 8.3 | Validasi input tingkat lanjut, routing terpadu, error handling. |
| Crypto Engine | Python 3.11, FastAPI | Eksekusi algoritma inti ChaCha20 & Caesar Cipher (pure, no external crypto libs). |
03 — API Endpoints (Python Backend)
| Method | Endpoint | Fungsi |
|---|---|---|
| GET | /chacha20/keygen | Generate key 256-bit + nonce 96-bit |
| POST | /chacha20/encrypt | Enkripsi plaintext → ciphertext |
| POST | /chacha20/decrypt | Dekripsi ciphertext → plaintext |
| POST | /chacha20/steps | Visualisasi state matrix (20 ronde + ARX tracking) |
| POST | /chacha20/encrypt-file | Enkripsi file binary |
| POST | /chacha20/decrypt-file | Dekripsi file binary |
| POST | /caesar/encrypt | Enkripsi substitusi Caesar |
| POST | /caesar/decrypt | Dekripsi substitusi Caesar |
| POST | /caesar/brute-force | Menguji ke-26 kemungkinan shift |
04 — Struktur Proyek
kripto-simulator/ ├── app/ │ ├── Http/Controllers/ │ │ ├── SimulatorController.php # Load halaman SPA utama │ │ ├── ChaCha20Controller.php # Gateway API ChaCha20 │ │ └── CaesarController.php # Gateway API Caesar │ ├── Services/ │ │ ├── ChaCha20Service.php # HTTP client → Python │ │ └── CaesarService.php │ ├── chacha20-api/ # Python microservice │ ├── chacha20.py # Pure ChaCha20 │ ├── caesar.py # Pure Caesar │ ├── main.py # FastAPI endpoints │ └── test_*.py # Unit tests │ ├── resources/views/simulator/ │ ├── index.blade.php # UI SPA Utama │ └── learn.blade.php # Halaman edukasi │ ├── routes/web.php # Route Laravel └── README.md
05 — Tentang Algoritma
ChaCha20
Stream cipher yang dirancang oleh Daniel J. Bernstein. Sangat cepat di perangkat mobile tanpa perlu akselerasi hardware. Digunakan secara luas di TLS 1.3, WireGuard VPN, dan Google Chrome. Mengandalkan operasi ARX (Addition, Rotation, XOR) pada State Matrix 4x4.
Caesar Cipher
Salah satu teknik enkripsi tertua yang diketahui, digunakan oleh Julius Caesar untuk mengirim pesan rahasia militer. Merupakan algoritma substitution cipher di mana setiap huruf digeser sejumlah posisi tertentu di dalam alfabet. Mudah diretas di era modern menggunakan Brute Force.