Kriptanalisis Sandi Vigenère

dari kedua persamaan tersebut, maka dapat ditemukan kunci yang diinginkan. 4 Serangan chosen-ciphertext: Pilih sebagai teks-sandi. Serangan ini akan menghasilkan fungsi dekripsi dalam bentuk dimana dan . Kita dapat menyelesaikan dan menghasilkan fungsi dekripsi Dengan mensubstitusikan nilai dan maka . Tetapi, mengapa repot-repot melakukan hal demikian? Padahal kita telah mempunyai fungsi dekripsi yang kita inginkan.

3. Kriptanalisis Sandi Vigenère

Sampai pada pertengahan abad 19, Sandi Vigenère telah dianggap tak terpecahkan unbreakable dan memperoleh gelar le chiffre indèchiffrable „the indecipherable cipher‟ atau „sandi tidak terbaca‟. Tetapi, pada tahun 1863, F. W. Kasiski menemukan sebuah metode untuk kriptanalisis Sandi Vigenère. Menentukan Panjang Kata-Kunci Pada bagian ini akan dijelaskan beberapa metode untuk kriptanalisis Sandi Vigenère. Langkah pertama adalah menentukan panjang kata-kunci, yang akan dinotasikan dengan . Terdapat dua cara yang dapat digunakan untuk menentukan panjang kata-kunci. Cara pertama disebut Uji Kasiski Kasiski’s Test dan cara kedua akan menggunakan indeks koinsiden index of coincidence. Uji Kasiski telah dikenalkan oleh Friedrich Kasiski pada tahun 1863. Tetapi, nampaknya uji ini telah ditemukan lebih awal oleh Charles Babbage sekitar tahun 1854. Ide utama dibalik serangan Kasiski ini adalah pengamatan yang berulang bagian dari teks-asal dienkripsi dengan bagian yang sama dari kunci harus menghasilkan pola teks-sandi yang identik serupa. Oleh karena itu, dengan asumsi tidak ada koinsiden kebetulan, seseorang akan menganggap bahwa bagian teks-asal yang sama bersesuaian dengan teks-sandi yang berulang dienkripsi dengan posisi yang sama dalam kunci yang digunakan. Oleh karena itu, banyaknya simbol antara awal dari pola teks-sandi yang berulang harus merupakan kelipatan panjang- kunci banyaknya karakter dalam kunci. Sebagai contoh, jika teks-sandi yang berulang adalah disebut trigram dan jika banyaknya huruf antara dan kejadian dalam trigram yang berikutnya, misal, adalah , dan hal ini bukan kebetulan, maka merupakan kelipatan panjang- kunci. Karena ini memungkinkan bahwa beberapa bagian-bagian teks- sandi yang berulang merupakan kebetulan, suatu metode untuk menganalisis mereka disebut Kasiski examination adalah dengan menghitung Faktor Persekutuan Terbesar dari kumpulan semua jarak antara bagian yang berulang. Kemudian memilih faktor terbesar yang lebih sering terjadi diantara ini merupakan panjang-kunci yang memungkinkan. Contoh berikut merupakan ilustrasi Uji Kasiski untuk menentukan panjang-kunci. Contoh 3.21 Andaikan bahwa “ ” adalah kunci dan “ ” adalah teks-asal. Maka berikut merupakan hasil enkripsi Sandi Vigenere. Perhatikan bahwa adalah blok yang muncul dua kali, di awal dan di tengah pada tabel pertama. Jarak antara kejadian pertama dengan kedua adalah . Begitu juga, trigram muncul dalam tabel pertama dan muncul lagi pada tabel kedua setelah karakter. Oleh karena itu, karena , maka merupakan panjang-kunci yang mungkin dengan Kasiski examination, yang pasti benar. Petunjuk selanjutnya mengenai nilai dapat diperoleh dengan indeks koinsiden index of coincidence. Konsep ini telah didefinisikan oleh William Friedman pada tahun 1920 sebagai berikut: Definisi 3.10 Indeks Koinsiden Andaikan merupakan rangkaian dari karakter alfabet. Indeks Koinsiden Index of Coincidence dari , dinotasikan , didefinisikan sebagai probabilitas dari dua elemen acak dari yang serupa. Andaikan frekuensi dari , , , . . . , di dalam ditulis sebagai , , . . . , . Dua elemen dapat dipilih dengan cara. Untuk setiap , , terdapat cara dalam memilih kedua elemen menjadi . Oleh karena itu, diperoleh rumus: ∑ dengan untuk , , , . . . , . Sehingga diperoleh: ∑ Andaikan merupakan rangkaian teks bahasa Inggris. Dengan menotasikan probabilitas kejadian yang diharapkan dari huruf-huruf , , . . . , dalam Tabel 3.4 sebagai , , . . . , . Maka diharapkan ∑ , karena probabilitas dari dua elemen acak yang keduanya adalah , probabilitas keduanya adalah , dan seterusnya. Alasan yang sama diterapkan jika adalah teks-sandi yang diperoleh menggunakan suatu sandi monooalfabetik. Dalam hal ini, probabilitas setiap dua elemen acak akan berubah, tetapi kuantitas ∑ tidak akan berubah. Misal, diawali dengan rangkaian teks-sandi yang telah dikonstruksi menggunakan Sandi Vigenère. Definisikan buah rangkaian bagian substring dari , ditulis sebagai , , . . . , , dengan menuliskan teks-sandi dalam matriks berukuran per kolom. Baris-baris dari matriks ini adalah substring dimana . Disisi lain yang dimiliki adalah: sehingga diperoleh matriks: Jika , , . . . , dikonstruksikan dengan cara demikian dan adalah panjang kata-kunci yang sesungguhnya, maka setiap nilai secara garis besar harus sama dengan . Disisi lain, jika bukan panjang kata-kunci, maka substring akan terlihat lebih acak, karena substring tersebut akan dihasilkan dengan proses enkripsi geser pada kunci yang berbeda. Perhatikan bahwa rangkaian yang sepenuhnya acak akan mempunyai indeks koinsiden: Kedua nilai dan berbeda cukup jauh untuk dapat menentukan panjang kata-kunci yang tepat dengan metode ini atau menegaskan perkiraan yang telah dibuat menggunakan uji Kasiski. Dua teknik ini akan digambarkan dengan contoh berikut. Contoh 3.22: Misalkan teks-sandi berikut diperoleh dari suatu Sandi Vigenère Pertama adalah dengan mencoba uji Kasiski. Teks-sandi muncul di lima tempat dalam teks-sandi, yaitu dimulai pada posisi , , , , dan . Jarak dari kemunculan pertama dengan keempat kemunculan lainnya secara berturut-turut adalah , , , dan . Faktor persekutuan terbesar dari keempat bilangan bulat tersebut adalah , sehingga kemungkinan besar merupakan panjang kata- kunci. Coba perhatikan jika perhitungan indeks koinsiden memberikan kesimpulan yang sama. Untuk , dengan satu buah yang dimiliki yaitu: . dan frekuensi untuk masing-masing huruf adalah: Alfabet Frekuensi Alfabet Frekuensi A 19 N 15 B 15 O 7 C 8 P 8 D 7 Q 10 E 26 R 24 F 6 S 9 G 15 T 14 H 17 U 4 I 11 V 10 J 7 W 16 K 10 X 20 L 12 Y 3 M 17 Z 3 Maka indeks koinsidennya adalah: ∑ Untuk , dengan dua buah yang dimiliki yaitu: . . dan frekuensi masing-masing huruf untuk kedua adalah: Alfa bet Freq Alfa bet Freq Alfa bet Freq Alfa bet Freq A 10 N 7 A 9 N 8 B 8 O 3 B 7 O 4 C 2 P 4 C 6 P 4 D 3 Q 2 D 4 Q 8 E 14 R 11 E 12 R 13 Maka indeks koinsidennya adalah: dan Sedangkan untuk , dengan tiga buah yang dimiliki yaitu: . F 2 S 5 F 4 S 4 G 8 T 7 G 7 T 7 H 11 U 1 H 6 U 3 I 5 V 5 I 6 V 5 J 4 W 8 J 3 W 8 K 6 X 12 K 4 X 8 L 6 Y 1 L 6 Y 2 M 9 Z 3 M 8 Z . . Dan frekuensi masing-masing huruf untuk ketiga adalah: Maka indeks koinsidennya adalah: Alfa bet Freq Alfa bet Freq Alfa bet Freq Alfa bet Freq Alfa bet Freq Alf abet Freq A 6 N 2 A 7 N 9 A 6 N 4 B 6 O 6 B 5 O 1 B 4 O C 4 P 4 C 2 P 2 C 2 P 2 D 3 Q 2 D 2 Q 4 D 2 Q 4 E 8 R 7 E 8 R 8 E 10 R 9 F 4 S 2 F S 3 F 2 S 4 G 10 T 1 G 5 T 6 G T 7 H 3 U 2 H 8 U 1 H 6 U 1 I 3 V 4 I 5 V 3 I 3 V 3 J 2 W 7 J 2 W 1 J 3 W 8 K 4 X 5 K 1 X 6 K 5 X 9 L 1 Y L 8 Y L 3 Y 3 M 7 Z 2 M 7 Z M 3 Z 1 Dengan cara yang sama, untuk maka akan diperoleh indeks koinsiden yaitu: , , , . Kemudian untuk maka diperoleh indeks koinsiden yaitu: , , , , dan . Karena nilai-nilai indeks koinsiden untuk berada disekitar , maka hal ini memberikan petunjuk yang kuat bahwa panjang kata-kunci adalah . Sebagai ilustrasi, untuk , diperoleh , , , , yang merupakan baris-baris dari matriks berikut: . Menentukan Kata-Kunci Andaikan bahwa panjaang kata-kunci adalah , bagaimana cara menentukan kunci yang sebenarnya? Berikut ini akan digambarkan metode sederhana dan efektif. Misalkan dan , , . . . , merupakan frekuensi , , . . . , secara berturut-turut dalam . Dimisalkan juga ⁄ merupakan panjang . Maka distribusi probabilitas dari huruf dalam adalah: Ingat kembali bahwa diperoleh dengan enkripsi geser himpunan bagian dari elemen-elemen teks-asal menggunakan pergeseran . Oleh karena itu, diharapkan bahwa distribusi probabilitas setelah pergeseran, yaitu akan lebih mendekati distribusi probabilitas yang ideal , , . . . , seperti yang terdapat pada Tabel 3.4, dimana semua indeks dari frekuensi di atas dihitung dalam modulo . Andaikan bahwa dan didefinisikan kwantitas ∑ Jika , maka akan diduga bahwa ∑ , Sebagai pertimbangan untuk indeks koinsiden. Jika , maka secara signifikan akan kurang dari . Teknik ini diharapkan dapat membantu dalam menentukan nilai yang tepat untuk setiap . Contoh 3.23: Lanjutan Misalkan panjang kata-kunci telah diketahui yaitu . Kemudian hitung nilai seperti yang telah dinyatakan di atas, untuk . Namun sebelumnya perlu diketahui bahwa untuk maka dimiliki lima buah yaitu: , , , , . Sehingga untuk diperoleh . . . Cara yang sama juga dilakukan untuk , , dan . Secara keseluruhan nilai-nilai tersebut dapat dilihat dalam Tabel 3.9 berikut. i Nilai 1 0.035 0.061 0.042 0.031 0.039 0.043 0.036 0.032 0.036 0.037 0.040 0.033 0.035 0.038 0.049 0.039 0.038 0.043 0.028 0.045 0.042 0.028 0.036 0.036 0.048 0.030 2 0.069 0.031 0.034 0.044 0.042 0.037 0.032 0.045 0.032 0.035 0.040 0.034 0.044 0.046 0.043 0.034 0.046 0.032 0.036 0.042 0.026 0.033 0.037 0.047 0.029 0.032 3 0.048 0.049 0.027 0.029 0.035 0.035 0.042 0.031 0.034 0.043 0.035 0.034 0.044 0.066 0.036 0.034 0.035 0.035 0.038 0.038 0.046 0.035 0.036 0.040 0.032 0.045 4 0.045 0.033 0.037 0.032 0.033 0.050 0.033 0.043 0.034 0.038 0.040 0.034 0.060 0.033 0.039 0.034 0.029 0.044 0.034 0.036 0.038 0.034 0.040 0.035 0.050 0.044 5 0.034 0.037 0.044 0.031 0.033 0.072 0.035 0.032 0.037 0.044 0.036 0.027 0.047 0.037 0.031 0.037 0.036 0.048 0.043 0.045 0.036 0.038 0.032 0.037 0.042 0.029 Tabel 3.9: Daftar Nilai Untuk menguji keakuratan nilai pada tabel di atas dapat dihitung dengan menggunakan program . Untuk setiap dicari nilai yang dekat dengan . Pada tersebut akan menentukan pergeseran- pergeseran , , . . . , . Berdasarkan data pada Tabel 3.9, dapat dilihat bahwa kunci yang mungkin digunakan adalah . Oleh karena itu, diperoleh kata-kunci yang mungkin digunakan adalah . Dengan kata-kunci ini diperoleh hasil dekripsinya yaitu: Untuk lebih tepatnya berbunyi:

4. Kriptanalisis Sandi Hill