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 kriptografi
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 enkripsiberbeda 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.