analisa sandi chiper

31
Tugas Akhir Mata Kuliah Keamanan Sistem Lanjut Dosen : Dr. Budi Rahardjo Sigit Susilo NIM.23203127 PROGRAM MAGISTER TEKNIK ELEKTRO BIDANG KHUSUS TEKNIK INFORMASI DIKMENJUR INSTITUT TEKNOLOGI BANDUNG 2004 Disusun untuk memenuhi tugas akhir mata kuliah Keamanan Sistem Lanjut (EC 7010) Dosen : Dr. Budi Rahardjo Nama mahasiswa Sigit Susilo NIM.23203127 ANALISIS SANDI DIFERENSIAL TERHADAP CIPHER SPN

Upload: micka-doank

Post on 23-Jun-2015

160 views

Category:

Documents


4 download

TRANSCRIPT

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

ANALISIS SANDI DIFERENSIAL TERHADAP CIPHER SPN

Disusun untuk memenuhi tugas akhir mata kuliah Keamanan Sistem Lanjut (EC 7010)

Dosen : Dr. Budi Rahardjo

Nama mahasiswa

Sigit Susilo NIM.23203127

PROGRAM MAGISTER TEKNIK ELEKTRO BIDANG KHUSUS TEKNIK INFORMASI DIKMENJUR

INSTITUT TEKNOLOGI BANDUNG2004

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

ABSTRAKKriptografi adalah ilmu yang mempelajari bagaimana menjaga keamananan suatu pesan (plaintext). Tugas utama kriptografi adalah untuk menjaga agar baik pesan atau kunci ataupun keduanya tetap terjaga kerahasiaannya dari penyadap (attacker). Penyadap pesan diasumsikan mempunyai akses yang lengkap dalam saluran komunikasi antara pengirim pesan dan penerima pesan. Penyadapan pesan sering terjadi pada komunikasi melalui internet maupun saluran telepon. Untuk mendapatkan pesan tanpa melalui kunci sebenarnya dapat dianalisis (analisis sandi), ilmunya disebut cryptanalysis. Hasil dari analisis sandi akan diperoleh pesan atau kunci. Analisis sandi juga dapat menemukan kelemahan dalam kriptosistem yang pada akhirnya dapat menemukan pesan atau kunci. 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).

ii

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

DAFTAR ISILEMBAR JUDUL .. ABSTRAK . DAFTAR ISI .. DAFTAR GAMBAR . DAFTAR TABEL .. BAB I PENDAHULUAN .. 1.1 Latar Belakang . 1.2 Tujuan .. 1.3 Ruang Lingkup Masalah .. i ii iii iv v 1 1 1 2 3 3 3 4 5 7 11 11 12 12 13 13 13 13 15 19 21 25 26

BAB II LANDASAN TEORI .. 2.1 Komunikasi . 2.2 Aspek-aspek Keamanan .. 2.3 Algoritma dan Kunci .. 2.4 Cryptanalysis .. 2.5 Macam-macam Algoritma Kriptografi ... BAB III ANALISIS SANDI DIFERENSIAL . 3.1 Kode Sandi SPN Dasar ... 3.2 Substitusi 3.3 Permutasi 3.4 Penyampuran Kunci ... 3.5 Dekripsi .. 3.6 Analisis Sandi Diferensial terhadap Cipher SPN ... 3.6.1 Attack Dasar . 3.6.2 Analisis Komponen Cipher .. 3.6.3 Menyusun Karakteristik Diferensial . 3.6.4 Mendapatkan Bit Kunci .... BAB IV KESIMPULAN .. DAFTAR PUSTAKA . iii

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

DAFTAR GAMBARGambar 2.1 Kriptografi Konvensional .. Gambar 2.2 Lingkungan Kriptosistem Konvensional ... Gambar 3.1 Kode Sandi SPN Dasar .. Gambar 3.2 Pemetaan Kotak-S .. Gambar 3.3 Kotak S Berkunci Gambar 3.4 Karakteristik Diferensial . 7 8 11 15 18 20

iv

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

DAFTAR TABELTabel 3.1 Pemetaan Kotak Substitusi (dalam heksadesimal) . Tabel 3.2 Permutasi Tabel 3.3 Pasangan Diferensial Kotak-S Tabel 3.4 Distribusi Diferensial . Tabel 3.5 Hasil Attack Diferensial . 12 12 16 17 23

v

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

BAB I PENDAHULUAN 1.1 Latar Belakang Keamanan merupakan salah satu aspek yang penting dalam sebuah sistem informasi. Banyak orang menyiasati bagaimana cara mengamankan informasi yang dikomunikasikan atau menyiasati bagaimana cara mendeteksi keaslian dari informasi yang diterimanya. Kriptografi adalah ilmu yang mempelajari bagaimana menjaga keamananan suatu pesan (plaintext). Tugas utama kriptografi adalah untuk menjaga agar baik pesan atau kunci ataupun keduanya tetap terjaga kerahasiaannya dari penyadap (attacker). Penyadap pesan diasumsikan mempunyai akses yang lengkap dalam saluran komunikasi antara pengirim pesan dan penerima pesan. Penyadapan pesan sering terjadi pada komunikasi melalui internet maupun saluran telepon. Untuk mendapatkan pesan tanpa melalui kunci sebenarnya dapat dianalisis (analisis sandi), ilmunya disebut cryptanalysis. Hasil dari analisis sandi akan diperoleh pesan atau kunci. Analisis sandi juga dapat menemukan kelemahan dalam kriptosistem yang pada akhirnya dapat menemukan pesan atau kunci. Untuk itu melalui tugas akhir mata kuliah Kemanan Sistem Lanjut (EC 7010), penulis membuat makalah berjudul Analisis Sandi Diferensial Terhadap Cipher SPN (Substitution Permutation Network). 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.

Sigit Susilo

NIM.23203127

1

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

1.3 Ruang Lingkup Masalah Makalah ini, yang berjudul Analisis Sandi Diferensial Terhadap Cipher SPN (Substitution Permutation Network), ruang lingkup permasalahannya meliputi, pembahasan tentang : kode sandi SPN dasar, substitusi, permutasi, penyampuran kunci, dekripsi dan analisis sandi diferensial terhadap cipher SPN. Di dalam pembahasan analisis sandi diferensial terhadap cipher SPN, dibahas tentang : attack dasar, analisis komponen cipher, menyusun karakteristik diferensial dan mendapatkan bit kunci.

Sigit Susilo

NIM.23203127

2

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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 kuncikuncinya. 2.2 Aspek-aspek Keamanan Kriptografi tidak hanya memberikan kerahasiaan dalam telekomunikasi, namun juga memberikan komponen-komponen berikut : Authentication. Penerima pesan dapat memastikan keaslian pengirimnya. Penyerang tidak dapat berpura-pura sebagai orang lain.

Sigit Susilo

NIM.23203127

3

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

Integrity .Penerima harus dapat memeriksa apakah pesan telah dimodifikasi di tengah jalan atau tidak. Seorang penyusup seharusnya tidak dapat memasukkan tambahan ke dalam pesan, mengurangi atau mengubah pesan selama data berada di perjalanan.

Nonrepudiation. Pengirim seharusnya tidak dapat mengelak bahwa dialah pengirim pesan yang sesungguhnya. Tanpa kriptografi seseotang dapat mengelak bahwa dialah pengirim email yang sesungguhnya.

Authority. Informasi yang berada pada sistem jaringan seharusnya hanya dapat dimodifikasi oleh pihak yang berwenang. Modifikasi yang tidak diinginkan, dapat berupa penulisan tambahan pesan, pengubahan isi, pengubahan status, penghapusan, pembuatan pesan baru (pemalsuan), atau menyalin pesan.

2.3 Algoritma dan Kunci Algoritma kriptografi selalu terdiri dari dua bagian yaitu fungsi enkripsi dan dekripsi. Jika keamanan algoritma tergantung pada kerahasiaan algoritma bekerja, maka algoritma tersebut dikatakan algoritma terbatas (terbatas kemampuannya). Sejumlah besar pengguna (yang tidak dalam satu grup) tidak dapat menggunakannya bersama-sama, sehingga setiap kali seorang pengguna meninggalkan grupnya, pemakai lain dalam grup tersebut harus mengganti algoritma agar algoritma yang mereka gunakan tidak diketahui kelompok lain. Bahkan lebih buruk lagi, algoritma terbatas tidak mengijinkan kontrol kualitas atau standarisasi. Setiap grup pemakai harus mempunyai algoritma tersendiri. Mereka tidak dapat menggunakan produk perusahaan lain karena kalau demikian tentu orang lain dapat juga membeli produk tersebut dan kemudian memecahkan algoritmanya, sehingga data yang dienkrip dengan algoritma tersebut tidak aman lagi. Anggota grup tersebut harus menulis sendiri algoritma dan implementasinya. Sehingga jika tidak ada satu anggotapun yang ahli kriptografi, mereka tidak akan tahu apakah algoritma

Sigit Susilo

NIM.23203127

4

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

aman atau tidak. Meskipun mempunyai kelemahan yang besar, algoitma terbatas sangat terkenal untuk aplikasi keamanan tingkat rendah. Kriptografi modern menyelesaikan masalah ini dngan hanya merahasiakan kunci (key) saja tanpa harus menyembunyikan algoritmanya sendiri. Kunci (K) dapat juga disebut sebagai password. Keamanan enkripsi hanya tergantung pada kunci, dan tidak tergantung apakah algoritmanya dilihat orang lain arau tidak. Rentang kemungkinan nilai kunci ini disebut keyspace. Bila keseluruhan keamanan algoritma ini tergantung kunci dan tak satupun yang didasarkan pada detil algoritma, maka algoritma ini dapat dipublikasikan dan dianalisis oleh semua orang. Produk-produk yang menggunakan algoritma tersebut dapat diproduksi secara masal. Tidak masalah bila penguping mengetahui algoritma tersebut asalkan tidak mengetahui kunci rahasianya, mereka tetap tidak dapat membuka pesan tersebut. Contoh sistem semacam ini adalah kartu kredit. Semua kartu kredit yang beredar di seluruh dunia menggunakan algoritma kriptografi yang sama yaitu DES (Data Encryption Standard) dan RSA. Semua orang boleh mengetahui isi algoritma DES dan RSA. Namun pengetahuan terhadap algoritma ini tidak membantu proses pembongkaran kodenya. Hanya dengan pengetahuan kuncinya orang dapat melakukan dekripsi, artinya dengan memberikan kepada setiap kartu satu kunci, keamanan kartu kredit dapat diandalkan. Keuntungan sistem seperti ini adalah berbagai produsen kartu kredit yang berbeda dapat menggunakan algoritma keamanan yang sama, sehingga dapat digunakan pada mesin perusahaan yang berbeda. 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

