Apa Itu Kriptografi?
Pengertian Kriptografi
Kriptografi (cryptography) berasal dari bahasa Yunani, terdiri dari dua suku kata yaitu kripto dan graphia. Kripto artinya menyembunyikan sedangkan graphia artinya tulisan. Makna kriptografi secara harfiah ialah menulis secara tersembunyi untuk menyampaikan pesan-pesan yang perlu dijaga kerahasiaannya. Hal tersebut relevan dengan fungsi kriptografi sendiri. Dalam dunia IT, kode yang sering digunakan para programmer sering dianggap sebagai tulisan, dan kali ini, tulisan tersebut berfungsi untuk menyembunyikan data penting.
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika dan seperangkat perhitungan berbasis aturan yang disebut algoritma yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan. Jika suatu pesan dikirim dari suatu tempat ke tempat lainnya, isi pesan tersebut mungkin dapat disadap oleh pihak yang tidak berhak untuk mengetahui isi pesan tersebut. Untuk menjaga pesan, maka pesan tersebut dapat diubah menjadi suatu kode yang tidak dapat dimengerti pihak lainnya.
Ada tiga fungsi dasar di dalam algoritma kriptografi, antara lain; enkripsi, dekripsi, dan kunci. Enkripsi adalah sebuah proses penyandian yang melakukan perubahan sebuah kode atau pesan dari yang bisa dimengerti, disebut plaintext, menjadi sebuah kode yang tidak bisa dimengerti, disebut dengan ciphertext. Sedangkan proses kebalikannya untuk mengubah cipherteks menjadi plainteks disebut deskripsi. Proses enkripsi dan deskripsi memerlukan suatu mekanisme dan kunci tertentu, dan kesatuan sistem ini sering disebut dengan cipher.
Jenis-Jenis Kriptografi
Jenis algoritma kriptografi dibagi menjadi dua, yaitu berdasarkan kunci yang dipakai dan berdasarkan waktu. Algoritma kriptografi berdasarkan kunci yang dipakai dibedakan menjadi tiga bagian, yaitu:
Kriptografi Simetri
Jenis metode kriptografi yang pertama adalah kriptografi simetri atau symmetric key cryptography atau disebut juga sebagai kriptografi kunci rahasia. Dalam symmetric key cryptography, penerima dan pengirim informasi hanya menggunakan satu kunci untuk mengenkripsi dan mendeskripsikan pesan. Jenis kriptografi yang sering digunakan dalam metode ini adalah AES atau advanced encryption system. Pendekatan yang diterapkan melalui jenis tersebut sering dianggap lebih efisien dan lebih cepat dibanding metode lainnya.
Beberapa kriptografi kunci rahasia lainnya adalah seperti berikut ini:
- Blok
- Blokir sandi
- DES (Data Encryption System)
- AES (Advanced Encryption System)
- RC2, RC4, RC5, RC6
- IDEA (International Data Encryption Algirithm)
- Blowfish
- Stream cipher
Kriptografi Asimetri
Algoritma asimetri sering juga disebut dengan public key cryptography atau kunci publik adalah konsep perlindungan data yang paling revolusioner dalam kurun waktu 300 hingga 400 tahun terakhir. Metode kriptografi ini memanfaatkan dua kunci yang saling berkaitan, yaitu kunci publik dan privat. Meskipun kunci publik dapat didistribusikan secara bebas, jika mereka dipasangkan dengan kunci privat, kode enkripsi dan data dalam kunci tetap menjadi rahasia. Selain itu, public key cryptography dianggap lebih aman dan terjamin bila dibandingkan dengan symmetric key cryptography.
Beberapa kriptografi memakai kunci public di antaranya adalah :
- Digital Signature Algorithm (DSA)
- RSA
- Diffle-Hellman (DH)
- Elliptic Curve Cryptography (ECC)
- Kriptografi Quantum
Fungsi Hash
Fungsi Hash sering disebut dengan fungsi satu arah (one-way function), message digest, fingerprint, fungsi kompresi dan message authentication code (MAC), merupakan suatu fungsi matematika yang mengambil masukan panjang variabel dan mengubahnya ke dalam urutan biner dengan panjang yang tetap. Fungsi Hash biasanya diperlukan bila ingin membuat sidik jari dari suatu pesan. Sidik jari pada pesan merupakan suatu tanda bahwa pesan tersebut benar-benar berasal dari orang-orang yang diinginkan.
Algoritma kriptografi dibedakan menjadi dua bagian berdasarkan waktu kemunculan, yaitu:
Kriptografi Klasik
Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci untuk mengamankan data. Teknik ini sudah digunakan beberapa abad yang lalu. Dua teknik dasar yang biasa digunakan pada algoritma jenis ini adalah sebagai berikut :
- Teknik subtitusi, penggantian setiap karakter teks-asli dengan karakter lain.
- Teknik transposisi (permutasi), dilakukan dengan menggunakan permutasi karakter.
Salah satu teknik enkripsi menggunakan kunci simetri adalah teknik subtitusi, yaitu mengganti setiap karakter Plaintext dengan karakter lain. Terdapat empat cara dalam menggunakan teknik subtitusi, yaitu :
- Monoalphabet, dimana setiap karakter ciphertext mengganti satu macam karakter plaintext tertentu.
- Polialphabet, dimana setiap karakter ciphertext mengganti lebih dari satu macam karakter plaintext.
- Monograf/unilateral, dimana satu enkripsi dilakukan terhadap satu karakter plaintext.
- Poligraf/multilateral, dimana satu enkripsi dilakukan terhadap lebih dari satu karakter plaintext. (Alferd J. Menezes, 1996)
Kriptografi Modern
Kriptografi modern merupakan suatu algoritma yang digunakan pada saat sekarang ini, yang mana kriptografi modern mempunyai kerumitan yang sangat komplek, karena dalam pengoperasiannya menggunakan komputer.
Sejarah Kriptografi
Kriptografi menurut catatan sejarah telah ada sejak masa kejayaan Yunani atau kurang lebih sekitar tahun 400 Sebelum Masehi. Alat yang digunakan untuk membuat pesan tersembunyi di Yunani pada waktu itu disebut Scytale. Scytale merupakan suatu alat yang memiliki pita panjang dari daun papyrus dan ditambah dengan sebatang silinder dengan kombinasi 18 huruf. Mula-mula pengirim menuliskan pesannya diatas pita papyrus yang digulung pada sebatang silinder, setelah itu pita dilepaskan dan dikirimkan.
Pada masa Romawi, sekitar 50 SM, di bawah kekuasaan Julius Caesar, penggunaan kriptografi semakin intens karena pertimbangan stabilitas negara. Meski teknik yang digunakan tak serumit Yunani, namun untuk memahami pesan kriptografi dari masa Romawi terbilang cukup sulit untuk dikerjakan. Pada Cipher ini, huruf-huruf apfabet disubstitusi dengan huruf- huruf yang lain pada alfabet yang sama. Karena hanya satu alfabet yang digunakan, Cipher ini merupakan substitusi monoalfabetik. Cipher semacam ini mencakup penggeseran alfabet dengan 3 huruf dan mensubstitusikan huruf tersebut. Substitusi kadang dikenal dengan C3 (untuk caesar menggeser 3 tempat).
Berdasarkan aspek historis kriptografi di atas, baik kriptografi klasik maupun modern keduanya memiliki kesamaan prinsip yang besar dan tidak dapat disangsikan lagi, yakni tujuan kriptografi adalah keamanan. Itulah layanan yang disediakan kriptografi tanpa peduli dari masa mana kriptografi dibuat. Melalui layanan keamanan yang disediakan oleh jenis kriptografi tersebut, berbagai teks penting dapat terjaga kerahasiaannya dan keotentikannya, sehingga antar pihak yang berkorespondensi bisa saling menaruh kepercayaan. Kecuali apabila teknik pembuatan kriptografi bocor ke pihak yang tidak dikehendaki.
Aspek Kemanan Kriptografi
Kriptografi memiliki beberapa aspek keamanan antara lain :
- Kerahasiaan (confidentiality), menjamin bahwa data-data tersebut hanya bisa diakses oleh pihak-pihak tertentu saja. Kerahasiaan bertujuan untuk melindungi suatu informasi dari semua pihak yang tidak berhak atas informasi tersebut.
- Otentikasi (authentication), merupakan identifikasi yang dilakukan oleh masing — masing pihak yang saling berkomunikasi, maksudnya beberapa pihak yang berkomunikasi harus mengidentifikasi satu sama lainnya. Informasi yang didapat oleh suatu pihak dari pihak lain harus diidentifikasi untuk memastikan keaslian dari informasi yang diterima.
- Integritas (integrity), menjamin setiap pesan yang dikirim pasti sampai pada penerimanya tanpa ada bagian dari pesan tersebut yang diganti, diduplikasi, dirusak, diubah urutannya, dan ditambahkan. Integritas data bertujuan untuk mencegah terjadinya pengubahan informasi oleh pihak-pihak yang tidak berhak atas informasi tersebut. Untuk menjamin integritas data ini pengguna harus mempunyai kemampuan untuk mendeteksi terjadinya manipulasi data oleh pihak-pihak yang tidak berkepentingan. Manipulasi data yang dimaksud di sini meliputi penyisipan, penghapusan, maupun penggantian data.
- Nirpenyangkalan (Nonrepudiation), mencegah pengirim maupun penerima mengingkari bahwa mereka telah mengirimkan atau menerima suatu pesan. Jika sebuah pesan dikirim, penerima dapat membuktikan bahwa pesan tersebut memang dikirim oleh pengirim yang tertera. Sebaliknya, jika sebuah pesan diterima, pengirim dapat membuktikan bahwa pesannya telah diterima oleh pihak yang ditujunya. (Ariyus, 2008).
Contoh Kriptografi dalam Kehidupan Sehari-hari
- Otentifikasi atau tanda tangan digital
Otentikasi dan tanda tangan digital adalah aplikasi kriptografi kunci publik yang sangat penting. Satu-satunya persyaratan adalah kunci publik dikaitkan dengan penggunanya dengan cara tepercaya, misalnya direktori tepercaya.
Untuk mengatasi kelemahan ini, komunitas standar telah menemukan sebuah objek yang disebut sertifikat. Sebuah sertifikat berisi, nama penerbit sertifikat, nama subjek yang sertifikatnya diterbitkan, kunci publik subjek, dan beberapa stempel waktu. Anda tahu kunci publik itu bagus, karena penerbit sertifikat juga memiliki sertifikat. - Stamping waktu
Stamping waktu adalah teknik yang dapat memastikan bahwa dokumen elektronik atau komunikasi tertentu ada atau dikirim pada waktu tertentu. Cap waktu menggunakan model enkripsi yang disebut skema tanda tangan buta.
Skema tanda tangan buta memungkinkan pengirim mendapatkan pesan yang diterima oleh pihak lain tanpa mengungkapkan informasi apa pun tentang pesan tersebut kepada pihak lain.
Cap waktu sangat mirip dengan mengirim surat terdaftar melalui pos AS, tetapi memberikan bukti tambahan. Itu dapat membuktikan bahwa penerima menerima dokumen tertentu. Aplikasi yang memungkinkan termasuk aplikasi paten, arsip hak cipta, dan kontrak. Cap waktu adalah aplikasi penting yang akan membantu memungkinkan transisi ke dokumen hukum elektronik. - Uang elektronik
Pengertian uang elektronik (disebut juga uang elektronik atau digital cash) merupakan istilah yang masih berkembang. Ini mencakup transaksi yang dilakukan secara elektronik dengan transfer dana bersih dari satu pihak ke pihak lain, yang dapat berupa debit atau kredit dan dapat berupa anonim atau teridentifikasi. Ada implementasi perangkat keras dan perangkat lunak.
Enkripsi digunakan dalam skema uang elektronik untuk melindungi data transaksi konvensional seperti nomor rekening dan jumlah transaksi, tanda tangan digital dapat menggantikan tanda tangan tulisan tangan atau otorisasi kartu kredit, dan enkripsi kunci publik dapat memberikan kerahasiaan.