Prinsip Perancangan Block Cipher Oleh Najla Qurrata

  Assalamualaikum Warahmatullahi Wabarakatuh 


Nama: Najla Qurrata Aini Putri Yusrizal

Kelas / NIM : 4C/2103015179

Teknik Informatika

Prinsip Perancangan Block Cipher

  • Bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang sama.
  • Panjang blok cipherteks = Panjang blok plainteks.
  • Enkripsi dilakukan terhadap blok plainteks dengan bit-bit kunci
  • Panjang kunci eksternal (yang diberikan oleh pengguna) tidak harus sama dengan panjang blok plainteks.


  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.
  • Confusion
  1. Menyembunyikan hubungan apapun yang ada antara plainteks,cipherteks, dan kunci.
  2. Mencari pola-pola statistik yang muncul pada cipherteks. 
  3. Dapat direalisasikan dengan menggunakan algoritma substitusi yang kompleks. 
  4. Pada algoritma DES, confusion mengimplementasikan substitusi dengan menggunakan kotak-S.
  5. Contoh: One-Time Pad.
  • Diffusion
    1. Menyebarkan pengaruh satu bit plainteks atau kunci ke sebanyak mungkin cipherteks. 
    2. Mode Cipher Block Chaining (CBC) dan Cipher Feedback (CFB) menggunakan prinsip ini.
    3. Pada algoritma DES, diffusion direalisasikan dengan menggunakan operasi permutasi.
    4. Contoh: Pengubahan kecil pada plainteks sebanyak satu atau dua bit menghasilkan perubahan pada cipherteks yang tidak dapat diprediksi. 
    Cipher Berulang (Iterated Cipher)
    • Transformasi sederhana yang mengubah plainteks menjadi cipherteks diulang sejumlah kali.
    • Dinyatakan sebagai: 
    Ci = f(Ci – 1, Ki)
    Keterangan:
    i = 1, 2, …, r 
    r = jumlah putaran
    Ki = upa-kunci (subkey) pada putaran ke-i
    f = fungsi transformasi (operasi substitusi, permutasi, dan/atau ekspansi, kompresi)
    Plainteks = C0 
    Cipherteks = Cr 



    Jaringan Feistel (Feistel Network)
    • Jaringan Feistel pada enkripsi putaran ke-i
    Li = Ri – 1
      Ri = Li – 1 ⊕ f(Ri – 1, Ki)
      • 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 tidak perlu membuat algoritma baru untuk mendekripsi cipherteks menjadi plainteks dan tidak bergantung pada fungsi f sehingga fungsi f dapat dibuat serumit mungkin.
        Contoh:
          Li – 1 ⊕ f(Ri – 1, Ki) ⊕ f(Ri – 1, Ki) = Li – 1 

          Kotak-S (S-box)
          • Merupakan matriks yang berisi substitusi sederhana yang memetakan satu atau lebih bit dengan satu atau lebih bit yang lain.
          • Kotak-S memetakan m bit masukan menjadi n bit keluaran, sehingga kotak-S tersebut dinamakan kotak m x n S-box.
          • Operasinya menggunakan look-up table. Masukkan 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 x 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:
          Maka hasilnya DES mempunyai 8 buah kotak-S.

          • Pada AES kotak S hanya ada satu buah, yaitu:


          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.



          Wassalamualaikum Warahmatullahi Wabarakatuh 

          Sumber pengerjaan tugas: https://onlinelearning.uhamka.ac.id

          Comments

          Popular posts from this blog

          Tugas 2 : Pengantar Kriptografi oleh Najla Qurrata

          Tugas Trafik Untuk Nilai Tambahan UAS Oleh Najla Qurrata 4C

          Kriptografi Klasik Oleh Najla Qurrata