Prinsip Perancangan Blok Cipher Oleh : Fadil Firmansyah
Prinsip-prinsip Perancangan Cipher Blok
1. Prinsip Confusion dan Diffusion dari Shannon.
2. Cipher berulang (iterated cipher)
3. Jaringan Feistel (Feistel Network)
4. Kotak-S (S-box)
Prinsip Confusion dan Diffusion dari Shannon.
Banyak algoritma kriptografi klasik yang telah berhasil dipecahkan karena distribusi statistik plainteks dalam suatu bahasa diketahui.
Claude Shannon dalam makalah klasiknya tahun 1949, Communication theory of secrecy systems, memperkenalkan prinsip confusion dan diffusion untuk membuat serangan statistik menjadi rumit.
Dua prinsip tersebut menjadi panduan dalam merancang algoritma kriptografi.
Confusion
Prinsip ini menyembunyikan hubungan apapun yang ada antara plainteks, cipherteks, dan kunci. Prinsip confusion membuat kriptanalis frustasi untuk mencari pola-pola statistik yang muncul pada cipherteks. One-Time Pad adalah contoh algoritma yang confuse. Confusion dapat direalisasikan dengan menggunakan algoritma substitusi yang kompleks. DES mengimplementasikan substitusi dengan menggunakan kotak-S.
Diffusion
Prinsip ini menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin cipherteks. Sebagai contoh, pengubahan kecil pada plainteks sebanyak satu atau dua bit menghasilkan perubahan pada cipherteks yang tidak dapat diprediksi. Mode CBC dan CFB menggunakan prinsip ini. Pada algoritma DES, diffusion direalisasikan dengan menggunakan operasi permutasi.
Cipher Berulang (Iterated Cipher)
Fungsi transformasi sederhana yang mengubah plainteks menjadi cipherteks diulang sejumlah kali. Pada setiap putaran digunakan upa-kunci (subkey) atau kunci putaran (round key) yang dikombinasikan dengan plainteks.
Jaringan Feistel (Feistel Network)
Sifat reversible ini membuat kita tidak perlu membuat algoritma baru untuk mendekripsi cipherteks menjadi plainteks. Sifat reversible tidak bergantung pada fungsi f sehingga fungsi f dapat dibuat serumit mungkin.
Kotak-S (S-box)
Kotak-S adalah matriks yang berisi substitusi sederhana yang memetakan satu atau lebih bit dengan satu atau lebih bit yang lain. Pada kebanyakan algoritma cipher blok, kotak-S memetakan m bit masukan menjadi n bit keluaran, sehingga kotak-S tersebut dinamakan kotak m n S-box.Kotak-S merupakan satu-satunya langkah nirlanjar di dalam algoritma, karena operasinya adalah look-up table. Masukan dari operasi look-up table dijadikan sebagai indeks kotak-S, dan keluarannya adalah entry di dalam kotak-S.
Artikel ini dibuat sebagai tugas kuliah sebagaimana yang tertuang dalam :https://onlinelearning.uhamka.ac.id/
(10 soal essay dan jawaban)
1. Jelaskan apa yang dimaksud dengan blok cipher dan bagaimana prinsip kerjanya.
Jawaban: Blok cipher adalah sebuah algoritma kriptografi yang mengenkripsi data dalam bentuk blok-blok tetap dengan menggunakan serangkaian operasi kriptografi seperti substitusi, permutasi, dan penggabungan. Prinsip kerjanya adalah membagi data plaintext menjadi blok-blok yang sama besar, kemudian setiap blok diubah menjadi blok data ciphertext dengan menggunakan algoritma kunci yang diterapkan.
2. Sebutkan dan jelaskan tiga prinsip dasar dalam perancangan blok cipher.
Jawaban:
- Substitusi: Prinsip substitusi melibatkan penggantian nilai-nilai data dalam blok plaintext dengan nilai-nilai yang baru sesuai dengan aturan yang ditentukan oleh algoritma kunci.
- Permutasi: Prinsip permutasi melibatkan perubahan posisi data dalam blok tanpa mengubah nilainya, sehingga mengubah struktur blok secara keseluruhan.
- Penggabungan (XOR): Prinsip penggabungan melibatkan operasi XOR (exclusive OR) untuk menggabungkan data plaintext dengan kunci. Operasi XOR menghasilkan nilai yang berbeda hanya jika salah satu bitnya adalah 1.
3. Apa perbedaan antara blok cipher dan stream cipher?
Jawaban: Blok cipher mengenkripsi data dalam blok-blok tetap dengan ukuran yang sama, sedangkan stream cipher mengenkripsi data bit per bit atau byte per byte secara berkesinambungan. Dalam blok cipher, seluruh blok data harus dienkripsi secara terpisah, sedangkan stream cipher menghasilkan data yang langsung terenkripsi saat data masuk.
4. Apa yang dimaksud dengan enkripsi dan dekripsi dalam konteks blok cipher?
Jawaban: Enkripsi dalam konteks blok cipher adalah proses mengubah data plaintext menjadi ciphertext menggunakan algoritma kunci. Dekripsi, di sisi lain, adalah proses mengembalikan data ciphertext menjadi plaintext menggunakan algoritma kunci yang sama, sehingga mengembalikan data ke bentuk semula.
5. Jelaskan apa yang dimaksud dengan kunci pada blok cipher.
Jawaban: Kunci pada blok cipher adalah informasi rahasia yang digunakan untuk mengatur dan mengontrol proses enkripsi dan dekripsi. Kunci ini harus dijaga kerahasiaannya, karena keamanan dan keefektifan blok cipher sangat tergantung pada kunci yang digunakan.
6. Apa yang dimaksud dengan algoritma substitusi pada blok cipher?
Jawaban:Algoritma substitusi pada blok cipher melibatkan penggantian nilai-nilai data dalam blok plaintext dengan nilai-nilai yang baru sesuai dengan aturan yang ditentukan oleh algoritma kunci. Biasanya, substitusi dilakukan menggunakan tabel substitusi seperti S-box untuk mengamankan informasi dalam blok data.
7. Jelaskan prinsip permutasi pada blok cipher.
Jawaban:Prinsip permutasi pada blok cipher melibatkan perubahan posisi data dalam blok tanpa mengubah nilainya. Dalam prinsip ini, urutan data dalam blok diubah sehingga mengubah struktur blok secara keseluruhan, yang meningkatkan keamanan data saat dienkripsi.
8. Apa yang dimaksud dengan operasi XOR pada blok cipher?
Jawaban:Operasi XOR (exclusive OR) pada blok cipher adalah operasi penggabungan yang digunakan untuk menggabungkan data plaintext dengan kunci. Operasi XOR menghasilkan nilai yang berbeda hanya jika salah satu bitnya adalah 1, sehingga digunakan dalam proses pengacakan dan penggabungan data.
9. Bagaimana blok cipher memastikan keamanan data?
Jawaban: Blok cipher memastikan keamanan data dengan mengombinasikan prinsip substitusi, permutasi, dan penggabungan dengan menggunakan algoritma kunci yang kompleks. Prinsip-prinsip ini mengacaukan dan mengubah data secara signifikan, sehingga sulit bagi pihak yang tidak berwenang untuk mendapatkan informasi yang berguna dari data ciphertext.
10. Jelaskan pentingnya pemilihan kunci yang kuat dalam blok cipher.
Jawaban: Pemilihan kunci yang kuat dalam blok cipher sangat penting untuk menjaga keamanan data. Kunci yang kuat harus memiliki panjang yang memadai, kompleksitas yang tinggi, dan harus sulit untuk ditebak oleh pihak yang tidak berwenang. Dengan pemilihan kunci yang kuat, akan sulit bagi serangan kriptanalisis untuk memecahkan algoritma dan mendapatkan data plaintext dari data ciphertext.
Artikel ini dibuat sebagai tugas kuliah sebagaimana yang tertuang dalam :https://onlinelearning.uhamka.ac.id/
Comments
Post a Comment