2. Kriptanalisis Sandi Affine
Sebagai ilustrasi sederhana tentang bagaimana kriptanalisis dapat dilakukan menggunakan data statistik. Perhatian pada contoh berikut ini.
Contoh 3.20: Misalkan diperoleh teks-sandi dari sebuah sandi Affine seperti berikut:
Analisis frekuensi sandi ini disajikan dalam Tabel 3.8 berikut.
Tabel 3.8: Frekuensi Kemunculan alfabet teks-sandi pada Contoh 3.19
Terdapat karakter dalam teks-sandi di atas, dan ini cukup untuk
melakukan kriptanalisis suatu Sandi Affine. Karakter yang lebih sering muncul dalam teks-sandi adalah
kali muncul, kali muncul,
Alfabet Frekuensi
Alfabet Frekuensi
A 2
N 1
B 1
O 1
C P
2 D
7 Q
E 5
R 8
F 4
S 3
G T
H 5
U 2
I V
4 J
W K
5 X
2 L
2 Y
1 M
2 Z
, , masing-masing kali muncul, dan , , masing-masing kali muncul. Sebagai pengandaian pertama, dapat dijadikan hipotesa
bahwa merupakan hasil enkripsi dari dan merupakan hasil enkripsi
dari , karena dan merupakan huruf yang lebih sering muncul
berturut-turut menurut Tabel 3.4. Menurut Tabel 3.1 maka diperoleh: dan
.
Perlu diingat bahwa fungsi enkripsi dalam Sandi Affine berbentuk , dimana dan merupakan variabel.
Sehingga diperoleh dua persamaan linear dengan dua variabel:
Sistem persamaan ini mempunyai penyelesaian tunggal. Untuk mengetahuinya coba perhatikan perhitungan berikut:
– Perlu diingat bahwa
dan anggota dan semua perhitungan
menggunakan modulo . Sehingga dapat ditulis bentuk ekuivalen,
yaitu: .
Dari kekongruenan di atas, diperoleh nilai karena
,
Kemudian, dengan menggunakan nilai yang diperoleh dan
menggunakan persamaan , maka nilai dapat dicari dengan cara
mensubstitusi nilai sehingga:
.
Dengan demikian, diperoleh nilai . Berarti,
dan merupakan penyelesaian dari sistem persamaan tersebut.
Penyelesaian tersebut menjadi kunci yang digunakan pada Sandi Affine dari teks-sandi yang ditangkap. Namun, karena
maka kunci ini bukan kunci yang valid. Jadi, hipotesa yang dibuat salah.
Hipotesa berikutnya yaitu merupakan hasil enkripsi dan
merupakan hasil enkripsi . Dengan cara yang sama dengan hipotesa
sebelumnya, diperoleh sistem persamaan linear:
Dengan cara yang sama, diperoleh . Namun, kunci tersebut
masih tidak valid karena . Jadi, hipotesa ini salah.
Namun, jika diambil sebagai hasil enkripsi dan sebagai hasil
enkripsi maka
Dihasilkan persamaan
– Dari hasil tersebut diperoleh
, karena
Nilai disubstitusikan ke persamaan pertama, sehingga diperoleh
.
Jadi, dari teks-asal yang diperoleh dapat disimpulkan bahwa kunci merupakan kunci yang sesuai teks-sandi yang ditangkap. Ini
akan menjadikan kunci tersebut valid, karena . Setelah
itu, dengan menghitung fungsi dekripsi yang bersesuaian dengan , dan kemudian mendekripsikan teks-sandi yang dimiliki. Dari
hasil dekripsi tersebut dapat dilihat apakah akan menghasilkan teks yang
berarti atau tidak mempunyai arti sama sekali. Ini akan menegaskan kebenaran kunci
yang dihasilkan. Setelah didekripsi teks-sandi tersebut berbunyi:
“ ”
Ini menyimpulkan bahwa telah ditemukan kunci sebagai kunci
yang digunakan dalam enkripsi pesan. Ini akan menegaskan kebenaran kunci
yang dihasilkan.
Mari perhatikan bagaimana keempat jenis serangan yang telah diketahui sebelumnya bekerja.
1 Serangan ciphertext-only: Pencarian menyeluruh akan melewati
semua kunci, yaitu kunci yang akan lebih lama daripada
pencarian menyeluruh dalam kasus Sandi Geser, tetapi akan sangat mudah dilakukan dengan computer. Ketika semua kemungkinan
kunci telah dicoba, potongan teks-sandi yang wajar, katakan sekitar karakter, mungkin akan bersesuaian dengan tepat satu teks-asal
yang bermakna, dengan demikian mengikuti penentuan kunci tersebut. Ini juga mungkin untuk menggunakan penghitungan
frekuensi, meskipun akan membutuhkan teks yang lebih panjang. 2
Serangan known-plaintext: Dengan sedikit keberuntungan, dengan dua huruf teks-asal dan huruf teks-sandi yang bersesuaian diketahui cukup
untuk menentukan kunci yang digunakan. Dalam sembarang kasus, banyaknya kemungkinan untuk kunci cukup dengan melakukan
mengurangkan. Sebagai contoh, andaikan teks-asal dimulai dengan dan teks-sandi yang bersesuaian adalah
. Dalam bilangan, ini berarti bahwa
dipetakan ke dan dipetakan ke . Oleh karena itu, diperoleh persamaan
dan . Dengan mengurangkan kedua persamaan
– ,
yang penyelesaiannya adalah tunggal, yaitu . Dengan
menggunakan persamaan pertama, diperoleh
. 3
Serangan chosen-plaintext: Pilih sebagai teks-asal. Karakter pertama teks-sandi akan menghasilkan
. dan karakter kedua
.
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