Kriptografi secara sederhana mengkonversi data menjadi bentuk yang acak. Ada 4 jenis penggunaan kriptografi, yaitu auntentikasi, intergritas, confidentiality, dan non-repudiation (menerima data). Kriptografi akan berhubungan dengan enkripsi yang merupakan langkah awal dalam membuat data yang scrambled. Untuk mengubah data yang telah scrambled menjadi data yang semula maka diperlukan proses dekripsi.
Kriptografi simetrik memiliki alur original data, kunci simetrik (enkripsi), kunci scrambled, kunci simetrik (dekripsi), dan original data. Sedangkan kriptografi asimetrik memiliki alur original data, kunci publik (enkripsi), kunci scrambled, kunci privat (dekripsi), dan original data. Perbedaan mendasar antara kriptografi simetrik dan asimetrik adalah kunci dalam membuka. Pada kriptografi simetrik kunci yang digunakan adalah sama, yaitu enkripsi dan dekripsi, sedangkan pada kriptografi asimetrik kunci yang digunakan adalah publik dan privat. Di antara kriptografi simetrik dan asimetrik ada yang disebut hashing. Fungsi hash akan langsung mengubah data menjadi hash. Dengan melakukan hashing maka integritas dari pesan lebih meyakinkan.
Untuk melakukan enkripsi dan dekripsi digunakan ciphers yang berupa algoritma. Awalnya plain text (teks original) akan masuk ke dalam sebuah algoritma (urutan perhitungan matematika), kemudian akan diubah menjadi kunci dengan karakter unik, dan diakhiri dengan chipertext. Contoh substitusi cipher:
Kemudian contoh transposisi cipher:
Ada pula cipher yang berupak tabel bilangan biner. Jadi XOR cipher akan melakukan perubahan data berdasarkan bilangan biner tertentu berdasarkan tabel yang telah disediakan. Enkripsi secara simterik merupakan komputasi yang cepat. Rumus dalam membentuk enkripsi secara simetrik adalah:
unique key needed = N(N-1)/2
Data encryption standard (DES) mensyaratkan data yang baik harus dilakukan enkripsi simetrik, cipher blok pola dasar, dan 64-bit potongan. Tentunya dalam hal ini ada kelemahan. Nah, kelemahan ini digantikan oleh AES atau advanced encryption standard. Di AES tetap digunakan enkripsi simetrik, namun telah menggunakan 128-bit potongan. Bentuk umum dari keluarga cipher adalah rivest cipher (RC) yang terdiri atas RC4, RC5, dan RC6. Alur dari RC4 adalah:
![]() |
| Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/symmetric-encryption?autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473 |
Di dalam RC4 akan ditentukan ukuran kunci dari variabel. RC4 merupakan stream sedangkan RC5 merupakan blok. Di dalam RC5 ada algoritma terparameterisasi dan ukuran dari kunci variabel (0-2040 bits). Perhatikan gambar RC5 di bawah:
![]() |
| Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/symmetric-encryption?autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473 |
Di atas RC5 dibangun RC6. Tambahannya berupa perkalian integer dan 4 registrasi. Perhatikan gambar RC6 di bawah:
![]() |
| Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/symmetric-encryption?autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473 |
Berbeda dengan kriptografi simetrik yang lebih cepat dalam komputasi, kriptografi asimetrik lebih lambat dalam komputasi. Asimetrik menggunakan nomor utama yang besar. Kalau di dalam simetrik ada rivest cipher maka di asimetrik ada rivest-shamir-adleman (RSA). Nah, kalau di dalam asimetrik perkalian maka di dalam asimetrik dimungkinkan terjadinya pemfaktoran. Selain itu ada ElGamal yang mencoba mengembangkan lebih ke arah penyelesaian masalah logaritma diskrit. Alternatif lain ada elliptical curve cryptography (ECC) mendekati masalah logaritma diskrit dengan kurva elips. Dan terakhir adalah diffie-hellman yang menggunakan perpindahan kunci di dalam SSL dan IPsec.
Simetrik dan asimetrik masing-masing memiliki kelemahan. Pada simetrik sulit untuk menjaga kunci tetap rahasia, sedangkan pada asimterik komputasi menjadi intensif sehingga membutuhkan waktu yang lebih lama. Solusinya adalah dengan menggunakan model hybrid. Misalnya ada dua orang yang akan saling berkomunikasi, si A menggunakan simterik sedangkan si B menggunakan asimetrik. Pertama si B akan mengirim public key ke si A. Kemudian si A akan menggunakan public key untuk enkripsi kunci simterik. Nah, ketika kunci telah terenkripsi maka akan di kirim ke si B, untuk membuka paket kiriman dari si A ke si B maka si A melakukan penghapusan kunci publik. Dan sekarang si A memiliki kunci simetrik dan si B memiliki kunci simetrik dan privat. Jadi yang dilakukan adalah menggunakan simetrik untuk enkripsi data dan menggunakan asimetrik untuk pertukaran kunci.
Sebelumnya telah disebutkan bahwa dengan melakukan hashing lebih meyakinkan akan integritas dari pesan yang dirim. Hashing merupakan suatu jalan fungsi matematika. Data yang masuk kecil namun akan keluar sebagai data besar. Misalnya kata CatsInHat jika dilakukan hashing bisa menghasilkan 2ae7e826dfea398e1d2a247a2d03d25fd992c4d3. Contoh algoritma hash adalah message digest (MD5), yang memberikan panjang input data berapa saja dan dengan 128-bit keluaran. Namun MD5 memungkinkan terjadinya input yang berbeda dengan hasil hash yang sama. Oleh karena itu tidak direkomendasikan menggunakan MD5 untuk keamanan. Rekomendasi yang diberikan untuk melakukan hashing adalah secure hashing algorithm (SHA). Dia juga memberikan kebebasan panjang input data, pada SHA1 160-bit output, pada SHA2 tersedia dalam bentuk 32-bit (SHA-256) dan 64-bit (SHA-512), dan pada SHA3 mampu menyerap data dengan operasi XOR (tabel biner).
Penerapan kriptografi sangat berguna pada sertifikat digital caranya dengan pembuktian identitas. Sertifikat digital yang paling terkenal adalah digital certificate x.509. Dia menggunakan versi, nomor serial, id algoritma, issue, validasi (tidak sebelum dan tidak sesudah), subject (pembuat), dan subject public key info. Digital signature algorithm atau DSA menggunakan sistem simetrik, pertama kali digunakan oleh pemerintahan Amerika. Ada 4 model kepercayaan sebuah objek digital, yaitu satu otoritas (dirancang oleh satu otoritas), kepercayaan hirarki (perhatikan gambar di bawah), kepercayaan web, dan sertifikat menyilang.
![]() |
| Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/trust-models?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473 |
Public key infrastructure atau PKI digunakan untuk mendeskripsikan ekosistem dari sertifikat digital. Komponen dari PKI adalah sistem manajemen sertifikat, sertifikat digital, daftar pencabutan sertifikat (CRL atau certificate revocation list), otoritas sertifikat (CA atau certificate authority), otoritas registrasi (RA atau registration authority), dan pengguna (end user). Perhatikan skema PKI pada gambar di bawah:
Tanda tangan sertifikat digital akan berupa kriptografi dengan menggunakan hashing pada public dan private key. Terkadang kriptografi juga menggunakan perjanjian escrow, yaitu perjanjian dengan pihak ketiga. Dengan adanya tanda tangan sertifikat digital maka akan terbentuk integritas dan autentikasi.
Protokol lama tidak menggunakan teknologi kriptografi, contohnya FTP (file transfer protocol), SMTP (simple mail transfer protocol), HTTP (hypertext transfer protocol), dan Telnet. Dan semua protokol lama tersebut sangat tidak aman dari sisi cybersecurity. Protokol yang terbaru akan lebih memiliki keamanan, seperti secure MIME, PGP (pretty good privacy), secure shell (SSH), PPTP (point to point tunneling protocol), dan SSL (secure socket layer). Pada media penyimpanan sendiri ada yang disebut enkripsi data, biasanya menggunakan teknologi EFS atau encrypting file system yang diperkenalkan oleh Windows.
Serangan pada kriptografi terjadi pada ciphertext. Jika serangan tersebut berhasil menemukan plaintext maka kemungkinan besar hasil dari serangan tesebut adalah kunci enkripsi. Setelah kunci enkripsi berhasil didapatkan maka penyerang akan memilih plaintext yang akan menjadi target, dan diakhiri eksekusi pada cipherthext yang menjadi target. Dalam dunia kriptografi dikenal istilah serangan rubber hose. Serangan ini dilakukan secara fisik dengan cara memaksa, mengancam hingga melakukan rekayasa sosial. Serangan biasa terjadi antara sebuah server dan client atau disebut man in the middle. Jadi seseorang akan berada di tengah komunikasi antar server dan client kemudian mendapatkan banyak informasi dengan cara masuk secara diam-diam.
Apapun itu serangan untuk kriptografi lebih sulit dilakukan, contohnya serangan yang dilakukan oleh distribute.net yang berhasil meng-crack RC5-56 bit dalam 250 hari dengan menggunakan 26.000 processor. Dia juga berhasil meng-crack RC5-64 bit dalam 1757 hari dengan menggunakan 331.000 mesin. Didapatkan RC5-72 bit hanya bisa di-crack selama 6.000 days (16 tahun). Ada beberapa istilah dalam serangan kriptografi, yaitu:
- Heartbleed : mengeksploitasi openSSL
- POODLEbleed : mengeksploitasi kerentanan di SSL 3.0.
- DROWN : mengeksploitasi server TLS modern
- FREAK : mengeksploitasi kelemahan protokol SSL/TLS
ref:








Komentar