IDE Pengembangan Kriptografi Web • Kelompok 2
1 / 7
PROPOSAL TUGAS / SKRIPSI

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.

K2

Kelompok 2 — Teknik Informatika

Pasyah W. I. Vegananda NIM: A11.2025.16575
Anugrah Sheva Radhitya NIM: A11.2024.15933
01 • Evaluasi & Kebaruan

Latar Belakang & Mengapa Memilih Ciphertext-Autokey?

Perbandingan kelemahan metode kunci berulang pada jurnal acuan dan keunggulan keamanan Ciphertext-Autokey (CTAK).

Kondisi pada Jurnal Acuan
Metode Lama

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.
Pengembangan: Ciphertext-Autokey (CTAK)
Usulan Kami

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.
02 • Konseptual Matematis

Struktur Modulo 256 & Aliran Kunci CTAK

Bagaimana aliran kunci dibentuk dari Kunci Rahasia Awal dan umpan balik karakter Ciphertext sebelumnya.

1. Formula Matematis CTAK (Mod 256)

Misalkan panjang kunci rahasia awal adalah L (contoh: 3 atau 5 karakter):

Pembentukan Kunci Kᵢ :
• 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.
2. Perbandingan Aliran Kunci (Key Stream)

Contoh: Plaintext = INFORMATIKA (11 huruf), Kunci = prodi (5 huruf, L = 5)

A. Kunci Berulang (Jurnal Acuan):
p r o d i p r o d i p
*Pola 'prodi' berulang terus-menerus -> Rentan analisis frekuensi
B. Ciphertext-Autokey (Pengembangan CTAK):
p r o d i C[0]=185 C[1]=192 C[2]=181 C[3]=179 C[4]=187 C[5]=6
*Kunci lanjutan adalah byte Ciphertext acak -> Tidak ada pola kamus bahasa manusia
03 • Contoh Perhitungan Detail untuk Dosen

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]$).

A. Proses Enkripsi: C[i] = (P[i] + K[i]) mod 256
Panjang L = 3
1. Fase i < L (Pakai Kunci Awal "UDI"):
• 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
2. Fase i ≥ L (Kunci Habis, Ambil K[i] = C[i-3]):
• 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
Ciphertext: [160, 147, 141, 233, 225, 212]
B. Proses Dekripsi: P[i] = (C[i] - K[i] + 256) mod 256
Rekonstruksi Kunci

Penerima memegang Ciphertext dan kunci awal "UDI":

Kunci Langsung Lengkap:
K = ['U'(85), 'D'(68), 'I'(73), C[0](160), C[1](147), C[2](141)]
Perhitungan Pemulihan Teks:
• 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])
Plaintext Pulih: "KODING" (Utuh 100%)
04 • Keunggulan Operasional

Mengapa Dekripsi CTAK Sangat Cepat dan Mudah?

Keunggulan arsitektural Ciphertext-Autokey saat proses dekripsi berlangsung pada sistem web.

Mekanisme Rekonstruksi Kunci Instan

Penerima telah menerima seluruh barisan byte Ciphertext (C) dan memegang Kunci Awal ("prodi").

Penerima langsung tahu seluruh kunci: 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 256 dapat dieksekusi secara instan dan efisien pada peramban web.
Fitur Self-Synchronizing & Keamanan File
Keamanan Maksimal untuk File (PDF, DOCX, TXT):
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.
05 • Halaman Khusus Enkripsi CTAK

Simulasi Langkah demi Langkah: ENKRIPSI (CTAK)

Lihat bagaimana karakter Ciphertext yang baru dihasilkan langsung menjadi kunci untuk karakter berikutnya.

1 Input Data Pengirim
2 Aliran Kunci (Ciphertext-Autokey)
prodi + C[0]..C[5]
*Karakter 0-4 memakai 'prodi', karakter 5+ memakai byte Ciphertext sebelumnya!
3 Hasil Ciphertext (Byte Mod 256)
185, 192, 181, 179, 187, 6, 1, 9, 252, 6, 71
Tabel Komputasi Enkripsi CTAK: C[i] = (P[i] + K[i]) mod 256
Index (i) Plaintext (P) ASCII (P) Kunci (Kᵢ) Sumber Kunci Nilai Kᵢ Rumus (P + K) mod 256 Cipher Byte (Cᵢ)
06 • Halaman Khusus Dekripsi CTAK

Simulasi Langkah demi Langkah: DEKRIPSI (CTAK)

Penerima merekonstruksi seluruh kunci secara instan dari Kunci Awal dan barisan Ciphertext yang diterima.

1 Input Data Penerima
2 Kunci Rekonstruksi Instan
prodi + C[0]..C[5]
*Kunci langsung terbentuk utuh karena seluruh Ciphertext sudah dipegang penerima!
3 Hasil Plaintext Asli Terpulihkan
"INFORMATIKA"
Tabel Komputasi Dekripsi CTAK: P[i] = (C[i] - K[i] + 256) mod 256
Index (i) Cipher Byte (Cᵢ) Kunci Dipakai (Kᵢ) Sumber Kunci Nilai Kᵢ Rumus (C - K + 256) mod 256 Plaintext Pulih (Pᵢ)