CryptoByte

Dokumentasi

Teori, rumus, dan contoh manual untuk setiap algoritma kriptografi klasik yang diimplementasikan pada CryptoByte.

1. Vigenere Cipher

Substitution

Teori

Vigenere Cipher adalah cipher substitusi polialfabetik yang menggunakan sebuah kata kunci untuk menggeser setiap huruf plaintext dengan jumlah yang berbeda-beda. Setiap huruf pada kata kunci menentukan besar pergeseran untuk huruf plaintext pada posisi yang bersesuaian.

Rumus

  • Enkripsi: Ci = (Pi + Ki) mod 26
  • Dekripsi: Pi = (Ci - Ki + 26) mod 26

Dimana Pi adalah huruf plaintext, Ki adalah huruf kunci pada posisi i mod panjang_kunci, dan Ci adalah huruf ciphertext.

Contoh Manual

Plaintext: HELLO   |   Key: KEY

PlaintextHELLO
Nilai P74111114
KeyKEYKE
Nilai K10424104
(P+K) mod 2617892118
CiphertextRIJVS

Hasil: HELLORIJVS


2. Affine Cipher

Mathematical

Teori

Affine Cipher adalah cipher substitusi monoalfabetik yang menggunakan fungsi matematika linear untuk mengenkripsi setiap huruf. Kunci terdiri dari dua bilangan bulat a dan b, dimana a harus coprime (relatif prima) terhadap 26.

Rumus

  • Enkripsi: E(x) = (a·x + b) mod 26
  • Dekripsi: D(y) = a⁻¹·(y - b) mod 26

Nilai a yang valid (coprime dengan 26): 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25.

Contoh Manual

Plaintext: HELLO   |   a = 5, b = 8

Hurufx(5x + 8) mod 26Ciphertext
H7(35 + 8) mod 26 = 17R
E4(20 + 8) mod 26 = 2C
L11(55 + 8) mod 26 = 11L
L11(55 + 8) mod 26 = 11L
O14(70 + 8) mod 26 = 0A

Hasil: HELLORCLLA


3. Playfair Cipher

Digraph

Teori

Playfair Cipher mengenkripsi pasangan huruf (digraph) menggunakan matriks kunci 5×5. Huruf J gabungkan dengan I. Plaintext dipisahkan menjadi pasangan-pasangan, dan jika dua huruf yang sama berdampingan, huruf X disisipkan sebagai pemisah.

Aturan Enkripsi

  • Same row: Ganti setiap huruf dengan huruf di kanannya (wrapping).
  • Same column: Ganti setiap huruf dengan huruf di bawahnya (wrapping).
  • Rectangle: Ganti setiap huruf dengan huruf di baris yang sama, tetapi di kolom pasangannya.

Contoh Manual

Plaintext: HELLO   |   Key: KEYWORD

Matriks 5×5:

KEYWO
RDABC
FGHIL
MNPQS
TUVXZ

Digraphs: HE LX LO → Dieksekusi berdasarkan posisi matriks.


4. Hill Cipher

Matrix

Teori

Hill Cipher adalah cipher poligrafik yang menggunakan aljabar linear. Setiap blok huruf plaintext direpresentasikan sebagai vektor dan dikalikan dengan matriks kunci mod 26. Matriks kunci harus invertible (memiliki invers) dalam modular 26.

Rumus

  • Enkripsi: C = K × P mod 26
  • Dekripsi: P = K⁻¹ × C mod 26

Catatan: Determinan matriks harus coprime dengan 26 agar matriks bisa diinverskan.

Contoh Manual (2×2)

Plaintext: HELP   |   Key Matrix: [[3, 3], [2, 5]]

Blok 1: HE → [7, 4]

  • (3×7 + 3×4) mod 26 = 33 mod 26 = 7 → H
  • (2×7 + 5×4) mod 26 = 34 mod 26 = 8 → I

Blok 2: LP → [11, 15]

  • (3×11 + 3×15) mod 26 = 78 mod 26 = 0 → A
  • (2×11 + 5×15) mod 26 = 97 mod 26 = 19 → T

Hasil: HELPHIAT


5. Enigma Cipher

Machine

Teori

Mesin Enigma adalah mesin cipher elektromekanis yang digunakan Jerman pada Perang Dunia II. KriptoCalc mensimulasikan versi sederhana dengan 3 rotor (I, II, III), Reflektor B, dan mekanisme double-stepping historis.

Komponen & Proses

  • Rotor: 3 piringan berputar dengan kabel internal bersilang yang menggantikan substitusi statis.
  • Reflector: Mengirim sinyal kembali melalui rotor, menjamin prosesnya self-reciprocal.
  • Stepping: Rotor berputar sebelum setiap huruf, mengubah jalur sirkuit secara geometris untuk setiap karakter baru.

Properti Self-Reciprocal

Karena keberadaan reflektor (Reflector B), fungsi mesin bersifat simetris. Mengenkripsi Amenghasilkan X, dan dengan setelan rotor yang identik, mengenkripsi Xakan menghasilkan A. Proses dekripsi sepenuhnya identik dengan proses enkripsi.