KRIPTOGRAFI
Kriptografi
Kriptografi adalah cabang ilmu yang mempelajari metode untuk mengamankan informasi dan komunikasi melalui teknik-teknik matematika dan algoritma, sehingga hanya pihak yang berwenang yang dapat mengakses atau memodifikasi data tersebut. Tujuan utama kriptografi mencakup menjaga kerahasiaan (confidentiality), menjamin integritas (integrity), memastikan keaslian (authenticity), dan mencegah penyangkalan (non-repudiation) terhadap suatu data atau pesan selama proses transmisi maupun penyimpanan.
Konsep Utama dalam Kriptografi
Beriku yang menjadi dasar pemahaman terhadap bagaimana sistem kriptografi bekerja dalam mengamankan data dan komunikasi digital:
1. Enkripsi dan Dekripsi
a. Enkripsi (Encryption)
Proses mengubah plaintext (teks atau data asli) menjadi ciphertext (data yang tidak dapat dipahami tanpa kunci).
Tujuannya adalah untuk menyembunyikan informasi dari pihak yang tidak berwenang.
Contoh sederhana:
“HELLO” dienkripsi menjadi “KHOOR” (menggunakan Caesar cipher dengan pergeseran 3 huruf).
b. Dekripsi (Decryption)
Kebalikan dari enkripsi, yaitu mengubah ciphertext kembali menjadi plaintext menggunakan kunci dekripsi.
2. Kunci Kriptografi (Cryptographic Key)
Kunci adalah nilai (string/angka rahasia) yang digunakan dalam proses enkripsi dan dekripsi.
Jenis-jenis Kunci:
· Kunci Simetris: Kunci yang sama digunakan untuk enkripsi dan dekripsi.
· Kunci Asimetris: Terdiri dari sepasang kunci: kunci publik dan kunci privat.
Sifat Penting Kunci:
· Harus cukup panjang agar tidak mudah ditebak (brute-force).
· Harus dijaga kerahasiaannya (terutama kunci privat/simetris).
3. Plaintext dan Ciphertext
· Plaintext: Informasi asli yang dapat dibaca dan dimengerti.
· Ciphertext: Bentuk terenkripsi dari plaintext, yang tampak acak dan tidak berarti jika dilihat tanpa kunci yang benar.
Contoh:
Plaintext:
“Rahasia”
Ciphertext: “Nw45@!zqg82”
Jenis-Jenis Kriptografi Berdasarkan Penggunaan Kunci
Kriptografi dapat diklasifikasikan berdasarkan bagaimana kunci digunakan dalam proses enkripsi dan dekripsi. Terdapat tiga jenis utama, yaitu kriptografi simetris, kriptografi asimetris, dan kriptografi hibrida.
1. Kriptografi Simetris (Symmetric Cryptography)
Karakteristik:
Lebih cepat dan efisien untuk data berukuran besar.
Cocok untuk sistem tertutup atau lingkungan dengan distribusi kunci yang aman.
Rentan terhadap penyadapan jika kunci didistribusikan melalui saluran yang tidak aman.
Tantangan:
Distribusi kunci menjadi tantangan utama karena kedua pihak harus memiliki dan menjaga kerahasiaan kunci tersebut.
Contoh Algoritma:
AES (Advanced Encryption Standard) – algoritma modern yang sangat kuat dan banyak digunakan.
DES (Data Encryption Standard) – sudah tidak direkomendasikan karena kelemahannya.
Blowfish, Twofish – algoritma alternatif yang lebih cepat dan fleksibel.
2. Kriptografi Asimetris (Asymmetric Cryptography)
Menggunakan dua kunci berbeda:
Kunci publik (dapat dibagikan ke siapa saja).
Kunci privat (harus dirahasiakan oleh pemilik).
Karakteristik:
Data yang dienkripsi dengan kunci publik hanya bisa didekripsi dengan kunci privat yang cocok, dan sebaliknya.
Mendukung autentikasi dan tanda tangan digital.
Tidak memerlukan saluran rahasia untuk distribusi kunci.
Keunggulan:
Aman untuk komunikasi di jaringan terbuka (misalnya internet).
Dapat digunakan untuk verifikasi identitas dan integritas dokumen.
Kekurangan:
Lebih lambat daripada metode simetris.
Konsumsi sumber daya lebih tinggi.
Contoh Algoritma:
RSA (Rivest-Shamir-Adleman) – paling banyak digunakan dalam komunikasi aman.
ECC (Elliptic Curve Cryptography) – memberikan keamanan tinggi dengan kunci yang lebih pendek.
ElGamal, DSA (Digital Signature Algorithm) – digunakan untuk enkripsi dan tanda tangan digital.
3. Kriptografi Hibrida (Hybrid Cryptography)
Kriptografi hibrida menggabungkan kekuatan dari kriptografi simetris dan asimetris untuk membentuk sistem yang aman sekaligus efisien.
Cara Kerja:
Kunci simetris dibuat secara acak untuk mengenkripsi data.
Kunci simetris tersebut dienkripsi menggunakan kunci publik penerima.
Data terenkripsi dan kunci simetris terenkripsi dikirim ke penerima.
Penerima menggunakan kunci privat untuk mendekripsi kunci simetris, lalu mendekripsi data.
Keunggulan:
Aman dalam pertukaran kunci.
Cepat dalam pengolahan data karena tetap menggunakan algoritma simetris untuk enkripsi isi pesan.
Contoh Penggunaan:
HTTPS (SSL/TLS): digunakan untuk mengamankan komunikasi web.
PGP (Pretty Good Privacy): untuk mengenkripsi dan menandatangani email.
Aplikasi pesan instan: seperti Signal dan WhatsApp.
Hashing dalam Kriptografi
Hashing digunakan bukan untuk menyembunyikan data (seperti enkripsi), tetapi untuk memverifikasi keaslian dan integritas data, tanpa perlu mengetahui isi aslinya. Berikut beberapa tujuan utamanya:
Integritas Data
Untuk mendeteksi perubahan data. Jika satu bit saja dari input berubah, hash-nya akan berbeda drastis (disebut avalanche effect).Penyimpanan Kata Sandi (Password)
Alih-alih menyimpan kata sandi secara langsung, sistem menyimpan hash-nya. Ketika pengguna login, sistem membandingkan hash dari input pengguna dengan hash yang tersimpan.Tanda Tangan Digital
Digunakan untuk membuat representasi singkat dari data yang akan ditandatangani secara digital.Blockchain & Kriptografi Terapan
Fungsi hash sangat penting dalam sistem seperti blockchain (misalnya, Bitcoin), sebagai alat penghubung antar blok dan bukti kerja (proof of work).
Ciri-Ciri Fungsi Hash Kriptografi
Fungsi hash yang baik harus memiliki sifat berikut:
Deterministik
Input yang sama selalu menghasilkan output yang sama.Cepat dihitung
Harus efisien untuk menghasilkan hash dari input.Avalanche Effect
Perubahan kecil pada input menghasilkan perubahan besar pada output.Non-reversible
Tidak mungkin mendapatkan input asli hanya dari hash-nya.Collision Resistant
Sulit (idealnya mustahil) menemukan dua input berbeda yang menghasilkan hash yang sama.Pre-image Resistance
Sulit menemukan input berdasarkan output (hash value).
Komentar
Posting Komentar