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