✖

Sifer Vigenère

Sifer Vigenère ialah sifer terkenal yang menggunakan beberapa abjad sifer. Oleh sebab itu, sifer ini jauh lebih tahan terhadap analisis kekerapan klasik.

Prinsip penyulitan dan penyahsulitan

Cara penyulitan boleh diterangkan dengan bantuan sifer Caesar. Kunci sifer Vigenère ialah sebarang perkataan yang terdiri daripada huruf abjad Rumi, iaitu a—z. Misalnya, kuncinya boleh jadi perkataan “bcf”. Untuk menyulitkan, kita menulis teks biasa dan terus di bawahnya kunci. Kunci itu diulang sehingga panjangnya sama dengan panjang teks biasa. Bagi teks biasa “selamatpagi”, hasilnya seperti berikut:

Teks biasa:selamatpagi
Kunci:bcfbcfbcfbc

Sekarang setiap huruf teks biasa disulitkan dengan sifer Caesar menggunakan kunci yang sepadan, iaitu kunci dalam lajur yang sama. Sifer Caesar ialah sifer anjakan: kunci menentukan berapa huruf huruf teks biasa itu perlu dianjakkan, diukur dari huruf “a”. Misalnya, huruf “b” bermaksud anjakan satu huruf “ke kanan” dalam abjad. Huruf “d” bermaksud anjakan tiga huruf ke kanan. Dengan sifer Caesar dan kunci “b”, perkataan “helo” disulitkan menjadi “ifmp”.

Dalam sifer Caesar, seluruh teks disulitkan dengan satu huruf sahaja. Dalam sifer Vigenère pula, teks biasanya disulitkan dengan beberapa huruf. Penyulitan teks “selamatpagi” dengan kunci “bcf” memberikan hasil berikut:

Teks biasa:selamatpagi
Kunci:bcfbcfbcfbc
Teks sifer:tgqbofurfhk

Huruf pertama “s” disulitkan dengan kunci “b”, iaitu anjakan satu huruf, maka hasilnya huruf “t”. Huruf “e” disulitkan dengan kunci “c”, iaitu anjakan dua huruf, maka hasilnya huruf “g”. Dan seterusnya.

Penyahsulitan dilakukan dengan cara yang sama, tetapi huruf dianjakkan “ke kiri”, bukan “ke kanan”.

Alat dalam talian untuk menyulitkan dan menyahsulitkan sifer Vigenère

Teks:
Kunci:

Segi empat sama Vigenère

Seluruh proses penyulitan dan penyahsulitan juga boleh diterangkan dengan segi empat sama Vigenère, iaitu alat bantu yang boleh digunakan semasa menyulitkan. Segi empat sama Vigenère ialah jadual dengan 26 baris dan 26 lajur. Setiap baris mengandungi abjad, dan abjad dalam setiap baris dianjakkan satu huruf berbanding baris sebelumnya:

Dengan segi empat sama Vigenère ini, penyulitan dilakukan seperti berikut: ambil huruf teks biasa dan cari baris yang bermula dengan huruf itu. Kemudian ambil huruf kunci dan cari lajurnya. Huruf teks sifer ialah huruf pada persilangan baris dan lajur tersebut.

Dalam contoh sebelum ini, kita menyulitkan “selamatpagi” dengan kunci “bcf”. Jadi, kita mencari baris yang bermula dengan “s” dan lajur yang bermula dengan “b”. Pada persilangan baris dan lajur itu terdapat huruf “t”, iaitu huruf teks sifer yang dicari.

Penyahsulitan dilakukan secara terbalik. Jika kita ingin menyahsulitkan huruf “t” dengan kunci “b”, kita mencari lajur “b”, kemudian mencari baris dalam lajur itu yang mengandungi huruf “t”. Huruf di awal baris tersebut ialah huruf teks biasa.

Kekuatan utama sifer Vigenère

Mengapakah sifer Vigenère begitu kuat pada zamannya? Sebabnya, sifer ini menyukarkan analisis kekerapan klasik. Misalnya, dalam sifer Caesar, dua huruf yang sama dalam teks biasa sentiasa disulitkan menjadi huruf yang sama dalam teks sifer. Dalam sifer Vigenère, hal ini tidak berlaku, sekurang-kurangnya tidak selalu.

Jika kita menyulitkan teks “Bagus bagus bagus” dengan kunci “buku”, kita memperoleh teks sifer “cuqot vkavm luhoc”. Walaupun teks biasa mengandungi tiga perkataan yang sama, setiap perkataan dalam teks sifer kelihatan berbeza sama sekali. Perkataan di tengah, “vkavm”, malah mengandungi dua huruf “v” yang terhasil daripada dua huruf teks biasa yang berlainan: “b” dan “u”.

Pemilihan kunci

Keselamatan sifer Vigenère sangat bergantung pada pemilihan kunci. Dalam sifer Caesar, tidak kira huruf mana yang kita pilih, asalkan bukan “a”. Dalam sifer Vigenère pula, kunci yang berlainan memberikan tahap keselamatan yang berlainan.

  • Kunci yang terdiri daripada satu huruf sahaja menjadikan sifer Vigenère sifer Caesar semula.
  • Kunci yang terdiri daripada beberapa huruf yang sama, misalnya “mmm”, juga menghasilkan sifer Caesar.
  • Teks yang disulitkan dengan kunci pendek sangat mudah dipecahkan.
  • Teks sifer yang cukup panjang dan disulitkan dengan kunci yang tidak terlalu pendek (sekitar lima puluh aksara) juga sangat mudah dipecahkan. Dengan komputer, hal ini mengambil masa beberapa saat sahaja.
  • Teks yang disulitkan dengan kunci yang benar-benar rawak dan sama panjang dengan teks itu sendiri mustahil dipecahkan.