0Pricing
Cryptology Academy · Pelajaran

ECB vs CBC: Pola & IV

Peragakan serangan penguin ECB dan pahami mengapa CBC memerlukan IV acak.

ECB vs CBC: Pola & IV adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Selamat Datang

ECB dan CBC adalah dua mode penyandi blok. ECB terkenal tidak aman karena membocorkan pola. CBC dengan IV acak jauh lebih kuat. Mari kita pahami keduanya secara mendalam.

Mode ECB: Buku Kode Elektronik

ECB mengenkripsi setiap blok secara terpisah: Ci = AES(K, Pi). Blok teks biasa yang sama → selalu menghasilkan blok teks tersandi yang sama. Blok dalam satu pesan atau di antara beberapa pesan akan identik jika isinya sama.

Penguin ECB

“Penguin ECB” adalah demonstrasi klasik: enkripsi PNG Tux, penguin Linux, dengan AES-ECB. Hasilnya masih terlihat seperti penguin tersebut — area dengan warna yang sama dienkripsi menjadi pola yang sama.

Kerentanan ECB: Pemutaran Ulang Blok

Dalam mode ECB, penyerang dapat mengatur ulang blok teks tersandi tanpa mengetahui kunci: - Blok bersifat independen - Mengurutkan ulang blok → mengurutkan ulang teks biasa yang telah didekripsi - Menggandakan blok → menggandakan isi - Menghapus blok → menghapus isi

Mode CBC: Rantai Blok Penyandi

CBC melakukan XOR pada setiap blok teks biasa dengan teks tersandi sebelumnya sebelum mengenkripsinya: C0 = AES(K, P0 XOR IV) Ci = AES(K, Pi XOR C(i-1)) Teks biasa yang sama di posisi berbeda → menghasilkan teks tersandi yang berbeda.

Vektor Inisialisasi (IV)

IV adalah “C(-1)” untuk blok pertama. IV harus: - Acak dan unik untuk setiap pesan - Tidak rahasia (dikirim bersama teks tersandi) - Tidak pernah digunakan kembali dengan kunci yang sama IV yang dapat diprediksi merusak keamanan CBC.

Dekripsi CBC

Pi = AES_Dec(K, Ci) XOR C(i-1) P0 = AES_Dec(K, C0) XOR IV Catatan: mendekripsi blok i hanya memerlukan Ci dan C(i-1). Blok dapat didekripsi secara paralel (berbeda dengan enkripsi).

Serangan Pembalikan Bit CBC

Membalik bit i dalam blok Ci menyebabkan: (1) Pi menjadi kacau, (2) bit i dalam P(i+1) berubah secara dapat diprediksi. Tanpa autentikasi, penyerang dapat mengubah bit tertentu pada teks biasa setelah mengetahui lokasinya.

Serangan BEAST pada TLS 1.0 (2011)

BEAST mengeksploitasi penggunaan CBC dengan IV yang dapat diprediksi oleh TLS 1.0. Blok terakhir dari satu rekaman digunakan sebagai IV untuk rekaman berikutnya. Serangan ini didemonstrasikan oleh Rizzo dan Duong, sehingga peramban dipaksa untuk meningkatkan dukungan ke TLS 1.1+.

Mengapa CBC Memerlukan Autentikasi

Enkripsi CBC tanpa MAC memungkinkan serangan pembalikan bit dan serangan oracle padding. Selalu gabungkan CBC dengan HMAC (Encrypt-then-MAC) atau beralih ke AES-GCM (AEAD bawaan).

CBC Praktis dalam Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os iv = os.urandom(16) key = os.urandom(32) cipher = Cipher(algorithms.AES(key), modes.CBC(iv)) enc = cipher.encryptor() ciphertext = enc.update(padded_plaintext) + enc.finalize()

Pemeriksaan Singkat

Mengapa mode ECB membocorkan informasi tentang struktur teks biasa?

Rangkuman

ECB berbahaya, sedangkan CBC lebih baik tetapi memerlukan autentikasi. Selanjutnya kita mempelajari mode CTR — mengubah AES menjadi penyandi aliran.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “ECB vs CBC: Pola & IV” gratis?

Ya — teks lengkap “ECB vs CBC: Pola & IV” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “ECB vs CBC: Pola & IV”?

Peragakan serangan penguin ECB dan pahami mengapa CBC memerlukan IV acak. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “ECB vs CBC: Pola & IV” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Dasar-Dasar Sandi Blok & Padding
  2. ECB vs CBC: Pola & IV
  3. Mode CTR & Perilaku Sandi Aliran
  4. GCM & Enkripsi Terautentikasi
← Kembali ke Cryptology Academy