Sigit Susilo

NIM.23203127

5

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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. Global deduction. Analis sandi mendapatkan algoritma alternatif A yang ekivalen dengan D k (C) tanpa mengetahui K. Instance (local) deduction. Analis sandi mendapatkan algoritma plaintext atau ciphertext yang disadap. Information deduction. Analis sandi memperoleh beberapa informasi mengenai kunci atau plaintext. Informasi ini dapat berupa beberapa bit kunci, atau sedikit informasi tentang bentuk plaintext dan sebagainya. Kompleksitas serangan dapat diukur dalam berbagai cara : Data complexity .Jumlah data yang diperlukan sebagai input attack. Semakin sedikit jumlah data yang diperlukan untuk melakukan attack, berarti kualitas algoritma yang digunakan semakin tidak baik. Processing Complexity. Lama waktu yang tersedia untuk melakukan attack. Ini sering disebut faktor kerja. Semakin cepat waktu yang dibutuhkan, berarti semakin buruk kualitas algoritma yang digunakan. Storage requirements. Jumlah memori yang dibutuhkan untuk melakukan attack. Kompleksitas dinyatakan sebagai orde besarnya. Jika algoritma memiliki kompleksitas 2 128 , maka sejumlah 2 128 operasi diperlukan untuk memecahkan algoritma. Operasi ini mungkin komplek dan banyak menghabiskan waktu.Sigit Susilo NIM.23203127

6

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

2.5 Macam-macam Algoritma Kriptografi Ada dua jenis algoritma kriptografi berdasarkan jenis kuncinya, yaitu : 1) Algoritma Simetri (konvensional) Adalah algoritma yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Disebut konvensional karena algoritma ini digunakan orang sejak dahulu. Algoritma simetri sering juga disebut sebagai algoritma kunci rahasia, algoritma kunci tunggal atau algoritma satu kunci dan mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka dapat berkomunikasi dengan aman. Keamanan algoritma simetri tergantung pada kunci, membocorkan kunci berarti bahwa orang lain dapat mengenkrip dan mendekrip pesan. Agar komunikasi tetap aman, kunci harus tetap dirahasiakan. Yang termasuk algoritma kunci simetri adalah OTP, DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi dan lain-lainnya.Key (K)

Plaintext

P

Enkripsi

Ciphertext

C

Dekripsi

Plaintext

P

Gambar 2.1 Kriptografi Konvensional Gambar 2.1 menggambarkan kriptografi simetri yang biasa disebut dengan kriptografi kunci konvesional. Pesan plaintext P, misalkan SIGIT dikodekan (dienkrip) menjadi ciphertext @&%#? menggunakan password (kunci K) TES. Untuk mengembalikan cipher @&%#? Menjadi SIGIT dilakukan proses dekripsi dengan kunci yang sama yaitu TES. Karena kunci yang digunakan sama, maka disebut kriptografi kunci simetri atau kriptografi konvensional. Dalam dunia kriptografi password sering disebut sebagai kunci. Pesan asli yang belum dikodekan disebut plaintext. Plaintext tidak harus berupa teks, namun dapat berupa file gambar (gif, jpg), file biner (exe, com,

Sigit Susilo

NIM.23203127

7

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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.K P

Cryptanalyst

Sumber Pesan

P

Enkriptor

C

K

Dekriptor

P

Tujuan

Saluran yang tidak aman

Saluran yang aman

Sumber Kunci

Gambar 2.2 Lingkungan Kriptosistem Konvensional Gambar 2.2 menggambarkan cipher C dikirimkan ke tujuan melalui saluran yang umumnya tidak aman. Sedangkan kunci K sendiri harus dikirimkan melalui saluran yang aman. Untuk mengirimkan kunci dengan aman, pengirim dan penerima dapat bertemu dan menyepakati kunci tertentu untuk dipakai bersama dalam komunikasi berikutnya. Dalam saluran yang tidak aman ini, seorang penyerang dapat menyadap cipher C dan kemudian melakukan dan kemudian melakukan analisis untuk menemukan nilai P. Nilai K dan P perkiraan yang dihasilkan oleh penyerang disebut sebagai K dan P. Untuk memudahkan penulisan dan analisis, kriptografi modern menggunakan notasi matematika, dengan pesan asal P dan kode rahasia C yang diperoleh dari enkripsi dengan kunci K, sehingga penulisannya : C = E K (P)

Sigit Susilo

NIM.23203127

8

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

Notasi ini menyatakan bahwa C dihasilkan oleh fungsi enkripsi E yang dioperasikan terhadap masukan P dengan kunci K, operasi ini dilakukan di pengirim. Pada penerima dilakukan operasi sebaliknya P = D K (C). Pemecah kode (cryptanalyst) sering kali hanya memiliki C dan harus menemukan nilai P nya. Algoritma simetri dapat dibagi dalam dua kategori. Jenis pertama beroperasi pada plaintext yang berupa satu bit tunggal pada satu waktu, yang disebut stream algorithms (algoritma aliran atau stream ciphers). Jenis kedua beroperasi pada plaintext dalam grup bit-bit. Grup bit-bit ini disebut blok, dan algoritmanya disebut sebagai algoritma blok atau kode rahasia blok. Untuk algoritma komputer modern ukuran blok dasarnya adalah 64 bit atau 128 bit, cukup besar untuk menghindari analisis pemecahan kode dan cukup kecil agar dapat bekerja dengan cepat. Sebelum pemakai komputer, algoritma biasanya beroperasi pada plaintext, satu karakter per satu operasi. Kita dapat mengatakan bahwa ini seperti algoritma aliran yang beroperasi pada aliran karakter. 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.

Sigit Susilo

NIM.23203127

9

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

Yang termasuk algoritma asimetri adalah ECC, LUC, RSA, El Gamal dan DH. Enkripsi dengan kunci publik Ke dinyatakan sebagai E Ke (M) = C Dengan kunci privat (Kd) sebagai pasangan kunci publik (Ke), dekripsi dengan kunci privat yang bersesuaian dapat dinyatakan dengan D Kd (C) = M Di sini Ke merupakan pasangan Kd. Artinya tidak ada Kd lain yang dapat digunakan untuk melakukan dekripsi kode C yang merupakan hail enkripsi dengan kunci Ke. Sebaliknya, pesan dapat dienkrip dengan kunci privat dan didekrip dengan kunci publik. Metode ini digunakan pada tanda tangan digital. Meskipun agak membingungkan, operasi ini dapat dinyatakan sebagai E Kd (M) = C D Ke (C) = M Artinya kunci privat dan kunci publik dapat digunakan secara berlawanan dengan tujuan yang berbeda. Sifat ini hanya berlaku untuk algoritma kunci publik tertentu, seperti RSA. Sifat ini tidak berlaku untuk algoritma DH.

Sigit Susilo

NIM.23203127

10

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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). 3.1 Kode Sandi SPN Dasar Kode rahasia yang disajikan menggunakan SPN dasar.. C16Subkey K4 mixing

. P16

S14

S14

S14

Subkey K2 mixing

Subkey K1 mixing

S13

Subkey K3 mixing

S13

S13

Subkey K4 mixing

S13

S14

Plaintext

S12

S12

S12

S12

Round 1

Round 2

Round 3

Round 4

Gambar 3.1 Kode Sandi SPN Dasar Kode sandi SPN memiliki 16 masukan (16 bit plaintext) dan empat tahapan enkripsi (4 ronde). Setiap ronde terdiri dari : substitusi (kotak S11 S14) transposisi (permutasi), misalnya bit ke 2 (keluaran tahap 1) menjadi bit ke 5 (dari masukan ronde ke 2) pencampuran kunci, setiap bit kunci di X-OR kan dengan plaintext dan ciphertext sementara (keluaran kotak S)

Sigit Susilo

NIM.23203127

11

C1 .

P1 .

S11

S11

S11

S11

Cipherext

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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 Keluaran 0 E 1 4 2 D 3 1 4 2 5 F 6 B 7 8 8 3 9 A A 6 B C C 5 D 9 E 0 F 7

Dari tabel substitusi, bahwa jika masukan kotak S adalag F 16 = 1111 2 , maka keluaran kotak S adalah 7 16 = 0111 2 dan jika masukan C 16 = 1100 2 , maka keluarannya adalah 0101 2 = 5 16 . 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 PermutasiMasukan Keluaran 1 1 2 5 3 9 4 13 5 2 6 6 7 10 8 14 9 3 10 7 11 11 12 15 13 4 14 8 15 12 16 16

Sigit Susilo

NIM.23203127

12

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

Dalam Gambar 3.1, permutasi digambarkan dengn garis keluar setiap kotak S yang dihubungkan ke 4 kotak S berikutnya. 3.4 Penyampuran Kunci Untuk memberikan peran kepada kunci dalam proses enkrepsi dan dekripsi, maka dilakukan penyampuran kunci yang dalam contoh berupa XOR antara bit-bit kunci (berupa subkey) dengan masukan blok data dalam setiap ronde. Kunci yang terletak pada awal dan akhir ronde diberikan untuk meningkatkan keamanan kode rahasia. Pada umumnya, kunci-kunci di atas diturunkan dari kunci master yang lebih pendek melalui proses pengaturan kunci. Pada contoh ini dianggap tidak ada proses pengaturan kunci, sehingga kunci-kunci di atas dianggap dibuat secara independen dan tidak berkorelasi. 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. 3.6 Analisis Sandi Diferensial Terhadap Cipher SPN Analisis sandi diferensial mengeksploitasi peluang yang besar dari kejadian diferensial plaintext tertentu ke dalam ronde terakhir cipher. 3.6.1 Attack Dasar Sebagai contoh, perhatikan system dengan masukan X = (X 1 , X 2 .X n ) dan keluaran Y = (Y 1 , Y 2 .Y n ). Ambil dua masukan ke dalam sistem X dan X dan dengan keluaran Y dan Y. Diferensial masukan adalah X = X X, dimana menyatakan X-OR per bit dari vektor n bit dan karena itu X = ( X 1 , X 2 . X n )

