Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Block Cipher dan Stream Cipher

Block Cipher dan Stream Cipher adalah metode yang digunakan untuk mengubah teks biasa menjadi teks sandi secara langsung dan milik keluarga sandi kunci simetris.

Perbedaan utama antara blok cipher dan stream cipher adalah bahwa cipher blok mengenkripsi dan mendekripsi blok teks pada suatu waktu. Di sisi lain, stream cipher mengenkripsi dan mendekripsi teks dengan mengambil satu byte teks sekaligus.

Grafik perbandingan

Dasar untuk perbandinganBlok cipherStream cipher
Dasar
Konversi teks biasa dengan mengambil bloknya sekaligus.
Konversi teks dengan mengambil satu byte teks biasa pada suatu waktu.
Kompleksitas
Desain sederhana
Kompleks secara komparatif
Tidak ada bit yang digunakan
64 Bit atau lebih
8 Bit
Kebingungan dan Difusi
Menggunakan kebingungan dan difusiBergantung pada kebingungan saja
Mode algoritma digunakan
ECB (Buku Kode Elektronik)
CBC (Cipher Block Chaining)
CFB (Umpan Balik Cipher)
OFB (Umpan Balik Keluaran)
Reversibilitas
Membalik teks terenkripsi sulit.
Ini menggunakan XOR untuk enkripsi yang dapat dengan mudah dibalik ke teks biasa.
Pelaksanaan
Feistel Cipher
Vernam Cipher

Definisi Blok Cipher

Block Cipher mengambil pesan dan memecahnya menjadi ukuran tetap blok dan mengkonversi satu blok pesan secara instan. Misalnya, kami memiliki pesan dalam teks biasa “STREET_BY_STREET” yang harus dienkripsi. Menggunakan bock cipher, "STREET" harus dienkripsi pada awalnya, diikuti oleh "_BY_" dan akhirnya "STREET".
Dalam praktik sebenarnya, komunikasi hanya terjadi dalam bit. Oleh karena itu, STREET sebenarnya berarti biner yang setara dengan karakter ASCII dari STREET. Selanjutnya, algoritma apa pun mengenkripsi ini; bit yang dihasilkan diubah kembali menjadi ASCII yang setara.

Masalah nyata tentang penggunaan cipher Blok adalah pengulangan teks, yang menghasilkan cipher yang sama. Oleh karena itu, ini akan memberikan petunjuk kepada cryptanalyst yang membuatnya lebih mudah untuk mengetahui string teks biasa yang berulang. Hasilnya, ia bisa mengungkapkan seluruh pesan.

Untuk mengatasi masalah ini mode chaining digunakan. Dalam teknik ini, blok sebelumnya dari teks sandi dicampur dengan blok saat ini, sehingga untuk teks sandi samar-samar, ini menghindari pola berulang blok dengan konten yang sama.

Definisi Stream Cipher

Stream Cipher biasanya mengenkripsi satu byte pesan pada saat itu daripada menggunakan blok. Mari kita ambil contoh, misalkan pesan asli (teks biasa) adalah "langit biru" dalam ASCII (yaitu format teks). Ketika Anda mengonversi ASCII ini menjadi nilai biner yang setara, itu akan memberikan output dalam bentuk 0 dan 1. Biarkan diterjemahkan dalam 010111001.

Untuk enkripsi dan dekripsi, generator bit pseudorandom digunakan di mana kunci dan teks biasa dimuat. Generator bit pseudorandom menciptakan aliran angka 8-bit yang tampaknya acak dikenal sebagai keystream . Biarkan kunci input adalah 100101011. Sekarang kunci dan plainteks adalah XOR. Logika XOR mudah dimengerti.
XOR menghasilkan output 1 ketika satu input adalah 0, dan yang lainnya adalah 1. Output adalah 0 jika salah satu input adalah 0 atau kedua input tersebut adalah 1.

Kebingungan adalah metode yang menjamin bahwa teks sandi tidak memberikan petunjuk tentang teks polos asli.
Difusi adalah strategi yang digunakan untuk meningkatkan redundansi teks biasa dengan menyebarkannya di seluruh baris dan kolom.

Perbedaan Kunci Antara Block Cipher dan Stream Cipher

  1. Teknik cipher blok melibatkan enkripsi satu blok teks pada suatu waktu, yaitu tunggal. Demikian pula, dekripsi teks dengan mengambil satu blok demi satu. Sebaliknya, teknik stream cipher melibatkan enkripsi dan dekripsi satu byte teks pada suatu waktu.
  2. Block cipher menggunakan kedua kebingungan dan difusi sementara stream cipher hanya bergantung pada kebingungan.
  3. Ukuran blok yang biasa bisa 64 atau 128 bit di Block cipher. Sebagai lawan, 1 byte (8 bit) pada suatu waktu dikonversi dalam stream cipher.
  4. Block cipher menggunakan mode algoritma ECB (Electronic Code Book) dan CBC (Cipher Block Chaining) . Sebaliknya, stream cipher menggunakan mode algoritma CFB (Cipher Feedback) dan OFB (Output Feedback) .
  5. Streaming cipher menggunakan fungsi XOR untuk mengubah teks biasa menjadi teks sandi, itulah alasan mengapa mudah untuk membalikkan bit XORed. Sedangkan Block cipher tidak menggunakan XOR untuk melakukannya.
  6. Block cipher menggunakan kunci yang sama untuk mengenkripsi setiap blok sementara stream cipher menggunakan kunci yang berbeda untuk setiap byte.

Kesimpulan:

Block Cipher dan Stream Cipher berbeda dengan cara teks biasa dienkripsi dan didekripsi. Gagasan di balik cipher blok adalah untuk membagi teks biasa menjadi blok lebih lanjut mengenkripsi blok tersebut. Sementara stream cipher mengkonversi teks biasa sedikit demi sedikit mirip dengan streaming.

Top