Tugas 11 Prinsip Perancangan Blok Cipher Oleh : Adji Prasetyo

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. 



10 SOAL DAN JAWABAN :


1. Dalam perancangan Block Cipher, panjang blok plainteks yang digunakan adalah 64 bit. Jika ingin mengenkripsi pesan dengan panjang plainteks 320 bit, berapa banyak blok plainteks yang diperlukan? Bagaimana cara memproses blok-blok tersebut selama proses enkripsi?

Jawab:

Jika panjang blok plainteks adalah 64 bit dan panjang plainteks adalah 320 bit, maka diperlukan 5 blok plainteks. Dalam proses enkripsi, blok-blok plainteks akan dienkripsi secara berurutan menggunakan kunci yang relevan. Setelah itu, blok-blok cipherteks yang dihasilkan dapat digabungkan untuk membentuk cipherteks keseluruhan, yang akan menjadi representasi terenkripsi dari pesan asli.


2. Bagaimana mode Cipher Block Chaining (CBC) dan Cipher Feedback (CFB) mengimplementasikan prinsip Diffusion? Jelaskan mekanisme dan peran prinsip Diffusion dalam kedua mode tersebut.

Jawab:

Mode Cipher Block Chaining (CBC) dan Cipher Feedback (CFB) merupakan mode enkripsi yang mengimplementasikan prinsip Diffusion. Dalam mode Cipher Block Chaining (CBC) dan Cipher Feedback (CFB), prinsip Diffusion diimplementasikan dengan cara yang berbeda. Dalam mode CBC, setiap blok plainteks di-XOR dengan blok cipherteks sebelumnya sebelum dilakukan enkripsi. Hal ini menyebabkan perubahan pada satu blok plainteks dapat merambat dan mempengaruhi seluruh blok cipherteks yang dihasilkan. Dalam mode CFB, setiap blok cipherteks sebelumnya di-XOR dengan blok plainteks sebelumnya sebelum dilakukan enkripsi. Dengan cara ini, perubahan kecil pada plainteks akan menghasilkan perubahan yang menyebar ke blok-blok cipherteks berikutnya, menjaga tingkat Diffusion yang tinggi.


3. Apa arti dari Plainteks = C0 dan Cipherteks = Cr dalam rumus Ci = f(Ci – 1, Ki)? Jelaskan perbedaan antara plainteks awal (C0) dan cipherteks yang dihasilkan setelah melakukan sejumlah putaran (Cr).

Jawab:

Plainteks = C0 dan Cipherteks = Cr dalam rumus Ci = f(Ci – 1, Ki) menunjukkan bahwa plainteks awal (C0) diubah menjadi cipherteks setelah melalui sejumlah putaran (Cr). Setiap putaran menggunakan cipherteks hasil transformasi pada putaran sebelumnya sebagai input. Cipherteks pada putaran terakhir (Cr) adalah hasil dari transformasi pada putaran ke-r, yang mencerminkan transformasi berulang yang terjadi dalam iterated cipher.



4. Bagaimana prinsip Confusion dapat menyembunyikan hubungan antara plainteks, cipherteks, dan kunci?

Jawab:

Prinsip Confusion dapat menyembunyikan hubungan antara plainteks, cipherteks, dan kunci dengan mengaburkan pola-pola atau hubungan statistik yang dapat terlihat dalam cipherteks. Dengan kata lain, setiap perubahan kecil pada plainteks atau kunci harus menghasilkan perubahan yang signifikan pada cipherteks, sehingga sulit bagi penyerang untuk menemukan hubungan atau pola yang dapat membantu dalam memecahkan enkripsi.


5. Kotak-S di dalam algoritma DES adalah 4 x 4 S-box yang berarti memetakan 4 bit masukan menjadi 4 bit keluaran. Salah satu Kotak-S yang ada di dalam algoritma DES adalah sebagai berikut:

1 0 3 2

3 2 1 0

0 2 1 3

3 1 3 2

Jawab:

Karena matriks Kotak-S tersebut memiliki ukuran 4 x 4, maka terdapat total 4 x 4 = 16 entri. Setiap entri dalam matriks Kotak-S merupakan satu nilai substitusi yang digunakan dalam algoritma DES. Pada saat enkripsi atau dekripsi, masukan 4 bit akan digunakan sebagai indeks untuk memilih nilai substitusi yang sesuai dalam matriks Kotak-S tersebut. Keluaran yang dihasilkan adalah nilai substitusi yang sesuai dengan indeks tersebut. Jadi, jumlah total entri dalam Kotak-S tersebut adalah 16.


6. Jelaskan mengapa panjang blok cipherteks harus sama dengan panjang blok plainteks dalam perancangan Block Cipher?

