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-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 :
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. Secara umum, proses enkripsi dan dekripsi dapat digambarkan sebagai
berikut :
Gambar Proses Enkripsi
dan Dekripsi
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 :
- 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
- 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.
- Enkripsi dan dekripsi
Proses menyandikan plainteks menjadi cipherteks disebut enkripsi.
Sedangkan proses mengembalikan cipherteks menjadi plainteks semula dinamakan
dekripsi
- 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. - Sistem kriptografi
Sistem kriptografi merupakan kumpulan yang terdiri dari algoritma kriptografi, semua plainteks dan cipherteks yang mungkin dan kunci. - 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. - 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 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).
·
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.
Gambar Kriptografi
simetris
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.
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.
2. 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.
untuk ilmunya terima kasih yaa ..
BalasHapusbagus,jelas dan luas ...
sangat bermanfaat
Terima kasih.. semoga bermanfaat :)
BalasHapusizin copas ya buat tugas, makasih :))
BalasHapusmakasi y buat wawasan nya, kreatif bangat.
BalasHapusjelas,luas,N berkategori
ijin copas ya buat tugas kuliah....
BalasHapusmakasih bberguna banget ^_^
Maaf Mba, kok gambarx nda kelihatan???
BalasHapusIjn comot gan salam
BalasHapusBagus infonya kebetulan lagi tertarik dg research cryptography menggunakan FPGA teknologi.
BalasHapus