Pertemuan 11 : Prinsip Perancangan Block Cipher Oleh Oktaviani Ariyaningsih (2103015100)

Nama : Oktaviani Ariyaningsih
NIM : 2103015100
Kelas : 4C



PRINSIP PERANCANGAN BLOCK CIPHER

Block Cipher adalah algoritma yang beroperasi pada sekumpulan bit dengan panjang yang sama, yang disebut dengan block. Langkah awalnya adalah membagi plainteks menjadi blok-blok yang kemudian dienkripsi dengan kunci yang sama panjangnya dengan blok sehingga menghasilkan cipherteks yang sama panjang dengan teks aslinya.

Prinsip - Prinsip Perancangan Block Cipher

Terdapat beberapa prinsip dalam Block Cipher yaitu :

  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.

Cipher berulang dinyatakan sebagai Ci = f(Ci – 1 , Ki ) dimana :

  • 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 adalah salah satu struktur umum yang digunakan di dalam kriptografi modern. Sistem yang digunakan pada jaringan Feistel adalah dengan membagi plainteks menjadi dua buah bagian, yaitu kiri dan kanan. Masing-masing bagian diperlakukan secara berbeda. Bagian kiri yang baru dihasilkan langsung dari bagian kanan. Sementara bagian kanan dihasilkan dari operasi fungsi tertentu yang menggunakan kunci dan dioperasikan kembali dengan bagian kiri yang sebelumnya.

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 dan 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)

Misalkan :

  • Masukan adalah 110100
  • Nomor baris tabel = 10 (baris 2)
  • Nomor kolom tabel = 1010 (kolom 10)
Jadi, substitusi untuk 110100 adalah entry pada baris 2 dan kolom 10, yaitu 0100 (atau 4 desimal). DES mempunyai 8 buah kotak-S.

Pada AES kotak S hanya ada satu buah, yaitu :


10 SOAL ESSAY BESERTA JAWABAN

1. Jelaskan apa itu block cipher dan berikan contoh perancangan block cipher yang populer!

Jawaban: Block cipher adalah sebuah algoritma kriptografi yang mengenkripsi data dalam bentuk blok-blok tetap dengan ukuran yang ditentukan. Salah satu contoh perancangan block cipher yang populer adalah Advanced Encryption Standard (AES). AES menggunakan blok data dengan ukuran 128 bit dan kunci dengan panjang 128, 192, atau 256 bit.

2. Apa yang dimaksud dengan Feistel Cipher?

Jawaban: Feistel Cipher adalah salah satu metode perancangan block cipher yang menggunakan struktur berulang.

3. Jelaskan prinsip desain block cipher modern yang dikenal sebagai Substitution-Permutation Network (SPN)!

Jawaban: Prinsip desain block cipher modern menggunakan Substitution-Permutation Network (SPN) terdiri dari dua tahap utama. Tahap substitusi melibatkan penggantian setiap elemen data dengan elemen lain yang ditentukan oleh fungsi substitusi non-linear. Tahap permutasi melibatkan perubahan posisi elemen-elemen data dengan menggunakan fungsi permutasi. Tahap substitusi dan permutasi diulang beberapa ronde untuk menghasilkan enkripsi yang lebih kuat.

4. Apa yang dimaksud dengan diffusion dalam prinsip perancangan block cipher?

Jawaban: Dalam prinsip perancangan block cipher, diffusion mengacu pada pengaruh perubahan satu bit pada plaintext yang harus menyebar ke sebagian besar output ciphertext. Diffusion bertujuan untuk mengaburkan hubungan antara plaintext dan ciphertext.

5.  Apa yang dimaksud dengan diffusion dan confusion dalam prinsip perancangan block cipher?

Jawaban: Dalam prinsip perancangan block cipher, confusion mengacu pada kerumitan hubungan antara plaintext dan kunci enkripsi yang digunakan. Confusion bertujuan untuk membuat hubungan antara plaintext dan kunci menjadi tidak jelas atau sulit ditemukan.

6. Jelaskan apa itu cipher berulang (iterated cipher) dalam kriptografi dan berikan contoh terkenal dari jenis cipher ini!

Jawaban: Cipher berulang (iterated cipher) adalah jenis algoritma kriptografi yang menggunakan langkah-langkah repetitif yang sama secara berulang untuk mengenkripsi data. Algoritma ini mengulangi serangkaian operasi enkripsi yang sama pada blok-blok data yang berbeda sebanyak beberapa ronde. Salah satu contoh terkenal dari cipher berulang adalah Triple Data Encryption Standard (3DES). 3DES menggunakan algoritma DES secara berulang sebanyak tiga kali untuk mengenkripsi data.

7. Jelaskan prinsip desain cipher berulang yang dikenal sebagai mode operasi counter (CTR)!

Jawaban: Prinsip dasar dari mode operasi CTR adalah dengan menggunakan suatu fungsi enkripsi sebagai generator counter yang menghasilkan deretan angka acak yang unik dan berurutan. Angka-angka ini digunakan untuk mengenkripsi blok-blok data yang sesuai. Setiap blok data dienkripsi dengan XOR antara blok data tersebut dan angka yang dihasilkan oleh fungsi enkripsi. Mode operasi CTR dapat bekerja pada blok data yang berukuran variabel dan memungkinkan proses enkripsi yang paralel.

8. Jelaskan apa yang dimaksud dengan kotak-s (s-box) dalam perancangan block cipher!

Jawaban: Kotak-s (s-box) adalah sebuah komponen kunci dalam perancangan block cipher yang digunakan untuk melakukan substitusi non-linear pada blok-blok data. S-box menggantikan setiap blok data masukan dengan blok data keluaran yang berbeda, sehingga menciptakan konfusi dalam hubungan antara plaintext dan ciphertext.

9. Jelaskan pentingnya penggunaan Kotak-S (S-box) dalam perancangan Block Cipher!

Jawaban: Penggunaan kotak-s sangat penting dalam perancangan block cipher karena membantu meningkatkan kekuatan kriptografi melalui pengaburan hubungan statistik antara plaintext dan ciphertext.

10. Jelaskan prinsip dasar dari perancangan jaringan Feistel dalam cipher berulang!

Jawaban: Prinsip dasar dari perancangan jaringan Feistel dalam cipher berulang adalah membagi blok data menjadi dua bagian yang sama besar. Setengah bagian pertama diubah dengan menggunakan fungsi kunci yang bergantung pada setengah bagian kedua, dan hasilnya digabungkan dengan setengah bagian kedua. Proses ini diulang beberapa ronde dengan fungsi kunci yang berbeda pada setiap ronde. Jumlah ronde yang diulang dapat bervariasi tergantung pada desain cipher. Prinsip ini memungkinkan algoritma untuk mencapai pengaburan (confusion) dan penyebaran (diffusion) dalam proses enkripsi, yang meningkatkan keamanan dan kompleksitas kriptografi.


Sumber Tugas : https://onlinelearning.uhamka.ac.id/

Popular posts from this blog

Pertemuan 9 : One-Time Pad Oleh Oktaviani (2103015100)

Laporan Bukti Nilai Tambahan UAS Oleh Oktaviani (2103015100)

Tugas 3 : Kriptografi Klasik Oleh Oktaviani