Jawab:

Panjang blok cipherteks harus sama dengan panjang blok plainteks dalam perancangan Block Cipher untuk menjaga konsistensi antara plainteks awal dan cipherteks hasil enkripsi. Dengan menggunakan panjang blok yang sama, setiap blok plainteks diubah menjadi blok cipherteks yang memiliki ukuran yang serupa. Jika panjang blok cipherteks tidak sama dengan panjang blok plainteks, maka akan terjadi ketidakcocokan antara blok-blok tersebut, yang dapat mengganggu integritas data atau menghasilkan kesalahan saat proses dekripsi.


7. Beri penjelasan tentang peran prinsip Confusion dalam One-Time Pad sebagai contoh konkritnya. Bagaimana prinsip Confusion diterapkan dalam One-Time Pad untuk menyembunyikan hubungan antara plainteks, cipherteks, dan kunci?

Jawab:

Dalam One-Time Pad, prinsip Confusion diterapkan dengan cara yang unik. One-Time Pad menggunakan operasi XOR (eXclusive OR) untuk melakukan substitusi karakter plainteks dengan karakter kunci. Prosedur XOR yang acak menghasilkan cipherteks yang sepenuhnya acak, sehingga menyembunyikan hubungan apapun antara plainteks dan cipherteks. Prinsip Confusion dalam One-Time Pad memastikan bahwa tidak ada pola statistik yang dapat digunakan oleh penyerang untuk menganalisis atau memecahkan enkripsi. Dengan demikian, prinsip Confusion dalam One-Time Pad secara efektif melindungi hubungan antara plainteks, cipherteks, dan kunci.



8. Jelaskan mengapa fungsi f dalam Jaringan Feistel dapat dibuat serumit mungkin?

Jawab:

Fungsi f dalam Jaringan Feistel dapat dibuat serumit mungkin untuk meningkatkan keamanan algoritma kriptografi. Semakin kompleks fungsi f, semakin sulit bagi pihak yang tidak berwenang untuk mempelajari atau memprediksi hubungan antara input dan output fungsi tersebut. Fungsi f dapat terdiri dari operasi-operasi kriptografis seperti substitusi, permutasi, atau fungsi kunci yang kompleks. Keamanan algoritma Jaringan Feistel sangat bergantung pada kerahasiaan dan kekuatan fungsi f.


9. Apa dampak dari melakukan perubahan pada entri Kotak-S terhadap keamanan algoritma kriptografi? Bagaimana serangan terhadap Kotak-S dapat mempengaruhi keseluruhan keamanan sistem kriptografi?

Jawab:

Perubahan pada entri Kotak-S dapat memiliki dampak signifikan terhadap keamanan algoritma kriptografi. Jika serangan berhasil mengungkap entri Kotak-S, hal ini dapat mengungkap pola substitusi dan melemahkan kekuatan enkripsi. Serangan terhadap Kotak-S seperti serangan diferensial atau linier dapat mempengaruhi keseluruhan keamanan sistem kriptografi jika Kotak-S tidak dirancang dengan baik.


10. Sebuah iterated cipher memiliki jumlah putaran (r) sebanyak 2. Setiap putaran menggunakan subkey (Ki) yang berbeda. Pada putaran ke-1, subkeynya adalah K1, pada putaran ke-2 subkeynya adalah K2. Fungsi transformasi (f) dalam iterated cipher ini melibatkan operasi substitusi dan permutasi. Jika C0 = 0110, K1 = 1010, dan K2 = 1101, hitunglah C2.

Jawab:

Dalam iterated cipher dengan jumlah putaran (r) sebanyak 2, subkey pada putaran ke-1 (K1) adalah 1010, dan subkey pada putaran ke-2 (K2) adalah 1101. Fungsi transformasi (f) melibatkan operasi substitusi dan permutasi. Rumus Ci = f(Ci – 1, Ki):


Pada putaran ke-1:

C1 = f(C0, K1) = substitusi(C0, K1) XOR permutasi(C0, K1)

= substitusi(0110, 1010) XOR permutasi(0110, 1010)

= 1001 XOR 0101

= 1100


Pada putaran ke-2:

C2 = f(C1, K2) = substitusi(C1, K2) XOR permutasi(C1, K2)

= substitusi(1100, 1101) XOR permutasi(1100, 1101)

= 0010 XOR 1000

= 1010

Jadi, nilai C2 adalah 1010.


SUMBER https://onlinelearning.uhamka.ac.id/

Komentar

Postingan populer dari blog ini

adji prasetyo tugas OAK Pertemuan 1

Tugas 5 Organisasi Dan Arsitektur Komputer : Adji Prasetyo (2103015003)

Tugas 7 Adji Prasetyo : 2103015003