Sigit Susilo

NIM.23203127

13

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

dimana X i = X i X i dengan X i dan X i menyatakan bit ke i dari X i dan X i . Demikian juga keluaran Y = Y Y adalah diferensial keluaran, sedangkan Y = ( Y 1 , Y 2 . Y n ) dimana Y i = Y i Y i . Pada cipher yang diacak secara ideal, peluang terjadinya diferensial keluaran tertentu Y, apabila diberikan diferensial masukan tertentu X adalah 1/2 n dimana n adalah jumlah bit yang berada dalam X. Analisis sandi diferensial mencari peluang sebesar mungkin, P D , dari diferensial keluaran tertentu Y bila diberi diferensial masukan tertentu X, yaitu mencari peluang yang jauh lebih besar dari 1/2 n . Pasangan ( X, Y) ini disebut sebagai sebuah diferensial. Analisis sandi diferensial merupakan attack plaintext yang dipilih (chosen plaintext attack), yang berarti attacker dspst memilih (bukan sekedar mengetahui seperti pada know plaintext attack), masukan, dan memeriksa keluaran untuk menurunkan kuncinya. Pada analisis sandi diferensial, attacker akan memilih pasangan-pasangan masukan, X dan X, untuk mendapatkan X tertentu, sebab dengan mengetahui nilai X, nilai Y tertentu akan terjadi dengan peluang yang tinggi. Susunan diferensial ( X, Y) yang mengandung bit-bit plaintext X, dan masukan keronde terakhir cipher Y. Pemeriksaan sesuatu yang berpeluang besar menjadi karakteristik diferensial, dimana karakteristik diferensial adalah deretan diferensial masukan dan keluaran ke dalam ronde-ronde, sehingga diferensial keluaran dari satu ronde berkaitan dengan diferensial masukan dari ronde berikutnya. Karakteristik diferensial memberi kesempatan untuk mengeksploitasi informasi yang masuk ke ronde terakhir cipher, sehingga dapat memperoleh bit-bit dari kunci lapis terakhir. Seperti pada analisis sandi linear, dapat disusun sesuatu yang sangat mungkin sebagai karakteristik diferensial, dapat pula diperiksa sifat setiap kotak S dan menggunakan sifat ini untuk menentukan karakteristik 14

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

diferensial yang lengkap. Dan memeriksa diferensial masukan dan keluaran kotak S untuk menentukan pasangan diferensial yang memiliki peluang yang tinggi. Mengombinasikan pasangan diferensial dari kotak S ronde demi ronde, sehingga bit-bit diferensial keluaran yang tidak nol dari satu ronde berhubungan dengan bit-bit diferensial masukan tidak nol dari ronde berikutnya, mengijinkan untuk mendapatkan peluang difeensial yang tinggi, yang berisi diferensial plaintext, dan diferensial masukan keronde terakhir. Bit-bit subkey cipher akhirnya menghilang dari ekspresi diferensial ketika dimasukkan ke dalam set data, karena jika meneliti pengaruh subkey terhadap diferensial, termasuk meng X-OR kan bit-bit subkey dengan dirinya sendiri, akan menghasilkan nol. 3.6.2 Analisis Komponen Cipher Sekarang memeriksa pasangan kotak S. Perhatikan kotak S 4x4 pada Gambar 3.2 masukanX1 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.

Sigit Susilo

NIM.23203127

15

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

Kotak S pada Gambar 2.2 dapat menurunkan nilai-nilai Y untuk setiap pasangan masukan (X, X = X X). Sebagai contoh, nilai biner X, Y dan nilai-nilai yang berkaitan dengan Y jika diberikan pasangan masukan (X, X X) disajikan pada Tabel 2.3 untuk nilainilai X = 1011 2 = B 16 , 1000 2 = 8 16 dan 0100 2 = 4 16 . Tiga kolom terakhir dari tabel menyatakan nilai-nilai Y jika diberikan nilai X (seperti yang diberikan oleh baris) dan nilai X tertentu untuk setiap kolom. Dari tabel dapat dilihat bahwa jumlah kejadian Y = 0010 jika X = 1011 adalah 8 dari 16 kemungkinan nilai (jadi memiliki peluang 8/16), jumlah kejadian Y = 1011 jika X = 1000 adalah 4 dari 16 kemungkinan, jumlah kejadian Y = 1010 jika X = 0100 adalah 0 dari 16 kemungkinan. Jika kotak S dapat ideal, maka jumlah kejadian nilai pasangan diferensial akan sama dengan 1 dari 16 untuk masing-masing kejadian munculnya Y jika diberi masukan X. Tabel 3.3 Pasangan Diferensial Kotak SX 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Y 1110 0100 1101 0001 0010 1111 1011 1000 0011 1010 0110 1100 0101 1001 0000 0111

