Cipher substitusi adalah salah satu teknik kriptografi klasik yang menggantikan tiap simbol (biasanya huruf) dalam pesan asli dengan simbol lain menurut suatu aturan tetap. Ide dasarnya sangat sederhana: setiap huruf AZ diganti dengan huruf lain, sehingga orang yang tidak mengetahui aturan penggantiannya tidak dapat membaca pesan secara langsung.
Teknik substitusi telah dipakai sejak zaman kuno. Contoh paling terkenal adalah Caesar Cipher yang dipopulerkan oleh Julius Caesar pada abad pertama SM. Pada masa Perang Dunia I dan II, institusiinstitusi militer mengembangkan varian yang lebih kompleks, namun dasar substitusi tetap menjadi blok bangunan penting dalam sejarah kriptografi.
Cipher substitusi bekerja dengan tiga komponen utama:
Dalam contoh di atas, huruf A diganti menjadi Q, B menjadi W, C menjadi E, dan seterusnya. Jika pesan HELLO dienkripsi, hasilnya menjadi ITSSG.
Setiap huruf plaintext diganti dengan satu huruf ciphertext yang tetap sepanjang seluruh pesan. Contoh paling umum ialah Caesar Cipher (rotasi tetap, misalnya ROT13) dan Substitusi Acak (penyusunan urutan alfabet secara acak).
Penggantian tidak bersifat tetap; posisi huruf dalam pesan mempengaruhi alfabet yang digunakan. Contoh paling terkenal ialah Vigenre Cipher, yang menggunakan sebuah kata kunci untuk menggerakkan beberapa alfabet Caesar secara bergantian.
Setiap huruf plaintext dapat dipetakan ke beberapa simbol ciphertext yang berbeda, sehingga frekuensi kemunculan huruf dalam ciphertext menjadi lebih merata dan analisis frekuensi menjadi lebih sulit. Contohnya, huruf E dapat diganti dengan X, Y atau Z.
Sistem seperti OneTime Pad (OTP) menggunakan kunci yang sama panjangnya dengan pesan dan bersifat acak sempurna. Meskipun secara teknis termasuk dalam kategori substitusi, OTP memberikan keamanan yang tidak dapat dipatahkan bila kunci dijaga kerahasiaannya.
Cipher substitusi monoalphabetic relatif lemah karena:
Polialphabetic meningkatkan keamanan karena menghancurkan pola frekuensi, tetapi masih dapat dipecahkan dengan metode Kasiski atau indeks koinsiden bila panjang kunci diketahui.
Homofonik dan OTP mengurangi atau menghilangkan kemampuan analisis statistik, namun memerlukan (a) mekanisme distribusi simbol yang lebih rumit, (b) kunci yang panjang dan aman.
Berikut contoh kode sederhana untuk membuat Caesar Cipher (rotasi 3) pada halaman web.
function caesarEncrypt(text, shift) { const a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; const b = a.slice(shift) + a.slice(0, shift); let result = ""; for (let ch of text.toUpperCase()) { const idx = a.indexOf(ch); result += idx === -1 ? ch : b[idx]; } return result;}console.log(caesarEncrypt("HELLO WORLD", 3)); // KHOOR ZRUOG Untuk yang ingin mendalami lebih jauh, berikut beberapa sumber:
Cipher substitusi tetap menjadi dasar penting dalam dunia kriptografi. Meskipun tidak lagi cukup kuat untuk melindungi data modern, memahami prinsipprinsipnya memberikan wawasan yang berharga tentang bagaimana sandi bekerja, serta membuka pintu menuju teknik kriptografi yang lebih canggih seperti RSA, AES, dan algoritma berbasis kurva.
