BAB I : PENDAHULUAN
2.3 Pengertian Kriptografi
2.3.1 Konsep Dasar Kriptografi
Kriptografi berasal dari bahasa yunani crypto yang berarti tersembunyi atau rahasia dan graphia yang berarti tulisan. Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan
pesan ketika pesan dikirim dari suatu tempat ke tempat lain (Ariyus, 2008).
Pesan adalah data atau informasi yang dapat dibaca dan dimengerti
kurir, saluran telekomunikasi,dsb) atau yang disimpan didalam media
perekaman (kertas, storage, dsb). (Munir, 2006).
Ada beberapa pengertian menurut istilah, diantaranya yaitu :
1. Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan
dengan cara menyandikannya ke dalam bentuk yang tidak dapat
dimengerti lagi maknanya (Munir, 2006).
2. Kriptografi adalah ilmu yang mempelajari bagaimana supaya pesan atau
dokumen kita aman, tidak bisa dibaca oleh pihak yang tidak berhak
(Kurniawan, 2004).
3. Kriptografi adalah ilmu yang mempelajari bagaimana melakukan enkripsi
dan dekripsi, dengan memanfaatkan model matematika (Kurniawan, 2008).
2.3.2 Sistem kriptografi (Cryptosystem)
Cryptosystem adalah prosedur secara matematika, bagaimana suatu
plaintext diubah menjadi ciphertext. Secara umum cyptosystem dibagi menjadi dua tipe prosedur, yaitu:
1. Hashing functions, prosedur one-way (satu arah) untuk menghasilkan
ciphertext dari plaintext. Maksud one-way disini artinya, apabila suatu
plaintext telah diubah menjadi ciphertext, maka ciphertext ini tidak diubah kembali menjadi plaintext.
2. Encryption algorithms, prosedur two-way yang memungkinkan suatu
plaintext diubah menjadi ciphertext ataupun sebaliknya.
Pada encryption algorithms ini sendiri dapat diklasifikasi menjadi dua, antara lain :
a. Symmetric algorithm, memakai share key untuk melakukan enkripsi dan dekripsi.
b. Asymmetric algorithm, memakai dua key, yaitu public key untuk enkripsi dan private key untuk dekripsi (Kurniawan, 2008).
2.3.3 Algoritma kriptografi
Algoritma adalah urutan langkah-langkah logis untuk menyelesaikan
masalah yang disusun secara sistematis. Algoritma kriptografi merupakan
merupakan langkah-langkah logis bagaimana menyembunyikan pesan dari
orang-orang yang tidak berhak atas pesan tersebut (Ariyus, 2008).
Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu:
1. Enkripsi : merupakan hal yang sangat penting dalam kriptografi,
merupakan pengamanan data yang dikirimkan agar terjaga
kerahasiaannya. Pesan asli disebut plaintext, yang di ubah menjadi kode-kode yang tidak di mengerti. Enkripsi bisa diartikan dengan cipher atau
kode. Beda halnya dengan enkripsi, untuk mengubah teks-asli ke bentuk
teks kode kita menggunakan algoritma yang dapat mengkodekan data yang
kita ingini.
Sebagai contoh : kita mengubah beberapa kata menjadi angka, seperti pada
Tabel 2.1 Contoh Enkripsi
Huruf Asal Huruf diganti
A 4 U 2 I 1 E 3 O 8 PHY 7
Dari tabel diatas, misalkan kita mempunyai kata CRYPTOGRAPHY, maka akan menjadi CR7PT8GR47.
2. Dekripsi : merupakan kebalikan dari enkripsi. Pesan yang telah di enkripsi
dikembalikan ke bentuk asalnya (teks-asli), disebut dengan dekripsi pesan.
Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma
yang digunakan untuk enkripsi. Sebagai contoh: kata CR7PT8GR47
dengan menggunakan algoritma dekripsi tertentu, akan menjadi kata
CRYPTOGRAPHY
3. Kunci : yang dimaksud disini adalah kunci yang dipakai untuk melakukan
enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, yaitu: kunci
rahasia (private) dan kunci umum (public). Berikut ilustrasi proses enkripsi dan dekripsi :
Ciphertext
Plaintext
Kunci Kunci
Plaintext Enkripsi Dekripsi
Gambar 2.2. Ilustrasi Proses Enkripsi dan Dekripsi
Secara matematis proses enkripsi dan dekripsi dapat
digambarkan sebagai:
C = E(P) dan P = D(C), sehingga
P = D(E(P))
Dimana
P = plaintext
C = ciphertext
E = fungsi enkripsi yang memetakan plaintext ke ciphertext
D = fungsi dekripsi yang memetakan ciphertext ke plaintext
Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga
merupakan aspek keamanan informasi yaitu (Munir, 2006):
1. Kerahasiaan (confidentiality), adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak
berhak.
2. Integritas data (data integrity), adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama
3. Otentikasi (authentication), adalah layanan yang berhubungan dengan identifikasi, baik mengidentifikasi kebenaran pihak-pihak yang
berkomunikasi (user authentication atau entity authentication) maupun mengidentifikasi kebenaran sumber pesan (data origin authentication). 4. Nirpenyangkalan (non-repudiation), adalah layanan untuk mencegah
suatu entitas yang berkomunikasi melakukan penyangkalan, yaitu
pengirim pesan menyangkal melakukan pengiriman atau penerima
pesan menyangkal telah melakukan pengiriman.
Kriptosistem membutuhkan suatu kunci, berdasarkan kunci yang
digunakan kriptosistem dibagi menjadi dua yaitu :
2.3.3.1 Kriptosistem Simetrik
Enkripsi dan dekripsi menggunakan kunci yang sama. Contoh: DES,
RC4, Blowfish, AES, IDEA, A5.
2.3.3.2 Kriptosistem Asimetrik
Enkripsi dan dekripsi menggunakan kunci yang berbeda tetapi
merupakan pasangan. Pasangan tersebut terdiri dari :
1. Kunci publik (public )
Kunci ini dapat disebarkan kesiapa saja. Setiap yang mengetahui
kunci ini dapat melakukan enkripsi namun cipherteks yang
dihasilkan hanya dapat didekripsi menggunakan kunci
2. Kunci pribadi (private )
Kunci ini adalah pasangan dari kunci publik, hanya boleh diketahui
oleh pihak yang membangkitkan kunci.
Kriptosistem asimetrik bisa disebut juga kriptosistem kunci publik.
Contoh: RSA, El Gamal, Rabin.
2.3.4 Kriptosistem DES
Data Encryption Standard (DES) adalah salah satu kriptosistem simetrik. Dipublikasikan sejak tahun 1977 dan telah dipakai sebagai standar
selama 18 tahun. Berdasarkan data inputan yang diproses, DES termasuk
dalam kriptosistem blok dimana enkripsi dilakukan terhadap 1 blok data
plaintext sebanyak 64-bit dan kunci 56-bit. Plaintext tersebut dilewatkan kepada 16 tahap enkripsi yang disebut iterasi atau round. Round dapat
digambarkan sebagai berikut:
Li-1 Li-1 Key
Shift Shift
Gambar 2.3.Round pada DES
S-Box Permutation
P-Box P t ti
Expansion Compression
Nilai keluaran setiap round ditukar posisinya sebelum memasuki
round berikutnya. Pada tiap round digunakan nilai kunci yang dibangkitkan
dari kunci input melalui proses schedule. Proses tersebut dapat digambarkan sebagai berikut:
KEY
PERMUTED CHOICE 1
C 0
Gambar 2.4. Schedule pada DES
Bagian yang terpenting dari kriptosistem DES adalah S-box. S-box ini
merupakan fungsi yang memetakan suatu nilai biner 6-bit menjadi nilai biner
LEFTSHIFTS D 0 LEFT SHIFTS C 1 D 1 PERMUTED CHOICE 2 LEFT SHIFTS LEFT SHIFTS
D 15
C 15
LEFT SHIFTS LEFT SHIFTS
D 16 C 16 PERMUTED CHOICE 2 PERMUTED K1 K15 CHOICE 2 K16
4-bit. DES memiliki 8 buah S-box yang merupakan fungsi non linear, dimana
nilai keluarannya tidak dapat dikembalikan atau digunakan untuk mencari
nilai inputan S-box tersebut. S-box dapat digambarkan sebagai berikut :
48-Bit Input
S-Box 1 S-Box 2 S-Box 3 S-Box 4 S-Box 5 S-Box 6 S-Box 7 S-Box 8
32-Bit Output
Gambar 2.5. Hubungan Antar S-box
Sebelum memasuki round pertama plainteks mengalami perubahan posisi bit melalui proses initial permutasi. Dan setelah melewati round
terakhir terjadi perubahan posisi bit melalui proses invers initial permutasi
yang merupakan kebalikan dari initial permutasi. Output dari invers initial
permutasi inilah yang kemudian menjadi blok ciphertext. Enkripsi 1 blok data pada DES dapat digambarkan sebagai berikut :
Cipherteks R0 R1=L0⊕ f(R0,K1) R2=L1⊕ f(R1,K2) R15=L14⊕ f(R14,K15) L16 = R15 L0 L2 = R1 R16=L15⊕ f(R15,K16) L15 = R14 L1 = R0 IP IP-1 f f f K1 K16 K2
Gambar 2.6. Skema Enkripsi DES
Dalam implementasinya DES banyak digunakan untuk mengamankan
data yang bersifat terbatas, dimana klasifikasinya penting tetapi tidak terlalu
rahasia. Kriptosistem ini digunakan karena dianggap cukup kuat dan mudah
diimplementasikan pada perangkat keras maupun perangkat lunak. Diantara
aplikasi penggunaannya adalah pada bidang perbankan yaitu untuk
mengenkripsi nomor Personal Identification Number (PIN) dan penarikan rekening dengan melalui Automated Teller Machine (ATM).
2.3.4.1 Kelebihan DES
1. Proses enkripsinya lebih cepat.
2. kekuatanya terletak pada panjang kuncinya.
2.3.4.2 Kelemahan DES
1. Enkripsi dan dekripsi menggunakan kunci yang sama
2. Panjang kunci DES yang hanya 56 bit, sehingga dengan muda bagi
kriptoanalis untuk dapat membobolnya.
2.3.5 Triple Data Encryption Standard (Triple DES)
3DES (Triple Data Encryption Standard) merupakan suatu algoritma pengembangan dari algoritma DES (Data Encryption Standard). Pada dasarnya algoritma yang digunakan sama, hanya pada 3DES dikembangkan
dengan melakukan enkripsi dengan implementasi algoritma DES sebanyak
tiga kali. 3DES memiliki tiga buah kunci yang berukuran 168-bit (tiga kali
kunci 56-bit dari DES). Coba perhatikan gambar dibawah ini:
Enkripsi DES Kunci 1 Enkripsi DES Kunci 2 Enkripsi DES Kunci 3 ciphertext Enkripsi DES Kunci 1 Enkripsi DES Kunci 2 Enkripsi DES Kunci 3 Plaintext Plaintext
Pada gambar diatas terdapat tiga kunci, yaitu K1, K2, K3. Proses kerja dari
3DES, K1 berfungsi untuk enkripsi, K2 untuk dekripsi, dan K3 untuk
enkripsi, atau juga dikenal dengan mode Encrypt Descrypt Encript (EDE).
Contoh:
Diberikan tiga kunci:
K1 = 0x260b152f31b51c68
K2 = 0x321f0d61a773b558
K3 = 0x519b7331bf104ce3
Dan teks-asli P = 0x403da8a295d3fed9
16 Putaran kunci yang cocok diberikan K1, K2, dan K3. Untuk melakukan
perhitungan, yaitu pada tabel:
Tabel 2.2 : 16 Putaran tiga Kunci
Putaran K1 K2 K3
1 000ced9158c9 5a1ec4b60e98 03e4ee7c63c8
2 588490792e94 710c318334c6 8486dd46ac65
3 54882eb9409b c5a8b4ec83a5 575a226a8ddc
4 a2a006077207 96a696124ecf aab9e009d59b
5 280e26b621e4 7e16225e9191 98664f4f5421
6 e03038a08bc7 Ea906c836569 615718ca496c
7 84867056a693 88c25e6abb00 4499e580db9c
8 c65a127f0549 245b3af0453a 93e853d116b1
10 A311155c0deb 1a915708a7f0 27b30c31c6a6
11 0d02d10ed859 2d405ff9cc05 0a1ce39c0c87
12 1750b843f570 2741ac4a469a f968788e62d5
13 9e01c0a98d28 9a09b19d710d 84e78833e3c1
14 1a4a0dc85e16 9d2a39a252e0 521f17b28503
15 09310c5d42bc 87368cd0ab27 6db841ce2706
16 53248c80ee34 30258f25c11d C9313c0591e3
Enkripsi:
Tahap Pertama : EK1 = 0x7a39786f7ba32349
Tahap Kedua : DK2 = 0x9c60f85369113aea
Tahap Ketiga : EK3 = 0xe22ae33494beb930 = C ( Teks Kode )
Dekripsi:
Tahap Pertama : DK3 = 0x9c60f85369113aea
Tahap Kedua : EK2 = 0x7a39786f7ba32349
Tahap Ketiga : DK1 = 0x403da8a295d3fed9 = P ( Teks asli )
2.3.5.1 Kelebihan Triple DES
1. Proses enkripsi dekripsi 3 kali dari DES jadi lebih aman dibandingkan
dengan DES.
2.3.5.2 Kelemahan Triple DES
1. Proses enkripsi dan dekripsinya menggunakan kunci yang sama.
2. Dapat dianalisis dengan metode linier cryptoanalysis atau davies attack.