Y X = 10110010 0010 0111 0010 0101 1111 0010 1101 0010 0111 0010 0010 1101 0010 1111 0101

X = 10001101 1110 0101 1011 0111 0110 1011 1111 1101 1110 0101 1011 0111 0110 1011 1111

X = 01001100 1011 0110 1001 1100 1011 0110 1001 0110 0011 0110 1011 0110 0011 0110 1011

Sigit Susilo

NIM.23203127

16

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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 DiferensialOUTPUT DIFFERENCE 0 0 1 2 3 4 5 Input Difference 6 7 8 9 A B C D E F 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 4 0 0 0 2 2 0 2 4 0 2 2 0 0 0 2 0 0 0 2 0 0 2 8 0 0 2 0 3 0 2 2 0 2 0 4 2 0 0 0 0 0 0 4 0 4 0 0 0 2 0 0 0 2 0 2 0 0 2 0 2 0 5 0 0 6 0 0 2 4 0 0 0 0 2 2 0 0 0 6 0 0 2 0 6 2 0 2 2 0 0 0 2 0 0 0 7 0 2 2 0 0 0 0 0 2 4 0 2 0 4 0 0 8 0 0 0 0 0 0 0 0 0 2 6 0 0 2 6 0 9 0 2 2 4 2 0 0 2 0 0 0 0 0 0 0 4 A 0 4 0 2 0 4 0 2 0 2 0 0 0 2 0 0 B 0 0 0 0 4 0 0 0 4 2 2 0 2 0 0 2 C 0 4 0 2 2 2 2 0 0 2 0 0 0 2 0 0 D 0 2 0 0 0 0 2 0 4 0 0 2 0 0 0 0 E 0 0 2 0 0 0 2 0 2 0 4 0 0 2 2 2 F 0 0 0 4 0 2 2 4 2 0 0 2 0 0 0 0

Terdapat beberapa sifat umum pada tabel distribusi diferensial yang seharusnya diperhatikan. Pertama, perlu dicatat bahwa jumlah seluruh elemen dalam satu baris adalah 2 n = 16, demikian pula jumlah setiap kolom adalah 2 n = 16. Demikian pula seluruh nilai seluruh elemen, genap : hasil ini muncul karena setiap nilai pasangan masukan (atau keluaran) yang dinyatakan sebagai (X, X) memiliki nilai X yang sama seperti pasangan (X, X) karena X = X X = X X. Juga diferensial 17

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

masukan X = 0 akan mengakibatkan Y = 0 untuk pemetaan kotak S satu ke satu. Karena itu ujung kiri atas dalah tabel memiliki nilai 2 n = 16 sedangkan nilai-nilai lainnya pada baris pertama dan kolom pertama = 0. Akhirnya, jika dapat membuat kotak S yang ideal, yang tidak memberikan informasi diferensial mengenai keluaran apabila diberikan masukan tertentu, kotak S akan memiliki seluruh elemen yang bernilai 1 dalam table, dan peluang kejadian munculnya Y jika diberi X tertentu akan menjadi 1/2 = 1/16. Namun seperti yang sudah dibahas di atas, hal ini tidak mungkin dicapai. Sebelum membahas kombinasi pasangan diferensial kotak S untuk menurunkan karakteristik diferensial dan kemudian memperkirakan diferensial yang bagus untuk digunakan dalam attack, haruslah dibahas pengaruh kunci terhadap diferensial kotak S. Lihat Gambar 3.3 masukan kotak S yang tidak diberi kunci adalah X, sedangkan keluarannya Y. Namun, dalamW1 W2 W3 W4n

K2 K4X1 X 2 X3 X4

K1

K3

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 LanjutDosen : Dr. Budi Rahardjo

dimana W = (W1, W2 Wn) dan W = (W1, W2 Wn) menyatakan dua nilai masukan. Karena bit-bit kunci sama untuk kedua masukan W dan W, maka Wi = Wi Wi, = (Wi Ki) ( Xi Ki) = Xi Xi = Xi Karena Ki Ki = 0, maka bit-bit kunci tidak memiliki pengaruh terhadap nilai diferensial masukan dan dapat diabaikan. Dengan kata lain, kotak S yang diberi kunci memiliki tabel distribusi diferensial yang sama seperti kotak S yang tidak diberi kunci. 3.6.3 Menyusun Karakteristik Diferensial Jika telah dibentuk informasi diferensial kotak-kotak substitusi pada SPN, berarti sudah memiliki data untuk diolah lebih lanjut dengan menentukan karakteristik diferensial keseluruhan cipher yang bermanfaat. Ini dapat dilakukan dengan menggabungkan pasangan diferensial kotak S yang tepat. Dengan menyusun karakteristik diferensial dari pasangan diferensial kotak S tertentu dalam setiap ronde, sehingga suatu diferensial mengandung bit-bit plaintext dan bit-bit data masukan kotak S dari ronde terakhir, adalah mungkin untuk melakukan attack terhadap cipher dengan mencari subset dari bit-bit subkey yang mengiringi ronde terakhir. Contoh penyusunan sebuah karakteristik diferensial menggunakan S12, S23, S32, S33 seperti pada Gambar 3.4, menggambarkan karakteristik diferensial dalam bentuk diagram. Diagram tersebut menunjukkan pengaruh diferensial bukan nol ketika melintasi jaringan, menggaristebalkan (warna merah) kotak S yang mungkin dianggap sebagai kotak S aktif (yaitu yang mengandung diferensial tidak nol). Ini akan membentuk karakteristik diferensial untuk tiga ronde cipher dan bukannya empat ronde penuh. Sehingga dapat dilihat bagaimana hal ini berguna untuk menurunkan bitbit dari subkey terakhir. Adapun penggunaan pasangan diferensial Kota S adalah : S12 : X = B S23 : X = 4 S32 : X = 2 Y = 2 dengan peluang 8/16 Y = 6 dengan peluang 6/16 Y = 5 dengan peluang 6/16

Sigit Susilo

NIM.23203127

19

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

S33 : X = 2

Y = 5 dengan peluang 6/16

0 0 0 0

S14

S24

S34

0 0 0 0

S23

Subkey K1 mixing

S13

S33

Subkey K2 mixing

Subkey K3 mixing

Subkey K4 mixing

S43

S44

P

1 0 1 1

0 0 0 0

S11

S21

S31

Round 1

Round 2

Round 3

Round 4

Gambar 3.4 Karakteristik Diferensial Semua kotak S lain akan memiliki diferensial masukan nol dan mengakibatkan diferensial keluarannya juga nol. Diferensial masukan ke cipher ekivalen dengan diferensial masukan ke dalam ronde dan ditulis sebagai berikut : P = U1= (0000 0010 0000 0000) 2 dimana digunakan Ui untuk menyatakan masukan ke kotak-S ronde ke-I dan Vi untuk menyatakan keluaran kotak-S ronde ke-i. Karena itu, Ui dan Vi menyatakan diferensial yang berkaitan, hasilnya : Vi = (0000 0010 0000 0000) 2 Dari pasangan diferensial untuk S12 yang dituliskan di atas, dan mengikuti permutasi ronde-1 akan diperoleh : U2 = (0000 0000 0100 0000) 2 dengan peluang 8/16 = , jika diberi masukan diferensial plaintext P. Kemudian, diferensial pada ronde kedua menggunakan pasangan diferensial kotak S23 yang menghasilkan V2 = (0000 0000 0110 0000) 2 dan permutasi pada ronde kedua memberikan U3 = (0000 0010 0010 0000) 2

S41

Sigit Susilo

NIM.23203127

Subkey K4 mixing

S12

S22

S32

S42

20

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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. 3.6.4 Mendapatkan Bit Kunci Dengan karakteristik diferensial yang berasal dari (R-1) ronde dari cipher R ronde, dan dengan peluang yang cukup besar, dapat meng-attack cipher dengan mencari nilai bit-bit subkey setelah ronde terakhir. Untuk cipher dapat diperoleh K5. Prosesnya mencakup dekripsi parsial ronde terakhir (dengan arah dari cipher ke plaintext), kemudian memeriksa masukan keronde terakhir untuk menentukan apakah pasangan benar terjadi. Merujuk pada bit-bit subkey yang mengiringi ronde terakhir pada keluaran kotak-S dalam ronde terakhir yang dipengaruhi oleh diferensial tidak nol, meng-X-OR-kan ciphertext dengan bit-bit target partial subkey dan menjalankan data ke depan (kearah plaintext) melalui kotak-S dimana seluruh nilai yang mungkin untuk bit subkey akan dicoba. Dekripsi parsial akan dilakukan untuk setiap pasang ciphertext yang berkaitan dengan pasangan plaintext yang digunakan untuk 21

Sigit Susilo

NIM.23203127

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

membangkitkan diferensial masukan P untuk seluruh nilai target partial subkey yang mungkin. Sebuah penghitung digunakan untuk setiap nilai target partial subkey. Penghitung dinaikkan satu angka apabila diferensial masukan keronde=ronde terakhir sesuai dengan nilai yang diharapkan dari karakteristik diferensial. Nilai subkey parsial yang memiliki nilai penghitung terbesar dianggap menunjukkan nilai bit-bit subkey yang benar. Proses akan berjalan baik, karena diasumsikan bahwa nilai subkey parsial akan menghasilkan diferensial keronde terakhir yang sering terjadi, yang diharapkan berasal dari karakteristik (yaitu kejadian pasangan benar), karena karakteristik memiliki peluang terjadi yang tinggi (ketika pasangan salah terjadi, bahkan meskipun dihasilkan oleh dekripsi parsial dengan subkey yang benar, penghitung subkey yang benar mungkin tidak akan dinaikkan). Subkey yang salah dianggap akan menghasilkan terkaan yang relatif acak pada bit-bit yang memasuki kotak-S pada ronde terakhir dan sebagai hasilnya, diferensial yang diharapkan berasal dari karakteristik akan memiliki peluang yang sangat kecil. Jika diperhatikan attack pada contoh cipher, karakteristik diferensial mempengaruhi masukan ke kotak-S, S42 dan S44 pada ronde terakhir. Untuk setiap pasang ciphertext, akan dicoba seluruh nilai (256) subkey parsial (K 5,5 .K 5,8 , K 5,13 .K 5,16 ). Untuk setiap nilai subkey parsial, akan menaikkan penghitung satu angka, ketika diferensial masukan keronde terakhir yang ditentukan oleh dekripsi parsial, dimana ditentukan nilai ( U 4,5 U 4,8 , U 4,13 U 4,16 ) dengan menjalankan ciphertext 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 LanjutDosen : Dr. Budi Rahardjo

