Cryptology Academy · Pelajaran

Mode CTR & Perilaku Sandi Aliran

Gunakan mode pencacah untuk mengubah sandi blok menjadi pembangkit aliran kunci.

Pelajaran 3 dari 413 langkah

Mode CTR & Perilaku Sandi Aliran adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 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

Mode Counter (CTR) mengubah penyandi blok apa pun menjadi penyandi aliran. Mode ini dapat diproses secara paralel, tidak memerlukan padding, dan menjadi dasar AES-GCM. Mari kita menguasainya.

Konsep Mode CTR

Buat aliran kunci dengan mengenkripsi nilai penghitung secara berurutan: Keystream[i] = AES(K, Nonce || Counter_i) Ciphertext = Plaintext XOR Keystream Penghitung bertambah untuk setiap blok. Dekripsi identik dengan enkripsi.

CTR vs CBC

CBC: enkripsi berurutan (setiap blok bergantung pada blok sebelumnya). CTR: dapat diparalelkan sepenuhnya (setiap blok berdiri sendiri). Untuk berkas berukuran 1 GB, CTR dapat menggunakan semua inti CPU; CBC tidak dapat.

Tidak Memerlukan Padding

CTR menghasilkan aliran kunci dengan panjang berapa pun. Lakukan XOR dengan teks asli per bita. Pesan berukuran 100 bita menggunakan 100 bita aliran kunci—tidak memerlukan padding. Sangat sesuai untuk data yang dialirkan.

Struktur Nonce/Penghitung

Pembagian umum untuk blok AES 128 bit: - nonce acak 64 bit (unik untuk setiap pesan) - penghitung 64 bit (bertambah untuk setiap blok) Atau nonce 96 bit + penghitung 32 bit (standar GCM). Keunikan nonce sangat penting—jangan pernah menggunakan kembali pasangan (nonce, kunci).

Serangan Penggunaan Kembali Nonce CTR

CTR dengan (kunci, nonce) yang sama menghasilkan aliran kunci yang sama. Mengenkripsi dua pesan yang berbeda: C1 XOR C2 = P1 XOR P2. Sama seperti serangan pad yang digunakan berkali-kali. Kebocoran informasi yang sangat parah.

Akses Acak CTR

CTR memungkinkan akses acak: untuk mendekripsi blok 1000, hitung AES(K, Nonce || 1000) secara langsung. Anda tidak perlu mendekripsi blok sebelumnya. Ideal untuk basis data dan enkripsi disk (jika digabungkan dengan mode lain).

CTR dalam Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os nonce = os.urandom(16) # Used as counter start cipher = Cipher(algorithms.AES(key), modes.CTR(nonce)) enc = cipher.encryptor() ciphertext = enc.update(plaintext) + enc.finalize()

CTR dan Propagasi Kesalahan

Dalam mode CTR, satu bit teks tersandi yang rusak membalik tepat satu bit teks asli. Kesalahan tidak menyebar ke blok lain (berbeda dengan CBC, yang menyebabkan kerusakan pada blok berikutnya ketika sebuah blok rusak). Baik untuk saluran yang bising.

Mode SIV untuk Ketahanan terhadap Penyalahgunaan Nonce

AES-SIV (IV Sintetis) tahan terhadap penyalahgunaan nonce: meskipun nonce digunakan kembali, yang terungkap hanya kesamaan teks asli—bukan teks asli secara lengkap. Digunakan dalam situasi ketika keunikan nonce sulit dijamin.

Dari CTR ke GCM

AES-GCM = autentikasi AES-CTR + GHASH. Mode penghitung menangani enkripsi. GHASH menghitung tag autentikasi menggunakan perkalian pada medan Galois. Keduanya menghasilkan enkripsi terautentikasi.

Pemeriksaan Singkat

Apa keunggulan utama mode CTR dibandingkan mode CBC untuk enkripsi data dalam jumlah besar?

Ringkasan

Anda telah menguasai mode CTR! Selanjutnya, kita akan menggabungkannya dengan autentikasi dalam AES-GCM untuk mencapai Enkripsi Terautentikasi.
Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mode CTR & Perilaku Sandi Aliran” gratis?

Ya — teks lengkap “Mode CTR & Perilaku Sandi Aliran” 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 “Mode CTR & Perilaku Sandi Aliran”?

Gunakan mode pencacah untuk mengubah sandi blok menjadi pembangkit aliran kunci. 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 3 dari 4.

Berapa lama pelajaran “Mode CTR & Perilaku Sandi Aliran” 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