Prinsip Perancangan Block Cipher
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.
• Cipher berulang dinyatakan sebagai
Ci
= f(Ci – 1
, Ki
)
i = 1, 2, …, r (r adalah jumlah putaran).
Ki
= upa-kunci (subkey) pada putaran ke-i
f = fungsi transformasi (di dalamnya terdapat operasi substitusi, permutasi,
dan/atau ekspansi, kompresi).
Plainteks dinyatakan dengan C0
dan cipherteks dinyatakan dengan Cr
.
Jaringan Feistel (Feistel Network)
Jaringan Feistel pada enkripsi putaran ke-i
Li
= Ri – 1
Ri
= Li – 1 f(Ri – 1, Ki
)
• Jaringan Feistel banyak dipakai pada algoritma kriptografi DES, LOKI, GOST, FEAL,
Lucifer, Blowfish, dan lain-lain karena model ini bersifat reversible untuk proses
enkripsi dan dekripsi.
Ri – 1
= Li
Li – 1 = Ri f(Ri – 1
,Ki
) = Ri f(Li
, Ki
)
• Sifat reversible ini membuat kita tidak perlu membuat algoritma baru
untuk mendekripsi cipherteks menjadi plainteks.
Contoh: Li – 1 f(Ri – 1
, Ki
) f(Ri – 1
, Ki
) = Li – 1
• 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.
Contoh: Kotak-S di dalam algoritma DES adalah 6 4 S-box yang berarti memetakan 6 bit
masukan menjadi 4 bit keluaran. Salah satu kotak-S yang ada di dalam algoritma DES adalah
sebagai berikut:
Baris diberi nomor dari 0 sampai 3
Kolom diberi nomor dari 0 sampai 15
Masukan untuk proses substitusi adalah 6 bit,
b1b2b3b4b5b6
Nomor baris dari tabel ditunjukkan oleh string bit b1b6
(menyatakan 0 sampai 3 desimal)
Nomor kolom ditunjukkan oleh string bit b2b3b4b5
(menyatakan 0 sampai 15)
Contoh Soal
1. Jelaskan prinsip perancangan block cipher!
Jawaban :
Prinsip perancangan block cipher adalah suatu teknik kriptografi yang digunakan untuk mengenkripsi dan mendekripsi blok-blok data dengan panjang tetap. Prinsip perancangan ini melibatkan penggunaan operasi matematika seperti substitusi, transposisi, dan permutasi dalam rangka mencapai kerahasiaan (confidentiality) dan keamanan (security) data yang diproses.
2. Sebutkan dan jelaskan salah satu prinsip keamanan yang digunakan dalam perancangan block cipher!
Jawaban :
Salah satu prinsip keamanan yang digunakan dalam perancangan block cipher adalah penggunaan kunci rahasia (secret key). Kunci rahasia merupakan nilai yang digunakan dalam proses enkripsi dan dekripsi data. Dengan menggunakan kunci rahasia yang tepat, hanya pihak yang memiliki kunci tersebut yang dapat mengakses dan membaca isi pesan terenkrips
3. Apa perbedaan antara enkripsi blok dan enkripsi aliran?
Jawaban :
Perbedaan antara enkripsi blok dan enkripsi aliran adalah sebagai berikut:
- Enkripsi blok: Pada enkripsi blok, data yang akan dienkripsi dipecah menjadi blok-blok dengan panjang tetap. Setiap blok data kemudian dienkripsi secara terpisah menggunakan kunci rahasia yang sama. Enkripsi blok memerlukan penyimpanan data yang cukup besar karena seluruh blok harus diproses bersamaan sebelum dienkripsi atau didekripsi.
- Enkripsi aliran: Pada enkripsi aliran, data yang akan dienkripsi tidak dipecah menjadi blok-blok tetapi dienkripsi secara kontinyu bit per bit atau byte per byte menggunakan kunci aliran (stream key). Enkripsi aliran membutuhkan penyimpanan data yang lebih kecil karena hanya memerlukan penyebaran kunci aliran dan memproses data secara berurutan.
4. Jelaskan metode substitusi dan transposisi dalam perancangan block cipher!
Jawaban :
Metode substitusi dan transposisi adalah dua teknik yang sering digunakan dalam perancangan block cipher:
- Substitusi: Metode substitusi melibatkan penggantian nilai-nilai dalam blok data dengan nilai-nilai lain berdasarkan suatu aturan yang ditentukan. Misalnya, menggantikan setiap bit atau byte dengan bit atau byte yang berbeda sesuai dengan tabel substitusi (S-box) yang telah ditentukan sebelumnya.
- Transposisi: Metode transposisi melibatkan perubahan posisi atau pengurutan bit atau byte dalam blok data sesuai dengan suatu aturan tertentu. Misalnya, menukar posisi bit-bit tertentu atau menggeser baris atau kolom dalam matriks blok data.
Nama : Indah Winarni
Nim : 2103015141
Sumber : https://onlinelearning.uhamka.ac.id
Komentar
Posting Komentar