hanya mempengaruhi dua kotak-S, ketikakarakteristik terjadi (yaitu untuk pasangan benar), diferensial bit ciphertext yang berkaitan dengan kotak-S lain, yaitu S41 dan S43 harus nol. Karena dapat memfilter banyak pasangan salah dengan membuang pasangan ciphertext yang tidak memiliki diferensial ciphertext nol pada sub-blok yang tepat. Dalam kasus ini, karena pasangan ciphertext tidak dapat menghasilkan pasangan benar, maka tidak perlu memeriksa ( U 4,5 U 4,8 , U 4,13 U 4,16 ). Attack terhadap cipher dapat disimulasikan dengan membangkitkan secara acak 5000 pasang plaintext/ciphertext (atau 10000 enkripsi dengan pasangan plaintext yang memenuhi P = (0000 1011 0000 0000) 2 dan dienkrip dengan kunci acak, dan kemudian mengikuti prosedur di atas. Nilai subkey parsial target yang tepat adalah (K 5,5 .K 5,8 , K 5,13 .K 5,16 ) = (0010, 0100) 2 = (2,4) 16 . Seperti diharapkan, counter terbesar dimiliki oleh nilai subkey parsial (2,4) 16 , menunjukkan bahwa attack berhasil mendapatkan bit-bit subkey. Tabel 3.5 Hasil Attack DiferensialPartial subkey (K5,5..K5,8..K5,13..K5,16)

Probability 0,0000 0,0000 0,0000 0,0000 0,0000 0,0136 0,0068 0,0068 0,0244 0.0000 0,0068 0,0068 0,0030 0,0024

Partial subkey (K5,5..K5,8..K5,13..K5,16)

Probability 0,0032 0,0022 0.0000 0,0000 0,0000 0,0000 0,0004 0,0000 0,0004 0,0004 0,0000 0,0004 0,0000 0,0008

1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29

2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37

Sigit Susilo

NIM.23203127

23

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

Tabel 3.5 menyoroti sebagian data yang diturunkan dari penghitung subkey (data lengkap mencakup 256 entri data, satu untuk setiap nilai subkey parsial). Nilai-nilai dalam tabel menunjukkan peluang perkiraan terjadinya pasangan benar untuk calon subkey parsial yang diturunkan dari prob = count/5000, dimana count adalah penghitung yang berkaitan dengan nilai subkey parsial tertentu. Dalam contoh, mengharapkan peluang terjadinya pasangan benar adalah pasangan diferensial = 27/1024 = 0,0264 dan didapatkan dari percobaan, peluangnya adalah 0,0244 untuk nilai subkey yang benar (2,4) 16 . Satu nilai yang sangat berdekatan. Kadang-kadang dihasilkan nilai counter yang besar, yang dijumpai pada subkey parsial target yang tidak benar. Ini menunjukkan bahwa pemeriksaan subkey parsial target yang tidak benar tidak ekivalen dengan perbandingan diferensial acak terhadap diferensial yang diharapkan. Terdapat beberapa faktor yang mempengaruhi counter menjadi tidak seperti yang diharapkan, diantaranya adalah pengaruh sifat kotak-S yang berbeda terhadap dekripsi parsial untuk subkey parsial yang berbeda. Ketidak-tepatan asumsi saling bebas yang diperlukan untuk menentukan peluang karakteristik, dan konsep bahwa diferensial merupakan gabungan dari banyak karakteristik diferensial yang lain.

Sigit Susilo

NIM.23203127

24

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : 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.

Sigit Susilo

NIM.23203127

25

Tugas Akhir Mata Kuliah Keamanan Sistem LanjutDosen : Dr. Budi Rahardjo

DAFTAR PUSTAKA 1. Budi Rahardjo, Keamanan Sistem Informasi Berbasis Internet, PT Insan Infonesia-Bandung & PT INDOCISC-Jakarta, 2002. http://budi.insan.co.id 2. Bruce Schneier, Applied Cryptography, second edition, John Wiley & Sons, Inc, 1996. 3. Bruce Schneier, "Self-Study Course in Block Cipher Cryptanalysis (http://www.schneier.com/paper-self-study.html)", (January 2000), pp. 1834. 4. Eli Biham, Adi Shamir, Differential Cryptanalysis of the Data Encryption Standard, Springer Verlag, 1993 5. http://www.encyclopedia the free dictionary.com/khazad%20(cipher) 6. http://www.encyclopedia the free dictionary.com/spn 7. http://www.wardiq.com/definition/block-cipher 8. http://www.wardiq.com/definition/spn 9. http://www.webster-dictionary.org/definition/block%20cipher 10. http://www.engr.mun.ca/-howard/Research/papers/ldc_tutorial.html Cryptologia, 24(1)

Sigit Susilo

NIM.23203127

26