2.4.4 Proses Enkripsi Pesan
Proses enkripsi pesan sebagai berikut: 1.
Ambil kunci publik penerima pesan e, dan modulus n. 2.
Nyatakan plainteks m menjadi blok-blok m
1
, m
2
, ..., sedemikian sehingga setiap blok merepresentasikan nilai di dalam selang [0, n - 1].
3. Setiap bok m
i
dienkripsi menjadi blok c
i
dengan rumus c
i
= m
i e
mod n
2.4.5 Proses Dekripsi Pesan
1. Setiap blok cipherteks c
i
didekripsi kembali menjadi blok m
i
dengan rumus m
i
= c
i d
mod n.
2.4.6. Keamanan RSA
Keamanan dari sistem kriptografi RSA adalah didasari oleh dua problem matematika: 1.
Problem dalam faktorisasi bilangan berjumlah banyak 2.
Problem RSA, yaitu mencari modulo akar e
n
dari sebuah bilangan komposit n yang faktor-faktornya tidak diketahui.
Proses dekripsi penuh dari sebuah ciphertext RSA dianggap sesuatu hal yang tidak mudah karena kedua problem ini diasumsikan sulit. Belum ada algoritma yang mangkus
untuk menyelesaikannya. Metode pendekatan yang diyakini dapat menyelesaikan problem RSA saat ini adalah
memfaktor dari modulus n. Dengan kemampuan untuk mengembalikan faktor yang merupakan bilangan prima, sebuah serangan dapat menghitung eksponen rahasia dari d dan
dari kunci publik e, n, lalu mendekripsi c menggunakan prosedur standar.
2.5 Algoritma DES
Universitas Sumatera Utara
DES, akronim dari Data Encryption Standard, adalah nama dari Federal Information Processing Standard FIPS 46-3, yang menggambarkan Data Encryption Algorithm DEA.
DEA juga didefinisikan dalam ANSI standard X3.92. DEA merupakan perbaikan dari algoritma Lucifer yang dikembangkan oleh IBM pada awal tahun 1970-an.
Meskipun algoritmanya pada intinya dirancang oleh IBM, NSA dan NBS sekarang NIST National Institute of Standards and Technology memainkan peranan penting pada
tahap akhir pengembangan. DEA, sering disebut DES, telah dipelajari secara ekstensif sejak publikasinya dan merupakan algoritma simetris yang paling dikenal dan paling banyak
digunakan. DEA memiliki ukuran blok 64-bit dan menggunakan kunci 56-bit kunci selama eksekusi 8 bit paritas dihilangkan dari kunci 64 bit.
DEA adalah symmetric cryptosystem, khususnya cipher Feistel 16-rounddan pada mulanya dirancang untuk implementasi hardware. Saat digunakan untuk komunikasi, baik
pengirim maupun penerima harus mengetahui kunci rahasia yang sama, yang dapat digunakan untuk mengenkrip dan mendekrip pesan, atau untuk menggenerate dan
memverifikasi message authentication code MAC. DEA juga dapat digunakan untuk enkripsi single user, seperti untuk menyimpan file pada harddisk dalam bentuk terenkripsi.
Dalam lingkungan multiuser, distribusi kunci rahasia akan sulit. Public-key cryptography menyediakan solusi yang ideal untuk masalah ini.
NIST telah mensertifikasi kembali DES FIPS 46-1, 46-2, 46-3 setiap 5 tahun.FIPS 46-3 mensahkan kembali penggunaan DES sampai Oktober 1999, namun single DES hanya
diijinkan untuk legacy systems. FIPS 46-3 mencakup definisi dari triple-DES TDEA, menurut X9.52; TDEA adalah pilihan algoritma simetris yang disetujui oleh FIPS. Dalam
beberapa tahun, DES dan triple-DES akan digantikan dengan AES Advanced Encryption Standard.
2.5.1 Cara kerja Algoritma DES
DES data encrytion standard mengenkrip plaintext sebesar 64 bit 8 byte dengan panjang kunci sekitar 56 bit 7 byte, sebanyak 16 putaran. Data 64 bit akan disubtitusi terlebih dahulu
Universitas Sumatera Utara
dengan permutasi IP initial permutation. IP digunakan sebelum putaran pertama dari 16 putaran, dan mensubtitusi blok input dengan ketentuan sebagai berikut:
IP = 58, 50, 42, 34, 26, 18, 10, 2,
60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6,
64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1,
59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5,
63, 55, 47, 39, 31, 23, 15, 7.
Sebagai contoh IP akan memindahkan bit ke-58 dari plaintext menjadi bit ke-1, bit ke- 50 menjadi bit ke-2, bit ke-43 menjadi bit ke-3, dan seterusnya.
IP initial permutation dan final permutation atau invers IP tidak mempengaruhi keamanan dari DES. Tujuan utamanya yaitu hanya untuk memudahkan dalam memanggil
data plaintext atau data ciphertext ke dalam chip DES yang berbentuk potongan-potongan byte dalam softwareprogram komputer.
Plaintext yang telah disubtitusi akan dipecah menjadi dua bagian sebesar 32 bit kiri L dan 32 bit kanan R. pada setiap putarannya data kiri akan menjadi data kanan, data kanan
akan dilakukan operasi data kiri di-Xor-kan dengan fungsi f. Li=Ri-1
Ri=Li-1 Xor fRi-1,Ki
Kemudian dilanjutkan dengan melakukan subtitusi final permutation atau invers IP IPinv. Ipinv merupakan invers dari IP dan digambarkan dengan ketentuan sebagai berikut:
Ipinv = 40, 8, 48, 16, 56, 24, 64, 32, 39, 7, 47, 15, 55, 23, 63, 31,
38, 6, 46, 14, 54, 22, 62, 30, 37, 5, 45, 13, 53, 21, 61, 29,
36, 4, 44, 12, 52, 20, 60, 28, 35, 3, 43, 11, 51, 19, 59, 27,
34, 2, 42, 10, 50, 18, 58, 26, 33, 1, 41, 9, 49, 17, 57, 25.
Universitas Sumatera Utara
dalam putaran terakhirnya, blok R
16
L
16
tidak terjadi pertukaran tetapi blok ini menjadi input untuk IPinv.
Gambar 2 6. Diagram Alir Enkripsi dengan metode DES
Untuk fungsi f, data sebelah kanan sebesar 32 bit akan dipermutasi dengan expansion permutation E sehingga akan menghasilkan ciphertext sebesar 48 bit, kemudian dilakukan
operasi Xor dengan blok kunci dan diinputkan ke dalam sbox. Sbox terdiri atas 8 buah. Hasilnya akan disubtitusi dengan P-Box permutation P sekaligus membentuk data menjadi
32 bit lagi. Berikut isi dari E dan P: E =
32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11,
12, 13, 12, 13, 14, 15, 16, 17,
Universitas Sumatera Utara
16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27,
28, 29, 28, 29, 30, 31, 32, 1. P =
16, 7, 20, 21, 29, 12, 28, 17, 1, 15, 23, 26, 5, 18, 31, 10,
2, 8, 24, 14, 32, 27, 3, 9, 19, 13, 30, 6, 22, 11, 4, 25
Gambar 2.7 Algoritma fungsi f metode DES
Isi dari Sboxnya adalah sebagai berikut:
S1 = 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8,
4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13.
Universitas Sumatera Utara
S2 = 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5,
0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9.
S3 = 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1,
13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12.
S4 = 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 5, 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9,
10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14.
S5 = 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6,
4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3.
S6 = 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8,
9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13.
S7 = 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6,
1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12.
S8 = 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2,
7, 11, 14, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11.
Universitas Sumatera Utara
Blok kunci terdiri atas 16 blok, masing-masing berjumlah 56 bit. Sebelumnya, inputan blok kunci 64 bit akan didistribusi terlebih dahulu dengan permuted Choice 1 Pc1 atau
disebut juga sebagai Key Permutation blok kunci menjadi 56 bit, kemudian dipecah menjadi 2 bagian dengan setiap bagian sebesar 28 bit . Setiap blok ke 1, 2, 9, 16 akan dirotasi
1 bit ke kiri, sisanya 2 bit ke kiri kemudian digabungkan kembali menjadi 56 bit. Terakhir dilakukan permutasi dengan Permuted Choice 2 Pc2 atau disebut juga sebagai Compression
Permutation sehingga menjadi 48 bit. Berikut isi dari Pc1 dan Pc2:
Pc1 = 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36,
63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4.
Pc2 = 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2,
41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32.
Berikut adalah gambar dari pembentukan 16 blok kunci:
Universitas Sumatera Utara
Gambar 2.8 Diagram Alir Blok Kunci
Untuk proses deskripsinya, operasinya akan dibalik dengan operasi enkripsi yaitu: L
i
= R
i-1
R
i
= L
i-1
Xor fR
i-1
,K
i
dengan urutan kunci terbalik yaitu dimulai dari blok kunci yang terakhir.
2.5.2 Keamanan DES
Isu-isu yang menjadi perdebatan kontroversial menyangkut keamanan DES: 1.
Panjang kunci DES saat ini sudah dianggap tidak aman lagi, penyebabnya karena panjang kuncinya
yang pendek. Panjang kunci eksternal DES hanya 64 bit atau 8 karakter, itupun yang dipakai hanya 56 bit. Pada rancangan awal, panjang kunci yang diusulkan IBM adalah
128 bit, tetapi atas permintaan NSA panjang kunci diperkecil menjadi 56 bit. Alasan pengurangan tidak diumumkan. Serangan yang paling praktis terhadap DES adalah
exhaustive key search. Dengan panjang kunci 56 bit akan terdapat 2
56
atau
Universitas Sumatera Utara
72.057.594.037.927.936 kemungkinan kunci. Jika diasumsikan serangan exhaustive key search dengan menggunakan prosesor paralel mencoba setengah dari jumlah
kemungkinan kunci itu, maka dalam satu detik dapat dikerjakan satu juta serangan. Jadi seluruhnya diperlukan 1142 tahun untuk menemukan kunci yang benar.
Namun, pada tahun 1998 Electronic Frontier Foundation EFE merancang dan membuat perangkat keras khusus untuk menemukan kunci DES secara exhaustive key
search dengan biaya 250.000 dan diharapkan dapat menemukan kunci selama 5 hari. Tahun 1999, kombinasi perangkat keras EFE dengan kolaborasi internet yang
melibatkan lebih dari 100.000 komputer dapat menemukan kunci DES kurang dari 1 hari.
2. Jumlah putaran
Sebenarnya, delapan putaran sudah cukup untuk membuat cipherteks sebagai fungsi acak dari setiap bit plainteks dan setiap cipherteks. Dari penelitian DES dengan
jumlah putaran yang kurang dari 16 kali ternyata dapat dipecahkan dengan known- plaintext attack lebih mangkus daripada dengan brute force attack.
3. Sbox
Pengisian Sbox DES masih menjadi misteri tanpa ada alasan mengapa memilih konstanta-konstanta di dalam kotak itu.
2.5.3 Triple DES
Triple DES merupakan pengembangan dari algoritma DES. Triple DES mempunyai kunci yang lebih panjang 3 kali daripada DES. Cara ini dipakai untuk membuat DES lebih kuat
lagi, yaitu dengan melakukan enkripsi DES tiga kali. Triple DES adalah jawaban untuk menutupi kekurangan dari DES. Panjang kunci
yang digunakan lebih panjang sehingga dapat mematahkan serangan yang tiba-tiba datang. Cara kerja dari model enkripsi ini adalah mengambil 3 kunci sebanyak 64 bit dari seluruh
Universitas Sumatera Utara
kunci yang mempunyai panjang 192 bit. Triple DES memungkinkan pengguna memakai 3 sub kunci dengan masing-masing panjangnya 64 bit. Prosedur untuk enkripsi sama dengan
DES tetapi diulang sebanyak 3 kali. Data dienkrip dengan kunci pertama kemudian didekrip dengan kunci kedua dan pada akhirnya dienkrip dengan kunci ketiga.
Gambar 2.9 Triple DES
Akibatnya Triple DES menjadi 3 kali lebih lambat dari DES, tetapi lebih aman jika digunakan sebagaimana mestinya.
2.6 Perbandingan Kriptografi Kunci Simetris dengan Kriptografi Kunci Asimetris