Pengertian Kriptografi
Secara etimologi kata kriptografi (Cryptography)
berasal dari bahasa Yunani, yaitu kryptos yang artinya yang tersembunyi dan
graphein yang artinya tulisan. Awal mula kriptografi dipahami sebagai ilmu
tentang menyembunyikan pesan , tetapi seiring perkembangan zaman hingga saat
ini pengertian kriptografi berkembang menjadi ilmu tentang teknik matematis
yang digunakan untuk menyelesaikan persoalan keamanan berupa privasi dan otentikasi.
Sejarah Kriptografi
Sejarah penulisan rahasia tertua dapat ditemukan pada peradaban Mesir kuno,
yakni tahun 3000 SM. Bangsa Mesir menggunakan ukiran rahasia yang disebut
dengan hieroglyphics untuk menyampaikan pesan kepada orang-orang yang
berhak.
Awal tahun 400 SM bangsa Spartan di Yunani memanfaatkan kriptografi di bidang militer dengan menggunakan alat yang disebut scytale, yakni pita panjang berbahan daun papyrus yang dibaca dengan cara digulungkan ke sebatang silinder. Sedangkan peradaban Cina dan Jepang menemukan kriptografi pada abad 15 M.
Awal tahun 400 SM bangsa Spartan di Yunani memanfaatkan kriptografi di bidang militer dengan menggunakan alat yang disebut scytale, yakni pita panjang berbahan daun papyrus yang dibaca dengan cara digulungkan ke sebatang silinder. Sedangkan peradaban Cina dan Jepang menemukan kriptografi pada abad 15 M.
Peradaban Islam juga menemukan kriptografi karena penguasaannya terhadap
matematika, statistik, dan linguistik. Bahkan teknik kriptanalisis dipaparkan
untuk pertama kalinya pada abad 9 M oleh seorang ilmuwan bernama Abu Yusuf
Ya’qub ibn ‘Ishaq as-Shabbah al Kindi atau dikenal dengan Al-Kindi yang menulis
kitab tentang seni memecahkan kode. Kitabnya berjudul Risalah fi
Istikhraj al-Mu’amma (Manuskrip untuk memecahkan pesan-pesan
Kriptografi). Terinspirasi dari perulangan huruf dalam Al-Qur’an, Al-Kindi
menemukan teknik analisis frekuensi, yakni teknik untuk memecahkan ciphertext
berdasarkan frekuensi kemunculan karakter pada sebuah pesan.
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-134 yang
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 :
Ø Kerahasiaan. Pesan (plaintext)
hanya dapat dibaca oleh pihak yang memliki kewenangan.
Ø Autentikasi. Pengirim
pesan harus dapat diidentifikasi dengan pasti, penyusup harus dipastikan tidak
bisa berpura-pura menjadi orang lain
Ø Integritas. Penerima pesan harus dapat
memastikan bahwa pesan yang dia terima tidak dimodifikasi ketika sedang dalam
proses transmisi data.
Ø 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.
EElemen Kriptografi
Berikut
Elemen-elemen Kriptografi :
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
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.
Proses menyandikan plainteks menjadi cipherteks disebut
enkripsi. Sedangkan proses mengembalikan cipherteks menjadi plainteks semula
dinamakan dekripsi
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.
Sistem kriptografi merupakan kumpulan yang terdiri
dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan
kunci.
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.
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.
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 Encipherment atau
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 :
- ENKRIPSI (encryption)
Proses
tranformasi dari plaintext menjadi ciphertext disebut proses Encipherment atau
enkripsi (encryption).
- 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
--------
2
dengan n
menyatakan banyaknya pengguna.
Contoh dari sistem ini adalah Data Encryption Standard (DES), Blowfish, IDEA.
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 atau Cryptosystem 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 :
- 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.
- Algoritma stream cipher
Informasi/data
yang hendak dikirim dioperasikan dalam bentuk blok-blok yang lebih kecil (byte
atau bit), biasanya satu karakter persatuan persatuan waktu proses, menggunakan
tranformasi enkripsi yang berubah setiap waktu.
0 comments:
Post a Comment