Pengembangan Pengamanan Data Menggunakan Modifikasi
Ciphertext-Autokey Vigenere Cipher (CTAK) & Modulo 256 Berbasis Web
Peningkatan ketahanan sandi klasik terhadap kriptanalisis kamus kata melalui integrasi umpan balik teks sandi (Ciphertext Feedback Stream) dan visualisasi komputasi byte terenkripsi pada web.
Kelompok 2 — Teknik Informatika
Latar Belakang & Mengapa Memilih Ciphertext-Autokey?
Perbandingan kelemahan metode kunci berulang pada jurnal acuan dan keunggulan keamanan Ciphertext-Autokey (CTAK).
Vigenere ASCII 256 Konvensional (Periodic Key):
- Menggunakan penambahan modulo 256 untuk mendukung berbagai ekstensi file (Doc, PDF, PPT, TXT).
- Kelemahan Fatal: Kunci diulang terus-menerus hingga sepanjang dokumen (Repeating Key).
- Celah Kriptanalisis: Mudah ditebak panjang kuncinya menggunakan uji Kasiski karena jarak pola pengulangan yang simetris.
- Tidak memiliki mekanisme pengacakan kunci dinamis.
Keunggulan Penggunaan Ciphertext sebagai Kunci Lanjutan:
- Kebal Tebakan Kamus (Known-Plaintext): Berbeda dengan Plaintext-Autokey yang rentan jika kata awal ditebak, pada CTAK kuncinya adalah byte ciphertext yang sudah teracak.
- Non-Periodic Stream: Kunci tidak pernah berulang dalam interval periodik, menggugurkan metode analisis frekuensi klasik.
- Dekripsi Seketika (O(1)): Penerima tidak perlu menunggu plaintext terbuka satu per satu karena seluruh ciphertext sudah tersedia untuk menyusun kunci.
- Self-Synchronizing: Kerusakan transmisi byte hanya berdampak lokal dan tidak merusak keseluruhan dokumen.
Struktur Modulo 256 & Aliran Kunci CTAK
Bagaimana aliran kunci dibentuk dari Kunci Rahasia Awal dan umpan balik karakter Ciphertext sebelumnya.
Misalkan panjang kunci rahasia awal adalah L (contoh: 3 atau 5 karakter):
• Jika i < L : Kᵢ = KunciAwal[i]
• Jika i ≥ L : Kᵢ = C[i - L] (Byte Ciphertext Sebelumnya)
Enkripsi : C[i] = (P[i] + K[i]) mod 256
Dekripsi : P[i] = (C[i] - K[i] + 256) mod 256
- Mencakup seluruh ruang 256 karakter ASCII (0–255).
- Byte ciphertext yang sudah teracak berfungsi sebagai pseudo-random mask untuk karakter berikutnya.
Contoh: Plaintext = INFORMATIKA (11 huruf), Kunci = prodi (5 huruf, L = 5)
Studi Kasus Matematis: Plaintext "KODING" & Kunci "UDI"
Contoh manual langkah demi langkah memperlihatkan transisi saat $i < L$ (kunci awal) dan saat $i \ge L$ (umpan balik ciphertext $C[i-L]$).
• i=0 : 'K'(75) + 'U'(85) = 160 mod 256 → C[0] = 160
• i=1 : 'O'(79) + 'D'(68) = 147 mod 256 → C[1] = 147
• i=2 : 'D'(68) + 'I'(73) = 141 mod 256 → C[2] = 141
• i=3 : 'I'(73) + C[0](160) = 233 mod 256 → C[3] = 233
• i=4 : 'N'(78) + C[1](147) = 225 mod 256 → C[4] = 225
• i=5 : 'G'(71) + C[2](141) = 212 mod 256 → C[5] = 212
Penerima memegang Ciphertext dan kunci awal "UDI":
K = ['U'(85), 'D'(68), 'I'(73), C[0](160), C[1](147), C[2](141)]
• i=0 : (160 - 85 + 256) mod 256 = 75 → 'K'
• i=1 : (147 - 68 + 256) mod 256 = 79 → 'O'
• i=2 : (141 - 73 + 256) mod 256 = 68 → 'D'
• i=3 : (233 - 160 + 256) mod 256 = 73 → 'I' (Pakai C[0])
• i=4 : (225 - 147 + 256) mod 256 = 78 → 'N' (Pakai C[1])
• i=5 : (212 - 141 + 256) mod 256 = 71 → 'G' (Pakai C[2])
Mengapa Dekripsi CTAK Sangat Cepat dan Mudah?
Keunggulan arsitektural Ciphertext-Autokey saat proses dekripsi berlangsung pada sistem web.
Penerima telah menerima seluruh barisan byte Ciphertext (C) dan memegang Kunci Awal ("prodi").
K = [ 'p', 'r', 'o', 'd', 'i', C[0], C[1], C[2], C[3], C[4], ... ]
- Tanpa Menunggu: Penerima tidak perlu menunggu karakter plaintext ke-0 terdekripsi untuk mengetahui kunci ke-5.
- Proses Paralel: Seluruh formula
P[i] = (C[i] - K[i] + 256) mod 256dapat dieksekusi secara instan dan efisien pada peramban web.
Jika penyusup mencoba membaca pola, byte ciphertext acak menyamarkan struktur header dan konten file.
- Kebal Uji Kasiski: Periodisitas kunci hilang sama sekali.
- Ketahanan Transmisi Jaringan: Jika 1 byte ciphertext rusak di jaringan, hanya 2 karakter yang terdampak, sedangkan seluruh isi dokumen setelahnya tetap bisa terbaca sempurna.
- Validasi Integritas: Website dilengkapi SHA-256 Checksum untuk memastikan dokumen tidak dimanipulasi pihak ketiga.
Simulasi Langkah demi Langkah: ENKRIPSI (CTAK)
Lihat bagaimana karakter Ciphertext yang baru dihasilkan langsung menjadi kunci untuk karakter berikutnya.
| Index (i) | Plaintext (P) | ASCII (P) | Kunci (Kᵢ) | Sumber Kunci | Nilai Kᵢ | Rumus (P + K) mod 256 | Cipher Byte (Cᵢ) |
|---|
Simulasi Langkah demi Langkah: DEKRIPSI (CTAK)
Penerima merekonstruksi seluruh kunci secara instan dari Kunci Awal dan barisan Ciphertext yang diterima.
| Index (i) | Cipher Byte (Cᵢ) | Kunci Dipakai (Kᵢ) | Sumber Kunci | Nilai Kᵢ | Rumus (C - K + 256) mod 256 | Plaintext Pulih (Pᵢ) |
|---|