

1. Pengertian Kriptografi
Kriptografi adalah ilmu yang mempelajari teknik-teknik matematis yang berhubungan dengan aspek keamanan informasi seperti : keabsahan, integritas data, serta autentifikasi data. Kriptografi tidak berarti hanya memberikan keamanan informasi saja, namun lebih ke arah teknik-tekniknya. Ada empat tujuan dari ilmu kriptografi, yaitu :
- kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas,
- integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain menyangkut penyisipan, penghapusan, dan pensubtitusian data lain ke dalam data yang sebenarnya
- autentikasi, adalah berhubungan dengan identifikasi, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain,
- non-repudiasi, yang berarti begitu pesan terkirim, maka tidak akan dapat dibatalkan.
Algoritma Kriptografi
Berdasarkan kunci yang dipakai, algoritma kriptografi dapat dibedakan
atas dua golongan, yaitu :
a. Kunci Simetris
Kunci Simetris adalah jenis kriptografi yang paling umum digunakan. Kunci untuk membuat pesan yang di sandikan sama dengan kunci untuk membuka pesan yang disandikan itu. Jadi pembuat pesan dan penerimanya harus memiliki kunci yang sama persis. Siapapun yang memiliki kunci tersebut termasuk pihak-pihak yang tidak diinginkan dapat membuat dan membongkar rahasia ciphertext. Contoh algoritma kunci simetris yang terkenal adalah DES (Data Encryption Standard).
Algoritma kriptografi simeteris dibagi menjadi 2 kategori yaitu algoritma aliran (Stream Ciphers) dan algoritma blok (Block Ciphers). Pada algoritma aliran, proses penyandiannya berorientasi pada satu bit atau satu byte data. Sedang pada algoritma blok, proses penyandiannya berorientasi pada sekumpulan bit atau byte data (perblok).
b. Kunci Asimetris
Kunci asimetris adalah pasangan kunci kriptografi yang salah satunya digunakan untuk proses enkripsi dan yang satu lagi untuk dekripsi. Semua orang yang mendapatkan kunci publik dapat menggunakannya untuk mengenkripsikan suatu pesan,data ataupun informasi, sedangkan hanya satu orang saja yang memiliki rahasia tertentu dalam hal ini kunci privat untuk melakukan pembongkaran terhadap sandi yang dikirim untuknya. Contoh algoritma terkenal yang menggunakan kunci asimetris adalah RSA.
Pada algoritma public key ini, semua orang dapat mengenkripsi data dengan memakai public key penerima yang telah diketahui secara umum. Akan tetapi data yang telah terenkripsi tersebut hanya dapat didekripsi dengan menggunakan private key yang hanya diketahui oleh penerima.
Algoritma kriptografi berdasarkan jenis kunci :
a. Algoritma simetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama.
Algoritma simetris (symmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan sama dengan kunci dekripsi sehingga algoritma ini disebut juga sebagai single-key algorithm.
Kelebihan :
· Kecepatan operasi lebih tinggi bila dibandingkan dengan algoritma asimetrik.
· Karena kecepatannya yang cukup tinggi, maka dapat digunakan pada sistem real-time
Kelemahan :
· Untuk tiap pengiriman pesan dengan pengguna yang berbeda dibutuhkan kunci yang berbeda juga, sehingga akan terjadi kesulitan dalam manajemen kunci tersebut.
· Permasalahan dalam pengiriman kunci itu sendiri yang disebut “key distribution problem”
Contoh algoritma : TwoFish, Rijndael, Camellia
b. Algoritma asimetris
Dimana kunci yang digunakan untuk proses enkripsi dan dekripsi menggunakan kunci yang berbeda.
Algoritma asimetris (asymmetric algorithm) adalah suatu algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi. Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci privat disimpan secara rahasia oleh si pengguna. Walau kunci publik telah diketahui namun akan sangat sukar mengetahui kunci privat yang digunakan.
Pada umumnya kunci publik (public key) digunakan sebagai kunci enkripsi sementara kunci privat (private key) digunakan sebagai kunci dekripsi.
Kelebihan :
· Masalah keamanan pada distribusi kunci dapat lebih baik
· Masalah manajemen kunci yang lebih baik karena jumlah kunci yang lebih sedikit
Kelemahan :
· Kecepatan yang lebih rendah bila dibandingkan dengan algoritma simetris
· Untuk tingkat keamanan sama, kunci yang digunakan lebih panjang dibandingkan dengan algoritma simetris.
Contoh algoritma : RSA, DSA, ElGamal
Pengertian Enkripsi dan Dekripsi
Enkripsi yaitu suatu proses pengaman suatu data yang disembunyikan atau proses konversi data ( plaintext ) menjadi bentuk yang tidak dapat dibaca/ dimengerti. Sedangkan Dekripsi yaitu kebalikan dari proses enkripsi yaitu proses konversi data yang sudah dienkripsi ( ciphertext ) kembali menjadi data aslinya ( Original Plaintext ) sehingga dapat dibaca/ dimengerti kembali.
Data atau informasi yang akan dienkripsi ( plaintext ) diacak oleh suatu kunci yang telah ditentukan kemudian output dari proses enkripsi ( ciphertext ) dikembalikan kebentuk aslinya oleh sebuah kunci yang sama.
Fungsi enkripsi E dioperasikan dengan P kemudian menghasilkan C, yang digambarkan seperti notasi berikut :
E ( P ) = C
Pada proses dekripsi data yang sudah diproses pada enkripsi ( ciphertext ) melalui proses dekripsi data akan dikembalikan lagi ke dalam bentuk plaintext/ data aslinya, yang digambarkan seperti notasi berikut :
D ( C ) = P
Data atau informasi yang telah melalui proses enkripsi dan dekripsi, dimana data yang sudah diacak akan menghasilkan data atau informasi aslinya ( plaintext ), yang digambarkan seperti notasi berikut :
D ( E ( P ) ) = P
Algoritma enkripsi digunakan pada saat melakukan proses enkripsi terhadap suatu plaintext dan algoritma dekripsi digunakan pada saat melakukan proses dekripsi terhadap suatu ciphertext. Sedangkan dalam penerapannya algoritma enkripsi dan algoritma dekripsi harus menggunakan kunci untuk membuka dan menutup sandinya, hal ini untuk menjaga keamanan data atau informasi tersebut. Kunci yang dimaksud dapat dilambangkan dengan K.
Kunci yang digunakan dapat berupa sebuah angka bernilai kecil atau besar sesuai dengan angka-angka yang telah ditentukan untuk sebagai nilai transformasi matematis yang memetakan plaintext ke ciphertext dan sebaliknya. Ciphertext sangat dipengaruhi oleh keberadaan plaintext dan kuncinya, jadi nilai dari suatu kunci akan mempengaruhi fungsi enkripsi dan dekripsi, sehingga fungsi enkripsi tersebut dapat dinotasikan seperti berikut :
Ek ( P ) = C
Bila kunci yang dipakai untuk proses enkripsi sama dengan kunci yang dipakai untuk proses dekripsi, maka dapat digambarkan dengan notasi sebagai berikut :
( Dk ( Ek ) ) = P
Keterangan :
K : Kunci
Ek : Kunci Enkripsi
Dk : Kunci Dekripsi
Konsep dasar inilah yang dipergunakan untuk teknik enkripsi dan dekripsi untuk menjaga Keamanan data dari pihak yang tidak bertanggung jawab atau pihak yang tidak berkepentingan.