Lompat ke isi

Algoritma Kriptografi Simetris

Dari Wiki Berbudi
Revisi sejak 16 Desember 2025 22.24 oleh Budi (bicara | kontrib) (←Membuat halaman berisi ''''Algoritma Kriptografi Simetris''' adalah kelas algoritma kriptografi di mana kunci yang sama digunakan untuk proses enkripsi (penyandian) dan dekripsi (penguraian sandi). Dalam skema ini, pengirim dan penerima pesan harus berbagi kunci rahasia yang sama sebelum melakukan komunikasi yang aman. Karena sifat penggunaan kunci tunggal ini, metode ini sering juga disebut sebagai ''single-key cryptography'' atau ''secret-key cryptography''. Keamanan dari...')
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

Algoritma Kriptografi Simetris adalah kelas algoritma kriptografi di mana kunci yang sama digunakan untuk proses enkripsi (penyandian) dan dekripsi (penguraian sandi). Dalam skema ini, pengirim dan penerima pesan harus berbagi kunci rahasia yang sama sebelum melakukan komunikasi yang aman. Karena sifat penggunaan kunci tunggal ini, metode ini sering juga disebut sebagai single-key cryptography atau secret-key cryptography. Keamanan dari sistem ini sangat bergantung pada kerahasiaan kunci tersebut; jika kunci jatuh ke tangan pihak ketiga yang tidak berwenang, maka seluruh komunikasi yang dienkripsi menggunakan kunci tersebut dapat dikompromikan.

Pendekatan ini berbeda secara fundamental dengan kriptografi asimetris, yang menggunakan sepasang kunci (kunci publik dan kunci privat). Meskipun kriptografi asimetris menawarkan solusi untuk masalah distribusi kunci, algoritma simetris umumnya jauh lebih efisien secara komputasi dan mampu memproses data dalam jumlah besar dengan kecepatan tinggi. Oleh karena itu, dalam sistem keamanan modern seperti TLS/SSL, algoritma simetris sering digunakan bersamaan dengan algoritma asimetris dalam mekanisme yang disebut sistem hybrid, di mana kunci simetris dipertukarkan menggunakan kriptografi asimetris, dan kemudian data utama dienkripsi menggunakan algoritma simetris.

Konsep Dasar dan Matematis

Secara matematis, proses enkripsi dan dekripsi pada algoritma simetris dapat direpresentasikan sebagai fungsi yang memetakan plaintext (pesan asli) ke ciphertext (pesan tersandi) dan sebaliknya. Jika kita mendefinisikan P sebagai plaintext, C sebagai ciphertext, dan K sebagai kunci rahasia, maka fungsi enkripsi E dapat dituliskan sebagai C=EK(P). Sebaliknya, fungsi dekripsi D mengembalikan pesan asli dengan menggunakan kunci yang sama, yang dinyatakan dengan rumus P=DK(C). Hal ini menyiratkan bahwa fungsi dekripsi merupakan invers dari fungsi enkripsi, yaitu DK(EK(P))=P.

Kekuatan dari algoritma ini sering kali bergantung pada konsep confusion (kebingungan) dan diffusion (difusi) yang diperkenalkan oleh Claude Shannon. Confusion berusaha mengaburkan hubungan antara kunci dan ciphertext, biasanya dicapai melalui operasi substitusi yang kompleks (seperti S-box pada AES). Sementara itu, diffusion bertujuan menyebarkan pengaruh satu bit plaintext ke banyak bit ciphertext, sehingga perubahan kecil pada input akan menghasilkan perubahan drastis pada output, sebuah fenomena yang dikenal sebagai avalanche effect. Operasi permutasi atau transposisi sering digunakan untuk mencapai difusi ini.

Klasifikasi Algoritma

Algoritma simetris secara umum dikategorikan menjadi dua jenis utama berdasarkan cara mereka memproses data input: Block Cipher (Sandi Blok) dan Stream Cipher (Sandi Alir). Block Cipher memecah plaintext menjadi blok-blok berukuran tetap (misalnya, 64 bit atau 128 bit) dan mengenkripsi setiap blok secara terpisah menggunakan kunci yang sama. Jika data terakhir tidak memenuhi ukuran blok, teknik padding digunakan untuk melengkapinya. Contoh populer dari jenis ini adalah Advanced Encryption Standard (AES) dan Data Encryption Standard (DES).

Sebaliknya, Stream Cipher mengenkripsi data secara bit-per-bit atau byte-per-byte dengan menggabungkan aliran plaintext dengan aliran bit acak semu (keystream) yang dihasilkan dari kunci. Operasi yang paling umum digunakan dalam stream cipher adalah operasi logika XOR (exclusive OR). Secara matematis, jika S adalah keystream yang dihasilkan, maka enkripsi dilakukan dengan Ci=PiSi. Keuntungan utama dari stream cipher adalah kecepatannya dan ketiadaan latensi blok, membuatnya ideal untuk aplikasi real-time seperti enkripsi suara atau video. Contoh algoritma ini termasuk RC4 dan Salsa20.

Mode Operasi

Karena Block Cipher hanya dapat mengenkripsi satu blok data pada satu waktu, diperlukan metode untuk menangani pesan yang lebih panjang dari ukuran blok. Metode ini dikenal sebagai mode operasi. Mode operasi menentukan bagaimana blok-blok data diproses secara berurutan atau paralel dan bagaimana kesalahan transmisi mempengaruhi hasil dekripsi. Pemilihan mode operasi yang tepat sangat krusial karena mode yang tidak aman dapat membocorkan pola pada plaintext meskipun algoritmanya sendiri kuat.

Berikut adalah beberapa mode operasi standar yang umum digunakan dalam implementasi kriptografi modern:

  1. Electronic Codebook (ECB): Mode paling sederhana di mana setiap blok dienkripsi secara independen. Kelemahannya adalah pola yang sama pada plaintext akan menghasilkan pola yang sama pada ciphertext, sehingga tidak aman untuk data yang memiliki struktur berulang.
  2. Cipher Block Chaining (CBC): Setiap blok plaintext di-XOR dengan blok ciphertext sebelumnya sebelum dienkripsi. Mode ini membutuhkan Initialization Vector (IV) yang unik untuk setiap pesan agar pesan yang sama menghasilkan ciphertext yang berbeda.
  3. Counter Mode (CTR): Mengubah block cipher menjadi stream cipher dengan mengenkripsi nilai pencacah (counter) yang bertambah, kemudian hasilnya di-XOR dengan plaintext. Mode ini memungkinkan pemrosesan paralel yang sangat cepat.
  4. Galois/Counter Mode (GCM): Menggabungkan mode CTR dengan fungsi otentikasi Galois, memberikan kerahasiaan data sekaligus integritas dan otentikasi data (authenticated encryption).

Standar dan Algoritma Populer

Salah satu algoritma simetris yang paling berpengaruh dalam sejarah adalah Data Encryption Standard (DES). Dikembangkan pada tahun 1970-an, DES menggunakan kunci 56-bit yang pada awalnya dianggap cukup aman. Namun, seiring dengan peningkatan kekuatan komputasi, kunci 56-bit menjadi rentan terhadap brute-force attack. Hal ini menyebabkan pengembangan Triple DES (3DES), yang menerapkan algoritma DES tiga kali berturut-turut untuk meningkatkan keamanan, meskipun prosesnya menjadi lebih lambat.

Saat ini, standar global yang menggantikan DES adalah Advanced Encryption Standard (AES), juga dikenal sebagai Rijndael. Ditetapkan oleh NIST pada tahun 2001, AES mendukung panjang kunci 128, 192, dan 256 bit. Algoritma ini bekerja pada blok data 128-bit dan menggunakan jaringan substitusi-permutasi (SPN). Keamanan AES telah teruji secara luas dan digunakan oleh pemerintah serta industri di seluruh dunia untuk melindungi data sensitif hingga tingkat klasifikasi "Sangat Rahasia".

Selain AES, terdapat algoritma lain seperti Blowfish dan Twofish yang dikembangkan oleh Bruce Schneier. Blowfish dikenal karena kecepatan dan efektivitasnya dalam perangkat lunak, serta lisensinya yang bebas royalti. Sementara itu, Twofish adalah salah satu finalis dalam kompetisi AES yang menawarkan keamanan tinggi dengan struktur yang fleksibel. Dalam ranah stream cipher, ChaCha20 kini menjadi standar modern yang sering digunakan dalam protokol internet seperti TLS dan VPN WireGuard karena performanya yang tinggi pada perangkat seluler tanpa perangkat keras akselerasi kriptografi khusus.

Tantangan Distribusi Kunci

Kelemahan utama dari kriptografi simetris terletak pada manajemen kunci, khususnya masalah distribusi kunci (key distribution problem). Agar komunikasi aman dapat terjadi, kedua belah pihak harus menyepakati kunci rahasia tanpa diketahui oleh pihak lain. Jika mereka berada di lokasi yang berjauhan, pengiriman kunci melalui saluran yang tidak aman sangat berisiko disadap. Jumlah kunci yang dibutuhkan juga meningkat secara eksponensial seiring bertambahnya jumlah pengguna dalam jaringan; untuk n pengguna, diperlukan n(n1)2 kunci.

Untuk mengatasi masalah ini, protokol pertukaran kunci seperti Diffie-Hellman dikembangkan. Protokol ini memungkinkan dua pihak untuk menghasilkan kunci rahasia bersama melalui saluran publik yang tidak aman tanpa perlu mengirimkan kunci itu sendiri. Dalam praktik modern, solusi yang paling umum adalah menggunakan infrastruktur kunci publik (PKI) untuk mengenkripsi kunci simetris (session key) yang bersifat sementara, yang kemudian digunakan untuk mengenkripsi sisa percakapan.

Kriptanalisis dan Keamanan

Keamanan algoritma simetris tidak didasarkan pada kerahasiaan algoritmanya (prinsip Kerckhoffs), melainkan sepenuhnya pada kerahasiaan kuncinya. Serangan terhadap algoritma ini biasanya dikategorikan menjadi serangan brute-force dan serangan analitik. Serangan brute-force mencoba setiap kemungkinan kombinasi kunci hingga ditemukan yang benar. Waktu yang dibutuhkan untuk serangan ini bergantung pada panjang kunci; sebagai contoh, kunci 128-bit memiliki 2128 kemungkinan kombinasi, yang secara komputasi mustahil dipecahkan dengan teknologi saat ini.

Di sisi lain, kriptanalisis analitik seperti differential cryptanalysis dan linear cryptanalysis mencoba menemukan kelemahan matematis dalam struktur algoritma untuk mengurangi ruang pencarian kunci. Pengembang algoritma harus memastikan desain mereka tahan terhadap serangan-serangan ini dengan menggunakan jumlah putaran (rounds) yang cukup dan komponen non-linear yang kuat. Hingga saat ini, belum ada serangan praktis yang berhasil mematahkan AES secara penuh, menjadikannya standar emas dalam kriptografi simetris modern.