Metode enkripsi (encrypt) dan dekripsi (decrypt) merupakan dua istilah mendasar dalam terminologi kriptografi. Konsep kriptografi yaitu menggunakan kode dan sandi rahasia untuk melindungi informasi rahasia, hal ini sudah dilakukan oleh manusia sejak ribuan tahun lalu dimulai dengan metode yang sangat sederhana. Sejak awal abad ke-20, penemuan mesin mekanik dan elektro-mekanik membawa kepada pengertian enkripsi yang lebih canggih dan efisien.
Enkripsi dalam perangkat komputer mulai dikembangkan di Amerika Serikat pada tahun 1970-an. Pada saat itu enkripsi dimanfaatkan untuk pengamanan sekretariat agen pemerintah, sampai saat ini enkripsi pada komputer telah digunakan secara luas pada berbagai macam perangkat, seperti e-commerce, mesin ATM, jaringan telepon seluler, dan lain-lain.
Pada abad ke-21 ini istilah kriptografi, enkripsi, dan dekripsi lebih cenderung pada konsep sistem keamanan komputer digital untuk instansi negara dan perbankan digital. Konsep tersebut dimanfaatkan untuk melindungi informasi-informasi dan data-data penting.
Metode Enkripsi dan Dekripsi
(1) Metode Enkripsi
Di dalam ilmu kriptografi, enkripsi merupakan proses menulis sandi / menyandikan sebuah pesan atau informasi yang mana hanya sekelompok orang tertentu saja yang dapat mengaksesnya, sedang yang tidak diberi ijin akses tidak akan bisa mengerti maksud pesan tersebut. Sebuah enkripsi tidak menghalang-halangi campur tangan pihak luar untuk mengakses informasi yang telah disandikan tersebut, namun menolak untuk memberikan pengertian / pemahaman yang sebenarnya dari informasi tersebut dengan memberikan intersepsi (percabangan) atau hambatan.
Dalam sebuah skema enkripsi, mungkin data yang disajikan adalah sebuah data teks biasa, namun teks tersebut disusun dengan sandi rahasia tertentu sehingga memerlukan metode dekripsi tertentu pula agar maksud pesan / informasi tersebut bisa diterima dan dipahami oleh penerima pesan sesuai dengan maksud pengirimnya. Secara teknis, proses enkripsi memerlukan proses pemutar-balikan variabel data secara ‘tidak teratur’ (pseudo-random) yang dihasilkan dari metode algoritma. Sandi rahasia hasil pemutar-balikan variabel tersebut dinamakan ciphertext.
Dalam proses enkripsi modern yang lekat teknologi komputer, teknik enkripsi lekat juga dengan proses matematis yang memanfaatkan algoritma. Pada prinsipnya memang memungkinkan untuk melakukan dekripsi terhadap informasi yang terenkripsi tanpa mengetahui kunci-kunci sandinya. Namun, terutama untuk enkripsi informasi hasil proses komputasi algoritma komputer, metode dekripsi sederhana saja tidaklah cukup, orang pastinya memerlukan keahlian komputasi dan peralatan komputasi yang memadai juga.
Ada dua tipe metode skema enkripsi, yaitu Symmetric key (kunci simetrik) dan Public key (kunci publik).
1. Pada skema Symmetric key (kunci simetris), variabel kunci enkripsi dan dekripsi adalah sama. Agar suatu kelompok / grup dapat berkomunikasi dengan lainnya maka memerlukan kunci yang sama, tujuannya untuk mencapai kondisi komunikasi yang aman.
Contoh dari symmetric key adalah mesin Enigma buatan militer Jerman yang digunakan pada perang dunia. Setiap hari pengaturan kuncinya diubah. Namun, saat musuh bisa memperhitungkan bagaimana mesin itu bekerja, mereka dapat menguraikan informasi yang tersandikan di dalam pesan-pesan selama mereka mampu menemukan kunci enkripsi yang diberikan setiap harinya.
Contoh algoritma symmetric key pada era informasi ini adalah enkripsi Rijndael atau AES (Advanced Encryption Standard) yang digunakan pemerintah. AES merupakan lanjutan dari pengembangan DES (Data Encryption Standard), yaitu standar enkripsi informasi yang digunakan pemerintah Amerika sejak tahun 1976.
AES mulai dikembangkan sebagai standar enkripsi pada awal tahun 1990-an, saat itu skema enkripsi DES sudah dianggap kurang aman. Algoritma ini awalnya dinamakan Rijndael karena sesuai nama perancangnya yaitu Vincent Rijmen dan John Daemen asal Belgia yang saat itu memenangkan kontes algoritma kriptografi DES yang diadakan oleh NIST (National Institutes of Standards and Technology) milik pemerintah AS pada 26 November 2001. Sejak saat itu, AES dijadikan enkripsi standar pemerintah AS sampai sekarang.
Enkripsi AES adalah blok simetrik yang berfungsi sebagai pengenkripsi (cipher) sekaligus sebagai dekriptor (decipher). AES memiliki blok input dan output selebar 128 bit. Cara kerja AES yaitu memasukkan setiap 128 bit plaintext di-inputkan ke dalam persegi berukuran 4×4 byte. Kondisi tersebut di-XOR dengan key, selanjutnya diolah 10x dengan subtitusi transform linear-Addkey. Setelah itu barulah diperoleh ciphertext.
2. Skema Asymmetric key (kunci asimetris), biasa disebut juga sebagai Public key karena sifatnya yang dibagi dengan semua orang. Pada skema kunci asimetris, kunci enkripsi dan pesan / informasi yang terenkripsi dipublikasikan kepada semua orang. Namun, hanya kelompok / grup yang memiliki akses pada kunci dekripsinya saja yang dapat membaca pesan / informasi tersebut. Jadi, pada kriptografi asimetris menggunakan dua (2) kunci berbeda, satu publik dan satu privat yang saling terkait secara matematis. Kunci publik dibagi kepada semua orang sedang kunci privat dirahasiakan. RSA (Rivest Shamir Adleman) merupakan contoh algoritma enkripsi asimetris yang paling banyak digunakan dalam koneksi jaringan internet saat ini.
RSA bekerja dengan tiga (3) tahapan yaitu proses pembuatan kunci (private key dan public key), proses enkripsi (encrypt), dan proses dekripsi (decrypt). Proses perhitungan matematika algoritma pada enkripsi RSA dikenal sangat kental dan padat, sebab pada penghitungannya menggunakan bilangan angka yang sangat besar nilainya, supaya hasil pembuatan key maupun enkripsi sukar untuk dilacak (hack).
Mengutip dari salah satu sumber yang membahas algoritma RSA, berikut ini proses pembuatan key pada skema RSA, yaitu melalui lima (5) tahap sebagai berikut.
- Cari 2 Bilangan Prima secara acak dan simpan dalam variabel p dan q, dengan catatan jumlah bit untuk bilangan ini sama. Nilai p harus lebih besar dari q dan direkomendasikan minimal untuk menggunakan bilangan di atas 128bit/2 = 64bit bila akan membuat kunci dengan bit-length sebesar 128bit (min 64bit hex = 0x8000000000000000; min 64bit desimal = 9223372036854775808).
- Hitung n = p*q;
Dimana nilai n ini akan digunakan untuk modulus pada private dan public key. - Hitung pq = (p-1) * (q-1);
Untuk digunakan sebagai pencarian nilai private key. - Pilih nilai e untuk public key dengan syarat (1 < e < pq) dan (gcd(e, pq)=1);
Nilai e ini biasanya merupakan nilai yang relatif kecil, yang paling sering digunakan adalah 0x10001 = 65537.
Bila kriteria e tidak cocok dengan syarat di atas, maka harus dicari nilai e lain yang sesuai, atau bila e sudah ditentukan dengan 0x10001, maka yang harus dicari kembali adalah nilai p, q, n, dan pq seperti pada tahap awal. - Pilih nilai d, dengan syarat nilai d memenuhi: (d*e) mod pq = 1
Proses enkripsi RSA ada beberapa syarat dalam enkripsi di RSA, dimana nilai M harus lebih besar dari 0, dan harus lebih kecil dari nilai n (dari public key). Kode ASCII untuk M adalah 77. Bila public key adalah n=3233 dan e=17 maka nilai M ini memenuhi syarat 0 < 77 < 3233; dan dapat langsung dilakukan kalkulasi. Proses enkripsi sangat mudah, hanya dengan melakukan kalkulasi dengan patokan rumus c = (M pangkat e) mod n.
Proses dekripsi RSA nilai M diganti dengan nilai c dari ciphertext (hasil enkripsi) dan nilai e dari public key diganti dengan nilai d dari private key, sedangkan nilai n dari public key selalu sama dengan nilai n dari private key.
(2) Metode Dekripsi
Pengertian dekripsi (decrypt) secara global adalah proses transformasi data ciphertext yang sudah tidak terbaca hasil dari proses enkripsi untuk dikembalikan lagi menjadi ke bentuk yang belum terenkripsi.
Di dalam dekripsi, sistem akan mengekstrak dan mengubahnya menjadi teks dan gambar yang tidak hanya akan bisa dipahami oleh pembacanya namun juga oleh sistem. Proses dekripsi dapat melalui proses secara manual ataupun otomatis. Proses tersebut dilakukan dengan menggunakan key atau password.
Untuk memahami cara kerja kriptografi Anda memerlukan pengetahuan matematis, jika Anda tidak begitu suka dan kurang mengerti dengan pelajaran aljabar Anda akan butuh waktu lama untuk memahaminya. Demikian penjelasan singkat mengenai kriptografi, enkripsi (encrypt), dan dekripsi (decrypt), semoga bermanfaat dan mudah dipahami.
Editor: Muchammad Zakaria
Download berbagai jenis aplikasi terbaru, mulai dari aplikasi windows, android, driver dan sistem operasi secara gratis hanya di Nesabamedia.com: