Data
Encryption Standard
(DES)
Rinaldi
Munir (2006) mengartikan Data Encryption Standard
(DES) merupakan algoritma enkripsi yang paling banyak dipakai di dunia. DES
diadopsi oleh NIST (National Institute of
Standard and Technology) sebagai standar pengolahan informasi Federal AS.
Secara umum DES terbagi menjadi tiga kelompok, yaitu pemrosesan kunci, enkripsi
data 64 bit, dan dekripsi data 64 bit yang mana satu kelompok saling
berinteraksi satu dengan yang lainnya.
Algoritma DES
DES termasuk ke dalam sistem kriptografi kunci simetri
dan tergolong ke dalam cipher blok. DES beroperasi pada ukuran blok 64 bit. DES
mengenkripsi 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan 56
bit kunci internal (internal key).
Kunci internal dibangkitkan dari kunci eksternal (external key) yang panjangnya 64 bit.
Di dalam proses enchipering, blok plainteks dibagi
menjadi dua bagian, kiri (L) dan kanan (R), yang masing-masing panjangnya 32
bit. Kedua bagian ini masuk ke dalam 16 putaran DES. Pada setiap putaran i,
blok R merupakan masukan untuk fungsi transformasi yang disebut f. pada fungsi
f, blok R dikombinasikan dengan kunci internal Ki. keluaran dari
fungsi f di –XOR-kan dengan blok L untuk mendapatkan blok R yang baru.
Sedangkan blok L yang baru langsung diambil dari blok R sebelumnya. Ini adalah
satu putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai :
Li = Ri-1
Ri = Li-1 f(Ri-1, Ki)
Kriptografi
Kriptografi
(cryptographi) berasal dari Bahasa Yunani: “cryptos” artinya “secret”
(rahasia), sedangkan “graphein” artinya “writing” (tulisan).
Sehingga kriptografi berarti “secret writing” (tulisan rahasia). Jadi
kriptografi didefinisikan sebagai ilmu dan seni untuk menjaga
kerahasiaan pesan dengan cara menyandikannya kebentuk yang tidak dapat dimengerti lagi maknanya. Kata “seni”
dalam definisi tersebut berasal dari fakta sejarah bahwa pada masa-masa
awal sejarah kroptografi, setiap orang mungkin mempunyai cara yang unik untuk merahasiakan pesan. Cara-cara tersebut mungkin
berbeda-beda pada setiap pelaku kriptografi
sehingga setiap cara menulis pesan rahasia, pesan tersebut mempunyai nilai estetika
tersendiri sehingga kriptografi berkembang menjadi sebuah seni merahasiakan pesan. (Menezes, Oorschot and Vanstone, 1996)
Definisi di atas mungkin cocok pada masa lalu dimana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tapi juga untuk tujuan data integrasi, authentication, dan non-repudiation. A.Menezes mendefinisikan kriptografi sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi. Definisi ini dapat dianggap sebagai pembanding antara kriptografi pada masa lalu dan kriptografi masa sekarang. Dewasa ini kriptografi berkembang menjadi sebuah disiplin ilmu sendiri karena teknik-teknik kriptografi dapat diformulasikan secara matematika sehingga menjadi sebuah metode yang formal.
Definisi di atas mungkin cocok pada masa lalu dimana kriptografi digunakan untuk keamanan komunikasi penting seperti komunikasi di kalangan militer, diplomat dan mata-mata. Namun saat ini kriptografi lebih dari sekedar privacy, tapi juga untuk tujuan data integrasi, authentication, dan non-repudiation. A.Menezes mendefinisikan kriptografi sebagai ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan, integritas data serta otentikasi. Definisi ini dapat dianggap sebagai pembanding antara kriptografi pada masa lalu dan kriptografi masa sekarang. Dewasa ini kriptografi berkembang menjadi sebuah disiplin ilmu sendiri karena teknik-teknik kriptografi dapat diformulasikan secara matematika sehingga menjadi sebuah metode yang formal.
Plainteks dan Cipherteks
Pesan (message) adalah data atau informasi yang
dapat dibaca dan dimengerti maknanya. Nama lain
dari pesan adalah plainteks (plaintext) atau teks jelas (cleartext).
Pesan
dapat berupa data atau informasi yang dikirim (melalui kurir, saluran telekomunikasi, dll) atau yang disimpan di dalam
media perekam (kertas, storage, dll). Pesan
yang tersimpan tidak hanya berupa teks, tetapi juga dapat berbentuk citra (image),
suara, bunyi (audio), video atau berkas biner lainnya.
Agar pesan tidak
dapat dimengerti maknanya oleh pihak lain, maka pesan dapat disandikan
ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut
cipherteks (ciphertext) atau
kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plainteks semula agar pesan yang
diterima bisa dibaca.
Enkripsi dan Dekripsi
Proses penyandian plainteks menjadi cipherteks disebut
enkripsi (encryption) atau enciphering. Sedangkan proses mengembalikan cipherteks menjadi
plainteks semula dinamakan dekripsi (decryption)
atau deciphering. Enkripsi dan dekripsi dapat diterapkan baik
pada pesan yang dikirim maupun pada pesan yang tersimpan.
Cipher dan Kunci
Algoritma
kriptografi disebut juga cipher yaitu aturan untuk enchipering dan deciphering,
atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa
cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Konsep matematika yang mendasari algoritma
kriptografi adalah relasi antar dua buah
himpunan yaitu himpunan yang berisi elemen-element plainteks dan himpunan yang berisikan cipherteks. Enkripsi dan dekripsi
merupakan fungsi yang memetakan elemen-elemen
antara dua himpunan tersebut.
Misalnya P mewakili plainteks dan C menyatakan cipherteks maka fungsi enkripsi E memetakan P ke C,
E(P) = C
Dan fungsi dekripsi D memetakan C ke P,
D(C) = P
Karena proses enkripsi kemudian dekripsi mengembalikan
pesan ke pesan awal, maka persamaan berikut
harus benar,
D(E(P)) = P
Keamanan
algoritma kriptografi sering diukur dari banyaknya kerja (word) yang dibutuhkan untuk memecahkan cipherteks menjadi
plainteks tanpa mengetahui kunci yang digunakan. Kerja ini dapat
diekivalenkan dengan waktu, memori, uang dan lain-lain. Semakin banyak kerja
yang diperlukan berarti juga semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma kriptografi tersebut, yang berarti semakin aman digunakan untuk menyandikan pesan.
Jika
keamanan kriptografi ditentukan dengan menjaga kerahasiaan algoritmanya, maka algoritma kriptografinya dinamakan algoritma restricted,
dimana algoritma restricted ini mempunyai sejarah tersendiri di dalam
kriptografi. Algoritma restricted biasanya digunakan oleh
sekelompok orang untuk bertukar pesan satu sama yang lain. Mereka membuat suatu
algoritma enkripsi dan algoritma enkripsi tersebut hanya diketahui oleh anggota
kelompok itu saja. Tetapi algoritma restricted tidak cocok lagi saat ini, sebab setiap kali
ada anggota kelompok keluar, maka
algoritma kriptografi harus diganti lagi.
Kriptografi modern mengatasi masalah di atas dengan
menggunakan kunci, yang dalam hal ini algoritma
tidak lagi dirahasiakan, tetapi kunci harus dijaga kerahasiaannya. Kunci
(key) adalah parameter yang digunakan untuk transformasi enciphering
dan deciphering. Kunci biasanya
berupa string atau deretan bilangan. Dengan menggunakan kunci K maka fungsi
enkripsi dapat ditulis sebagai:
EK(P) =
C
dan
fungsi dekripsi dapat ditulis
sebagai :
DK(C) =
P
Dan kedua fungsi ini memenuhi :
DK(EK(P))
= P
Tujuan
Kriptografi
Kriptografi
bertujuan untuk memberikan layanan keamanan sebagai berikut:
1. Kerahasiaan
(confidentiality), adalah layanan yang bertujuan untuk menjaga agar
pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Didalam
kriptografi, layanan ini direalisasikan
dengan menyandikan pesan menjadi cipherteks.
2. Integritas data (data integrity), adalah layanan yang
menjamin bahwa pesan masih asli/utuh atau
belum pernah dimanipulasi selama pengiriman. Di dalam kriptografi, layanan ini direalisasikan dengan menggunakan
tanda tangan digital (digital signature). Pesan yang telah
ditandatangani menyiratkan bahwa pesan yang dikirim adalah asli.
3. Otentikasi (authentication), adalah layanan yang
berhubungan dengan identifikasi, baik
mengidentifikasi kebenaran pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan. Dua pihak yang
saling berkomunikasi harus dapat mengotentikasi satu sama lain
sehingga ia dapat memastikan kebenaran sumber pesan. Pesan yang dikirim melalui
saluran komunikasi juga harus diotentikasi asalnya. Otentikasi sumber pesan
secara implisit juga memberikan kepastian integritas
data, sebab jika pesan telah dimodifikasi berarti sumber pesan sudah tidak benar.
Oleh karena itu, layanan integritas data selalu dikombinasikan dengan layanan otentikasi sumber pesan. Didalam kriptografi,
layanan ini direalisasikan dengan menggunakan
tanda tangan digital. Tanda-tangan digital menyatakan sumber pesan.
4. Nirpenyangkalan (non-repudiation), adalah layanan
untuk mencegah entitas yang berkomunikasi melakukan penyangkalan,
yaitu pengirim pesan menyangkal melakukan
pengiriman atau penerima pesan menyangkal telah menerima pesan. Sebagai
contoh misalnya pengirim pesan memberi otoritas kepada penerima pesan untuk
melakukan pembelian, namun pengirim pesan menyangkal telah memberikan otoritas
tersebut.