⚙ EDUKATIF · INTERAKTIF · TRANSPARAN

Kriptografi Klasik
Step-by-Step

Pelajari 5 algoritma kriptografi klasik lengkap dengan rumus, keterangan simbol, dan visualisasi proses per karakter.

🔢 Caesar Cipher
📝 Vigenère Cipher
Affine Cipher
🔲 Hill Cipher
🔠 Playfair Cipher
🔢

Caesar Cipher

Substitusi Monoalfabetik

Setiap huruf digeser sebanyak K posisi dalam alfabet. Cipher tertua yang digunakan Julius Caesar.

RUMUS MATEMATIS
Enkripsi C = (P + K) mod 26
Dekripsi P = (C − K + 26) mod 26
📖 Keterangan Simbol:
Simbol Arti & Penjelasan
C Posisi huruf ciphertext (A=0, B=1, … Z=25)
P Posisi huruf plaintext (A=0, B=1, … Z=25)
K Nilai shift / kunci (rentang: 1 s.d. 25)
mod 26 Operasi sisa bagi 26 — memastikan hasil tetap dalam rentang 0–25
✏️ Input
Nilai K menentukan berapa posisi setiap huruf digeser dalam alfabet.
📤 Output
🔐

Klik "Proses" untuk melihat hasil

🔍 Proses Perhitungan Langkah-demi-Langkah
📝

Vigenère Cipher

Substitusi Polialtabetik

Menggunakan kata kunci yang diulang. Setiap huruf digeser sesuai nilai huruf kunci yang bersesuaian.

RUMUS MATEMATIS
Enkripsi Cᵢ = (Pᵢ + Kᵢ) mod 26
Dekripsi Pᵢ = (Cᵢ − Kᵢ + 26) mod 26
📖 Keterangan Simbol:
Simbol Arti & Penjelasan
Cᵢ Huruf ciphertext ke-i
Pᵢ Huruf plaintext ke-i
Kᵢ Huruf kunci ke-i, diulang jika habis (A=0 … Z=25)
i Indeks urutan huruf (hanya huruf alfabet yang dihitung)
mod 26 Operasi sisa bagi 26
✏️ Input
Kata kunci akan diulang (diextend) agar panjangnya sama dengan teks.
📤 Output
🔐

Klik "Proses" untuk melihat hasil

🔍 Proses Perhitungan Langkah-demi-Langkah

Affine Cipher

Transformasi Linier

Kombinasi substitusi dan transposisi. Menggunakan fungsi linear dengan dua kunci a dan b.

RUMUS MATEMATIS
Enkripsi C = (a × P + b) mod 26
Dekripsi P = a⁻¹ × (C − b) mod 26
📖 Keterangan Simbol:
Simbol Arti & Penjelasan
C Posisi huruf ciphertext (A=0 … Z=25)
P Posisi huruf plaintext (A=0 … Z=25)
a Koefisien pengali — WAJIB koprima dengan 26, yaitu gcd(a, 26) = 1
b Nilai geser / offset (rentang: 0 s.d. 25)
a⁻¹ Invers modular dari a terhadap mod 26 — yaitu nilai x dimana (a × x) mod 26 = 1
mod 26 Operasi sisa bagi 26
✏️ Input
1 3 5 7 9 11 15 17 19 21 23 25
Nilai a yang VALID (gcd(a,26)=1): 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25
📤 Output
🔐

Klik "Proses" untuk melihat hasil

🔍 Proses Perhitungan Langkah-demi-Langkah
🔲

Hill Cipher

Matriks Aritmetik

Vektor plaintext dikalikan matriks kunci lalu di-mod 26. Mendukung matriks 2×2, 3×3, dan 6×6.

RUMUS MATEMATIS
Enkripsi [C] = K × [P] mod 26
Dekripsi [P] = K⁻¹ × [C] mod 26
📖 Keterangan Simbol:
Simbol Arti & Penjelasan
[C] Vektor kolom huruf ciphertext (n × 1) — ditulis [C] untuk mewakili vektor C
[P] Vektor kolom huruf plaintext (n × 1) — ditulis [P] untuk mewakili vektor P, setiap blok n huruf
K Matriks kunci persegi n×n
K⁻¹ Invers matriks K mod 26 — syarat: det(K) koprima dengan 26
n Ukuran blok = ukuran matriks (pilihan: 2, 3, atau 6)
mod 26 Setiap elemen hasil perkalian di-mod 26
Padding Jika panjang teks bukan kelipatan n, ditambahkan huruf X di akhir
✏️ Input
Masukkan 4 angka untuk matriks 2×2. Contoh: 3 3 2 5 yang mewakili baris pertama [3,3] dan baris kedua [2,5].
📤 Output
🔐

Klik "Proses" untuk melihat hasil

🔍 Proses Perhitungan Langkah-demi-Langkah
🔠

Playfair Cipher

Bigram Matriks 5×5

Enkripsi dua huruf (bigram) sekaligus menggunakan matriks 5×5 yang dibentuk dari kata kunci.

RUMUS MATEMATIS
Enkripsi 3 aturan berdasarkan posisi pasangan huruf dalam matriks
Dekripsi Kebalikan dari 3 aturan enkripsi
📖 Keterangan Simbol:
Simbol Arti & Penjelasan
Aturan 1 — Baris Sama Enkripsi: geser kanan +1 (mod 5) | Dekripsi: geser kiri -1 (mod 5)
Aturan 2 — Kolom Sama Enkripsi: geser bawah +1 (mod 5) | Dekripsi: geser atas -1 (mod 5)
Aturan 3 — Rectangle Setiap huruf mengambil kolom huruf pasangannya, baris tetap
J → I Huruf J tidak ada di matriks — selalu diganti dengan I
Padding X Huruf kembar dalam satu bigram / huruf ganjil di akhir → sisipkan/tambahkan X
✏️ Input
Huruf J otomatis diganti I. Kunci dipakai untuk membangun matriks 5×5.
📤 Output
🔐

Klik "Proses" untuk melihat hasil

Matriks 5×5 akan muncul setelah proses
🔍 Proses Perhitungan Langkah-demi-Langkah