Archive for September 2014
KRIPTOGRAFI
KRIPTOGRAFI
A. Definisi Kriptografi
Kriptografi berasal
dari bahasa yunani, menurut bahasa dibagi menjadi dua kripto dan graphia,
kripto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut
teminologinya kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan
ketika pesan di kirim dari suatu tempat ketempat yang lain.
Implementasi dari
kriptografi sangat banyak bisa kita temui dalam kehidupan sehari-hari, seperti
Automatic Teller Machine (ATM),Penggunaan ATM untuk banking, bahkan mulai
meningkat menjadi Internet Banking, Mobile Banking, Komunikasi elektronik
seperti telepon tetap, cellular, SMS, MMS. 3G, Komunikasi via Internet seperti
email, messaging, chatting, Voice Call dan E-Government , E-Commence.
Menurut catatan
sejarah, kriptografi sudah digunakan oleh bangsa Mesir sejak 4000 tahun yang
lalu oleh raja-raja Mesir pada saat perang untuk mengirimkan pesan rahasia
kepada panglima perangnya melalui kurir-kurinya. Orang yang melakukan
penyandian ini disebut kriptografer, sedangkan orang yang mendalami
ilmu dan seni dalam membuka atau memecahkan suatu algoritma kriptografi tanpa
harus mengetahui kuncinya disebut kriptanalis.
Seiring dengan
perkembangan teknologi, algoritma kriptografi pun mulai berubah menuju ke arah
algoritma kriptografi yang lebih rumit dan kompleks. Kriptografi mau tidak mau
harus diakui mempunyai peranan yang paling penting dalam peperangan sehingga
algoritma kriptografi berkembang cukup pesat pada saat Perang Dunia I dan
Perang Dunia II. Menurut catatan sejarah, terdapat beberapa algoritma
kriptografi yang pernah digunakan dalam peperangan, diantaranya adalah ADFVGX
yang dipakai oleh Jerman pada Perang Dunia I, Sigaba/M-134yang
digunakan oleh Amerika Serikat pada Perang Dunia II, Typex oleh
Inggris, dan Purple oleh Jepang. Selain itu Jerman juga
mempunyai mesin legendaris yang dipakai untuk memecahkan sandi yang dikirim
oleh pihak musuh dalam peperangan yaitu, Enigma.
Algoritma kriptografi
yang baik tidak ditentukan oleh kerumitan dalam mengolah data atau
pesan yang akan disampaikan. Yang penting,
algoritma tersebut harus memenuhi 4 persyaratan berikut:
1. Kerahasiaan.
Pesan (plaintext) hanya dapat dibaca oleh pihak yang memliki kewenangan.
2. Autentikasi.
Pengirim pesan harus dapat diidentifikasi dengan pasti, penyusup harus
dipastikan tidak bisa berpura-pura menjadi orang lain.
3. Integritas.
Penerima pesan harus dapat memastikan bahwa pesan yang dia terima tidak
dimodifikasi ketika sedang dalam proses transmisi data
4. Non-Repudiation.
Pengirim pesan harus tidak bisa menyangkal pesan yang dia kirimkan.
Kriptografi
pada dasarnya terdiri dari dua proses, yaitu proses enkripsi dan proses
dekripsi. Proses enkripsi adalah proses penyandian pesan terbuka menjadi pesan
rahasia (ciphertext). Ciphertext inilah yang nantinya
akan dikirimkan melalui saluran komunikasi terbuka. Pada saat ciphertext diterima
oleh penerima pesan, maka pesan rahasia tersebut diubah lagi menjadi pesan
terbuka melalui proses dekripsi sehingga pesan tadi dapat dibaca kembali oleh
penerima pesan.
Dalam sistem komputer,
pesan terbuka (plaintext) diberi lambang M, yang merupakan singkatan
dari Message. Plaintext ini
dapat berupa tulisan, foto, atau video yang berbentuk data biner.
B. Elemen
Kriptografi
Berikut Elemen-elemen
Kriptografi :
1. Pesan, Plainteks dan Cipherteks.
Pesan adalah data atau
informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan
adalah plainteks. Agar pesan tidak bisa dimengerti maknanya oleh pihak lain,
maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk
pesan yan g tersandi disebut cipherteks
2. Pengirim dan Penerima
Pengirim adalah
entitas yang mengirim pesan kepada entitas lainnya. Penerima adalah entitas
yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer),
kartu kredit dan sebagainya.
3. Enkripsi dan dekripsi
Proses menyandikan
plainteks menjadi cipherteks disebut enkripsi. Sedangkan proses mengembalikan
cipherteks menjadi plainteks semula dinamakan dekripsi
4. Cipher
Algoritma kriptografi disebut juga cipher yaitu aturan untuk enciphering dan
deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi.
Konsep matematis yang mendasari algoritma kriptografi adalah relasi antara dua
buah himpunan yaitu himpunan yang berisi elemen-elemen plainteks dan himpunan
yang berisi cipherteks. Enkripsi dan dekripsi adalah fungsi yang memetakan
elemen-elemen antara kedua himpunan tersebut.
5. Sistem kriptograf
Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi,
semua plainteks dan cipherteks yang mungkin dan kunci.
6. Penyadap
Penyadap adalah orang yang berusaha mencoba menangkap pesan selama
ditransmisikan dengan tujuan mendapatkan informasi sebanyak-banyaknya mengenai
sistem kriptografi yang digunakan untuk berkomunikasi dengan maksud untuk
memecahkan cipherteks.
7. Kriptanalisis dan kriptologi
Kriptanalisis
(cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi
plainteks tanpa mengetahui kunci yang digunakan. Pelakunya disebut kriptanalis.
Kriptologi adalah studi mengenai kriptografi dan kriptanalisis.
C. Metode Kriptografi
Dalam menjaga
kerahasiaan data, kriptografi mentransformasikan data jelas (plaintext)
ke dalam bentuk data sandi (ciphertext) yang tidak dapat dikenali.
Ciphertext inilah yang kemudian dikirimkan oleh pengirim (sender) kepada
penerima (receiver). Setelah sampai di penerima, ciphertext tersebut
ditranformasikan kembali ke dalam bentuk plaintext agar dapat dikenali.
Proses tranformasi
dari plaintext menjadi ciphertext disebut proses Enciphermentatau
enkripsi (encryption), sedangkan proses mentransformasikan kembali
ciphertext menjadi plaintext disebut proses dekripsi (decryption).
Untuk mengenkripsi dan
mendekripsi data. Kriptografi menggunakan suatu algoritma (cipher) dan kunci
(key). Cipher adalah fungsi matematika yang digunakan untuk mengenkripsi dan
mendekripsi data. Sedangkan kunci merupakan sederetan bit yang diperlukan untuk
mengenkripsi dan mendekripsi data.
Jenis-jenis algoritma
kriptografi :
Algoritma kriptografi
adalah algoritma yang berfungsi untuk melakukan tujuan dari ilmu kriptografi
itu sendiri. Algoritma kriptografi terdiri dari 2 bagian fungsi, yaitu :
1. ENKRIPSI (encryption)
Proses tranformasi
dari plaintext menjadi ciphertext disebut prosesEncipherment atau
enkripsi (encryption).
2.
DEKRIPSI (decryption)
Proses
mentransformasikan kembali ciphertext menjadi plaintext disebut proses dekripsi
(decryption).
Shannon mengatakan bahwa
Algoritma kriptografi harus memiliki kekuatan untuk melakukan konfusi dan
difusi.
·
KONFUSI (confusion). Mengaburkan hubungan antara plaintext dan
ciphertext. Cara paling mudah untuk melakukan konfusi adalah menggunakan
substitusi. Konfusi menimbulkan kesulitan dalam usaha musuh untuk mencari
keteraturan dan pola statistik antara plaintext dan ciphertext.
DIFUSI (difusion),
Menyebarkan redudansi plaintext dengan menyebarkan masukan ke seluruh
ciphertext. Cara yang paling mudah untuk dapat melakukan difusi adalah dengan
menggunakan metode transposisi. Jika menggunakan difusi, akan dibutukan waktu
ang lebih lama untuk memecakan sandi rahasia ini.
Sehingga dapat
digunakan untuk mengamankan informasi. Pada implementasinya sebuah algoritma
sandi harus memperhatikan kualitas layanan dari keseluruhan sistem dimana dia
diimplementasikan. Algoritma sandi yang handal adalah algoritma sandi yang
kekuatannya terletak pada kunci, bukan pada kerahasiaan algoritma itu sendiri.
Teknik dan metode untuk menguji kehandalan algoritma sandi adalah kriptanalisa.
Secara umum berdasarkan
kesamaan kuncinya, algoritma sandi dibedakan menjadi :
ALGORITMA KUNCI
SIMETRIS.
Dalam symmetric
cryptosystem ini, kunci yang digunakan untuk proses enkripsi dan dekripsi pada
prinsipnya identik, tetapi satu buah kunci dapat pula diturunkan dari kunci
yang lainnya. Kunci-kunci ini harus dirahasiakan. Oleh karena itulah sistem ini
sering disebut sebagai secret-key ciphersystem. Jumlah kunci yang
dibutuhkan umumnya adalah :
nC2 =
n . (n-1)2
dengan n menyatakan
banyaknya pengguna.
Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.
Kriptografi secret key seringkali
disebut sebagai kriptografi konvensional atau kriptografi simetris (Symmetric
Cryptography) dimana proses dekripsi adalah kebalikan dari proses enkripsi
dan menggunakan kunci yang sama.
Kriptografi
simetris dapat dibagi menjadi dua, yaitu penyandian blok dan penyandian alir.
Penyandian blok bekerja pada suatu data yang terkelompok menjadi blok-blok data
atau kelompok data dengan panjang data yang telah ditentukan. Pada penyandian
blok, data yang masuk akan dipecah-pecah menjadi blok data yang telah
ditentukan ukurannya. Penyandian alir bekerja pada suatu data bit tunggal atau
terkadang dalam satu byte. Jadi format data yang mengalami proses enkripsi dan
dekripsi adalah berupa aliran bit-bit data.
Algoritma
yang ada pada saat ini kebanyakan bekerja untuk penyandian blok karena
kebanyakan proses pengiriman data pada saat ini menggunakan blok-blok data yang
telah ditentukan ukurannya untuk kemudian dikirim melalui saluran komunikasi.
ALGORITMA KUNCI
ASIMETRIS.
Algoritma Asimetris
atau sering disebut algoritma public key, penggunaan kunci dalam algoritma ini
adalah, kunci yang dipakai dalam proses enkripsi berbeda dengan kunci yang dipakai pada
proses dekripsi, jadi jumlah kunci
enkripsi ≠ kunci dekripsi.
Ada 2 jenis kunci
di algoritma ini, yaitu:
1. KUNCI PUBLIK adalah kunci
yang digunakan untuk melakukan proses enkripsi data. Kunci ini disebut publik
karena siapapun dapat mengetahuinya.
2. KUNCI PRIVAT adalah kunci
yang digunakan untuk melakukan proses dekripsi data. Kunci ini disebut privat
karena 1 kunci privat hanya dimiliki oleh 1 orang saja. Kunci privat sering
juga disebut kunci rahasia.
Istilah kunci rahasia
dalam algoritma simetris digunakan untk menyatakan kunci enkripsi dan dekripsi,
sementara pada algoritma asimetris digunakan untuk menyatakan kunci privat,
karena kunci publik tidak dirahasiakan.
Berdasarkan arah
implementasi dan pembabakan zamannya dibedakan menjadi :
ALGORITMA SANDI KLASIK.
Sebelum komputer ada,
kriptografi dilakukan dengan menggunakan pensil dan kertas. Algoritma
kriptografi (cipher) yang digunakan saat itu, dinamakan juga algoritma
klasik, adalah berbasis karakter, yaitu enkripsi dan dekripsi dilakukan pada
setiap karakter pesan. Semua algoritma klasik termasuk ke dalam sistrm
kriptografi simetris dan digunakan jauh sebelum kriptografi kunci publik
ditemukan.
Kriptogarfi klasik
memiliki beberapa ciri :
1. Berbasis karakter
2. Menggunakan pena dan kertas saja, belum ada
computer
3. Termasuk ke dalam
kriptografi kunci simetris.
Tiga alasan mempelajari
algoritma klasik :
1. Memahami konsep dasar kriptografi
2. Dasar algoritma kriptografi modern
3. Memahami kelemahan
sistem kode.
(Ariyus Dony. 2008)
Pada dasarnya, algoritma
kriptografi klasik dapat dikelompokkan ke dalam dua macam cipher, yaitu :
1. Cipher substitusi (substitution
cipher)
Di dalam cipher
substitusi setiap unit plainteks diganti dengan satu unit cipherteks. Satu
“unit” di isini berarti satu huruf, pasanga huruf, atau dikelompokkan lebih
dari dua huruf. Algoritma substitusi tertua yang diketahui adalah Caesar
cipher yang digunakan oleh kaisar Romawi , Julius Caesar (sehingga
dinamakan juga casear cipher), untuk mengirimakan pesan yang
dikirimkan kepada gubernurnya.
2. Cipher transposisi (transposition
cipher)
Pada cipher transposisi,
huruf-huruf di dalam plainteks tetap saja, hanya saja urutannya diubah. Dengan
kata lain algoritma ini melakukan transpose terhadap rangkaian karakter di
dalam teks. Nama lain untuk metode ini adalah permutasi atau pengacakan (scrambling)
karena transpose setiap karakter di dalam teks sama dengan mempermutasikan
karakter-karkater tersebut.
(Munir.2006)
Pada metode kriptografi
simetris atau konvensional digunakan satu buah kunci. Bila kunci dinotasikan
denan ‘K’ maka proses enkripsi-dekripsi metode kriptografi simeteris dapat
dinotasikan dengan :
Ek(P) = C
dan
Dk (C)
= P
Dan keseluruhan sistem
dinyatakan sebagai :
Dk(Ek(P))=P
ALGORITMA SANDI MODERN
Algoritma kriptografi
modern tidak lagi mengandalkan keamanannya pada kerahasiaan algoritma tetapi
kerahasiaan kunci. Plaintext yang sama bila disandikan dengan kunci yang
berbeda akan menghasilkan ciphertext yang berbeda pula. Dengan demikian
algoritma kriptografi dapat bersifat umum dan boleh diketahui oleh siapa saja,
akan tetapi tanpa pengetahuan tentang kunci, data tersandi tetap saja tidak
dapat terpecahkan. Sistem kriptografi atauCryptosystem adalah
sebuah algoritma kriptografi ditambah semua kemungkinan plaintext, ciphertext
dan kunci
Sedangkan berdasarkan
besar data yang diolah dalam satu kali proses, maka algoritma kriptografi dapat
dibedakan menjadi dua jenis yaitu :
1. Algoritma block cipher
Informasi/data yang
hendak dikirim dalam bentuk blok-blok besar (misal 64-bit) dimana blok-blok ini
dioperasikan dengan fungsi enkripsi yang sama dan akan menghasilkan informasi
rahasia dalam blok-blok yang berukuran sama.
2. Algoritma
stream cipher
Informasi/data yang
hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte atau
bit), biasanya satu karakter persatuan waktu proses, menggunakan tranformasi
enkripsi yang berubah setiap waktu.