Professional Documents
Culture Documents
Disusun
untuk memenuhi tugas akhir mata kuliah
Keamanan Sistem Lanjut (EC 7010)
Nama mahasiswa
Sigit Susilo
NIM.23203127
ABSTRAK
ii
DAFTAR ISI
iii
DAFTAR GAMBAR
iv
DAFTAR TABEL
BAB I
PENDAHULUAN
1.2 Tujuan
Berdasarkan latar belakang di atas, tugas akhir EC 7010 ini bertujuan
untuk:
• Dapat menganalisa dan mempelajari kode sandi SPN dasar, melalui
substitusi, permutasi dan pencampuran kunci.
• Dapat menganalisa dan mempelajari attack dasar, komponen cipher,
karakteristik diferensial, bit kunci.
1
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
2
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
BAB II
LANDASAN TEORI
2.1 Komunikasi
Macam-macam layanan komunikasi di internet, diantaranya adalah web,
e-mail, milis dan sebagainya. Dengan semakin maraknya orang menggunakan
layanan internet tersebut, maka permasalahanpun bermunculan, apalagi
ditambah dengan adanya hacker dan cracker. Banyak orang kemudian
berusaha menyiasati bagaimana cara mengamankan informasi yang
dikomunikasikan dan bagaimana cara mendeteksi keaslian dari informasi
yang diterimanya.
Informasi yang dapat dibaca disebut sebagai plaintext (cleartext). Teknik
untuk membuat pesan menjadi tidak dapat dibaca disebut enkripsi. Pesan
yang tidak dapat dibaca disebut ciphertext. Proses yang merupakan kebalikan
dari enkripsi disebut dekripsi. Jadi dekripsi akan membuat ciphertext menjadi
plaintext. Sedangkan seni dan ilmu untuk menjaga keamanan pesan disebut
sebagai kriptografi. Dan ahlinya disebut sebagai cryptographer. Cryptanalyst
merupakan orang yang melakukan cryptanalys, yaitu seni dan ilmu untuk
memecahkan ciphertext menjadi plaintext tanpa melalui cara yang seharusnya
(dekripsi).
Jadi cryptanalysis merupakan kebalikan dari kriptografi. Cabang
matematika yang mencakup kriptografi dan cryptanalysis disebut cryptology
dan pelakunya disebut cryptologists. Suatu kriptosistem adalah algoritma
kriptografi ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-
kuncinya.
3
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
4
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
2.4 Cryptanalysis
Tugas utama kriptografi adalah untuk menjaga agar baik plaintext
maupun kunci ataupun keduanya tetap terjaga kerahasiannya dari penyadap
(disebut juga sebagai lawan, penyerang, pencegat, penyelundup pesan,
musuh, attacker dan sebagainya). Pencegat pesan rahasia diasumsikan
mempunyai akses yang lengkap ke dalam saluran komunikasi antara pengirim
5
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
dan penerima. Ini sangat mudah terjadi pada jalur internet dan saluran
telepon.
Cryptanalysis (analisis sandi) adalah ilmu untuk mendapatkan plaintext
pesan tanpa harus mengetahui kunci secara wajar. Pemecahan sandi rahasia
yang berhasil akan menghasilkan plaintext dan kunci. Analisis sandi juga
dapat menemukan kelemahan dalam kriptosistem yang pada akhirnya dapat
menemukan kunci atau plaintext. Kehilangan kunci melalui peralatan
noncryptanalytic disebut compromise. Dengan kata lain sandi merupakan
kebalikan dari kriptografi.Usaha analisis sandi disebut juga dengan attack
(serangan).
Lars Knudsen menggolongkan berbagai macam jenis pemecahan algoritma :
• Total break. Seorang analis berhasil menemukan kunci (K) yang
digunakan untuk melindungi data-data sedemikian sehingga D k (C) = P.
6
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
ocx), file suara (wav, mp3) dan sebagainya. File yang telah disandikan
disebut ciphertext. Enkripsi adalah proses pengubahan pesan asal
menjadi karakter yang tidak dapat dibaca. Sedangkan dekripsi adalah
proses pengubahan karakter yang tidak dapat dibaca menjadi pesan
asal.
Cryptanalyst K’
P’
P C P
Sumber Enkriptor Dekriptor Tujuan
Pesan K Saluran yang tidak aman
Sumber
Kunci
8
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
2) Algoritma Asimetri
Algoritma Asimetri juga disebut algoritma kunci publik. Kunci yang
digunakan untuk enkripsi berbeda dengan kunci yang digunakan
untuk dekripsi. Kunci dekripsi tidak dapat dihitung dari kunci
enkripsi. Algoritma disebut kunci publik karena kunci enkripsi dapat
dibuat publik yang berarti semua orang dapat mengetahuinya.
Sembarang orang dapat menggunakan kunci enkripsi tersebut untuk
mengenkrip pesan, namun hanya orang tertentu (calon penerima pesan
dan sekaligus pemilik kunci dekripsi yang merupakan pasangan kunci
publik) yang dapat melakukan dekripsi terhadap pesan tersebut.
Dalam sistem ini, kunci enkripsi sering disebut kunci publik,
sementara kunci dekripsi sering disebut kunci privat. Kunci privat
kadang-kadang disebut kunci rahasia.
9
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
D Ke (C) = M
10
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
BAB III
ANALISIS SANDI DIFERENSIAL
Analisis sandi diferensial merupakan salah satu attack yang penting pada
kode blok kunci simetri modern yang berbasis komputer. Pembahasan
didasarkan pada analisis kode jaringan substitusi dan permutasi dasar yang
sederhana dan terstruktur. Pembahasan juga memberikan contoh attack secara
rinci. Memahami attack jenis ini sangat penting, karena kode Rijndael yang
dijadikan standar enkripsi terbaru Amerika Serikat, AES yang merupakan
pelanjut DES yang menjadi standar enkripsi dunia menggunakan arsitektur
SPN (Substitution Permutation Network).
……. C16
……. P16
S14
S14
S14
S14
S13
Subkey K2 mixing
S13
Subkey K1 mixing
S13
Subkey K3 mixing
S13
Subkey K4 mixing
Subkey K4 mixing
Cipherext
Plaintext
S12
S12
S12
S12
C1 …….
P1 …….
S11
S11
S11
S11
11
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
3.2 Substitusi
Pada kode sandi ini plaintext 16 bit dipecah menjadi empat sub blok 4 bit.
Setiap sub blok menjadi masukan ke dalam kotak S 4x4 (kotak substitusi
dengan masukan 4 bit dan keluaran 4 bit), yang dengan mudah dapat
diimplementasikan dengan tabel lookup dari 16 nilai 4 bit, yang diberi indek
dengan integer yang dinyatakan dengan masukan 4 bit. Sifat yang paling
fundamental dari kotak S adalah memiliki pemetaan yang tidal linear,
sehingga keluaran kotak substitusi tidak dapat dinyatakan sebagai operasi
linear dari masukannya. Untuk kode sandi ini dapat menggunakan pemetaan
tidak linear yang sama untuk semua kotak S (pada DES, ke 8 kotak S dalam
satu ronde berbeda, sedangkan seluruh ronde menggunakan sekumpulan
kotak S yang sama). Analisis sandi diferensial dapat digunakan untuk semua
kasus ini. Pemetaan kotak S dicantumkan pada tabel 3.1, diambil dari kotak S
pertama dari baris pertama milik DES.
Tabel 3.1 Pemetaan Kotak Substitusi (dalam heksadesimal)
Masukan 0 1 2 3 4 5 6 7 8 9 A B C D E F
Keluaran E 4 D 1 2 F B 8 3 A 6 C 5 9 0 7
Dari tabel substitusi, bahwa jika masukan kotak S adalag F 16 = 1111 2 , maka
3.3 Permutasi
Permutasi merupakan transposisi bit-bit atau pertukaran urutan bit. Jika
urutan bit-bit semula adalah 1, 2, 3, ….. 16 secara berurutan, maka setelah
permutasi urutan bit-bitnya menjadi 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 4, 8,
12, 16. Bit 1 menempati bit paling kiri. Setelah permutasi, bit ke 2 menjadi
bit ke 5, bit ke 3 menjadi bit ke 9 dan seterusnya.
Tabel 3.2 Permutasi
Masukan 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Keluaran 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
12
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
Dalam Gambar 3.1, permutasi digambarkan dengn garis keluar setiap kotak S
yang dihubungkan ke 4 kotak S berikutnya.
3.5 Dekripsi
Pada dekripsi, data dilewatkan secara terbalik dari proses enkripsi.
Pemetaan kotak S untuk dekrepsi juga kebalikan dari pemetaan untuk proses
enkripsi. Jadi kotak S haruslah bijektiv, yaitu merupakan pemetaan satu ke
satu. Urutan subkey pada dekripsi juga merupakan kebalikkan dari subkey
pada proses enkripsi.
13
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
dimana ∆ Y i = Y i ’ ⊕ Y i ”.
14
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
masukan
X1 X2 X3 X4
4x4
S-box
(kotak S)
Y1 Y2 Y3 Y4
keluaran
Gambar 3.2 Pemetaan Kotak S
Masukan X = (X1, X2, X3, X4) dan keluaran Y = (Y1, Y2, Y3, Y4).
Seluruh pasangan diferensial dari kotak S, ( ∆ X, ∆ Y), dapat diperiksa
dan peluang ∆ Y jika diberi masukan ∆ X dapat diturunkan dengan
memeriksa pasangan masukan X’ dan X”, sehingga ∆ X = X’ ⊕ X”,
karena urutan pasangan tidak penting, untuk kotak S 4x4 hanya
membutuhkan 16 nilai X’ dan kemudian nilai ∆ X yang membatasi nilai
X”, sehingga X” = X’ ⊕ ∆ X.
15
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
16
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
Tabel 3.4 merupakan data lengkap untuk sebuah kotak S, dimana baris
menyatakan nilai ∆ X (dalam heksadesimal), sedangkan kolom
menyatakan ∆ Y (dalam heksadesimal). Setiap elemen dalam tabel
meyatakan jumlah kejadian diferensial keluaran ∆ Y jika diberi masukan
∆ X. Perhatikan bahwa disampung kasus khusus ( ∆ X= 0, ∆ Y = 0), nilai
terbesar dalam tabel adalah 8, yang dihasilkan oleh masukan ∆ X = B 16
dan keluaran ∆ Y = 2. Jadi, peluang bahwa ∆ Y = 2 jika diberi sembarang
pasangan masukan yang memenuhi ∆ X = B 16 , adalah 8/16. Nilai terkecil
dalam tabel adalah 0 dan terjadi pada banyak pasangan diferensial. Pada
kasus ini, peluang munculnya nilai ∆ Y jika diberikan ∆ X adalah 0
Tabel 3.4 Distribusi Diferensial
OUTPUT DIFFERENCE
0 1 2 3 4 5 6 7 8 9 A B C D E F
0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 2 0 0 0 2 0 2 4 0 4 2 0 0
2 0 0 0 2 0 6 2 2 0 2 0 0 0 0 2 0
3 0 0 2 0 2 0 0 0 0 4 2 0 2 0 0 4
4 0 0 0 2 0 0 6 0 0 2 0 4 2 0 0 0
5 0 4 0 0 0 2 2 0 0 0 4 0 2 0 0 2
6 0 0 0 4 0 4 0 0 0 0 0 0 2 2 2 2
Input Difference
7 0 0 2 2 2 0 2 0 0 2 2 0 0 0 0 4
8 0 0 0 0 0 0 2 2 0 0 0 4 0 4 2 2
9 0 2 0 0 2 0 0 4 2 0 2 2 2 0 0 0
A 0 2 2 0 0 0 0 0 6 0 0 2 0 0 4 0
B 0 0 8 0 0 2 0 2 0 0 0 0 0 2 0 2
C 0 2 0 0 2 2 2 0 0 0 0 2 0 0 0 0
D 0 4 0 0 0 0 0 4 2 0 2 0 2 0 2 0
E 0 0 2 4 2 0 0 0 6 0 0 0 0 0 2 0
F 0 2 0 0 0 0 0 0 0 4 0 2 0 0 2 0
17
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
W1 W2 W3 W4
K1
K2
K3
K4
X1 X 2 X3 X4
4x4
S-box
(kotak S)
Y1 Y2 Y3 Y4
Gambar 3.3 Kotak S berkunci
Struktur cipher, harus diperhatikan kunci yang digunakan pada
masukan setiap kotak S. Dalam kasus ini, jika dinamakan masukan ke
kotak S yang berkunci ini sebagai W = (W1, W2, W3, W4), maka dapat
diperiksa diferensial masukan ke kotak S yang berkunci ini sebagai
berikut :
∆ W = (W1’ ⊕ W1”, W2’ ⊕ W2”, ….. Wn’ ⊕ Wn”)
18
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
19
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
0 0 0 0
S34
S14
S24
S44
0 0 0 0
S23
S33
Subkey K1 mixing
S13
S43
Subkey K2 mixing
Subkey K4 mixing
Subkey K3 mixing
Subkey K4 mixing
∆P
1 0 1 1
S42
S22
S12
S32
0 0 0 0
S11
S21
S31
S41
Round 1 Round 2 Round 3 Round 4
20
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
dengan peluang 6/16 jika diberi ∆ U2 dan dengan peluang 6/16 x 6/16 =
3/16 jika diberi ∆ P, diasumsikan bahwa diferensial ronde pertama saling
bebas dengan diferensial ronde kedua, dan karena itu peluang yang terjadi
dapat ditentukan dari hasil kali peluangnya.
Kemudian menggunakan diferensial kotak-S ronde ketiga, S32 dan S33,
serta permutasi ronde ketiga, menghasilkan
∆ V3 = (0000 0101 0101 0000) 2 dan
∆ U4 = (0000 0110 0000 0110) 2
dengan peluang (6/16) 2 jika diberi ∆ U3 dan karena itu peluangnya (8/16)
x (6/16) x (6/16) 2 = (27/1024) jika diberi ∆ P, dimana telah dianggap
saling bebas antas pasangan diferensial kotak-S dalam seluruh ronde.
Selama proses analisis sandi sejumlah pasangan plaintext yang
memenuhi ∆ P = (0000 1011 0000 0000) 2 akan dienkrip. Dengan peluang
yang tinggi. 27/1024, karakteristik diferensial yang digambarkan akan
terjadi, disebut pasangan ∆ P yang demikian sebagai pasangan benar.
Pasangan diferensial plaintext yang karakteristiknya tidak terjadi disebut
sebagai pasangan salah.
21
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
mundur melalui subkey parsial dan melewati kotak-S S24 dan S24. Untuk
setiap nilai subkey parsial, penghitung menyatakan jumlah kejadian
diferensial yang konsisten dengan pasangan benar (dengan anggapan
bahwa subkey parsialnya merupakan nilai yang benar). Jumlah yang
terbesar dianggap sebagai nilai yang benar, karena menganggap kejadian
pasangan benar dengan peluang yang tinggi.
Jika diperhatikan tidak perlu menjalankan dekripsi parsial untuk
setiap pasangan ciphertext, karena diferensial masukan keronde terakhir
22
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
1C 0,0000 2A 0,0032
1D 0,0000 2B 0,0022
1E 0,0000 2C 0.0000
1F 0,0000 2D 0,0000
20 0,0000 2E 0,0000
21 0,0136 2F 0,0000
22 0,0068 30 0,0004
23 0,0068 31 0,0000
24 0,0244 32 0,0004
25 0.0000 33 0,0004
26 0,0068 34 0,0000
27 0,0068 35 0,0004
28 0,0030 36 0,0000
29 0,0024 37 0,0008
23
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
24
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
BAB IV
KESIMPULAN
Dari hasil penulisan tugas akhir mata kuliah Keamanan Sistem Lanjut
yang berjudul Analisis Sandi Diferensial Terhadap Cipher SPN, dapat dibuat
kesimpulannya sebagai berikut :
• Analisis sandi diferensial ini menggunakan kotak-S yang memiliki
diferensial masukan tidak nol, oleh karena itu kotak- S akan
memberikan diferensial keluaran tidak nol. Kotak-S semacam ini
disebut sebagai kotak-S aktif.
• Semakin besar peluang diferensial dari setiap kotak-S yang aktif,
maka semakin besar pula peluang karakteristik keseluruhan cipher.
• Pendekatan untuk memberikan ketahanan terhadap analisis sandi
diferensial difokuskan pada sifat kotak-S, yaitu meminimalkan
peluang pasangan diferensial kotak-S dan mencari struktur untuk
memaksimalkan jumlah kotak-S yang aktif.
• Untuk membuktikan terhadap analisis sandi diferensial, diperlukan
pembuktian bahwa peluang seluruh diferensial berada di bawah nilai
batas tertentu yang dapat diterima, bukan hanya peluang seluruh
karakteristik diferensial di bawah batas yang dapat diterima.
25
Sigit Susilo NIM.23203127
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut
Dosen : Dr. Budi Rahardjo
DAFTAR PUSTAKA
26
Sigit Susilo NIM.23203127