CFB1, CFB8, dan CFB128: ini ukuran umpan balik, bukan ukuran kunci
Angka setelah CFB adalah langkah umpan balik, bukan panjang kunci: CFB1, CFB8, dan CFB128 memakai blok 128 bit. Bacalah nama lama tanpa mengarang kunci lemah.
Nama seperti AES-256-CFB1 membawa dua angka, dan keduanya menjawab pertanyaan yang berbeda. 256 adalah panjang kunci AES. Dan 1 adalah umpan balik, atau ukuran segmen, pada CFB: sifat tentang bagaimana mode memajukan keadaannya. Jika 1 dibaca sebagai panjang kunci, nama itu tampak seperti kesalahan konfigurasi yang fatal, dan itulah sebabnya pertanyaan ini terus muncul.
Tentukan mana dari tiga besaran yang Anda lihat sebelum menilai nama: ukuran kunci, ukuran blok, atau ukuran segmen. Hanya yang pertama parameter keamanan dalam arti biasa.
Tiga angka, tiga besaran
AES menerima kunci 128, 192, atau 256 bit dan memiliki blok 128 bit apa pun pilihan Anda. Ukuran blok milik AES, bukan milik mode. Akhiran CFB adalah besaran ketiga: berapa banyak data yang dipakai dan dikembalikan mode per langkah. Dokumentasi OpenSSL tentang AES mencantumkan ukuran pergeseran itu secara eksplisit untuk varian CFB.
CFB1 mengembalikan satu bit setiap kali, CFB8 satu byte, CFB128 satu blok penuh. Ketiganya memakai sandi blok 128 bit yang sama di dalam; yang berubah adalah berapa bit dari setiap blok terhitung yang dipakai per operasi. Itulah sebabnya akhiran menggeser biaya dan perilaku penyangga, bukan kekuatan kunci.
| Name | Key | AES block | Feedback |
|---|---|---|---|
| AES-256-CFB1 | 256 bits | 128 bits | 1 bit |
| AES-256-CFB8 | 256 bits | 128 bits | 8 bits |
| AES-256-CFB128 | 256 bits | 128 bits | 128 bits |
Mengapa ukuran blok tidak pernah berubah
AES adalah sandi blok dengan blok tetap 128 bit, dan mode adalah konstruksi di sekitarnya. Tidak satu pun menyusutkan blok agar cocok dengan ukuran segmen. Implementasi CFB1 tetap menghitung blok AES penuh dan mengambil satu bit dari hasilnya. Bit lainnya dibuang untuk langkah itu, dan di situlah tepatnya biaya efisiensi berada.
Jadi umpan balik satu bit tidak berarti kunci satu bit, dan sebuah nama tidak dapat diperingkat berdasarkan akhirannya. CFB128 bukan empat kali lebih kuat daripada CFB32; ia memproses segmen yang lebih besar.
Apa yang sebenarnya diubah ukuran segmen
Ukuran segmen mengubah berapa banyak teks tersandi yang dikembalikan per langkah dan berapa banyak teks terang yang dapat dibawa setiap langkah. Ia juga mengubah perambatan galat dan perilaku penyangga, yang penting untuk penggunaan mirip aliran. Segmen berorientasi byte sejajar dengan penyangga, yang berorientasi bit tidak.
Dalam praktiknya protokol yang memilih mode, bukan operator. Kanal data VPN memakai konstruksi yang ditetapkan protokolnya, dengan perlindungan integritasnya sendiri, dan daftar pustaka hanya memberi tahu nama apa yang ada.
Membaca label CFB tanpa kualifikasi
Label CFB tanpa kualifikasi memerlukan konteks implementasinya. Dalam header OpenSSL 1.0.2, EVP_aes_128_cfb adalah makro untuk EVP_aes_128_cfb128, dengan alias yang sesuai untuk kunci 192 dan 256 bit. Itu konvensi penamaan API dari satu cabang, bukan klaim bahwa setiap pustaka, format berkas, atau GUI menguraikan singkatan itu dengan cara yang sama. Periksa header atau dokumentasi versi yang ada di depan Anda.
Jika profil lama menyebut CFB dan peer menerimanya, parameter yang dinegosiasikan dicatat di suatu tempat: log, dump konfigurasi, respons API. Bacalah itu alih-alih menyimpulkan ukuran segmen dari string tampilan.
Apa yang tidak diberitahukan nama mode
Nama itu menjelaskan perilaku enkripsi dan tidak lebih. VPN tetap memerlukan perlindungan integritas, penurunan kunci, dan autentikasi peer, dan CFB tidak menyediakan satu pun. Menukar CFB8 dengan CFB1 juga bukan perubahan kosmetik: perilaku di jaringan berbeda dan kedua pihak harus mendukung konstruksi yang sama. Nama di pustaka juga tidak membuktikan bahwa gateway yang dipasang menerimanya untuk kanal datanya.
Untuk apa pun yang dipelihara, gunakan susunan perlindungan lengkap protokol dan kebijakan operator, lalu catat versi pustaka dan gateway, opsi persisnya, serta hasil yang dinegosiasikan. Nama lama menjelaskan apa yang Anda baca; itu tidak membenarkan menghidupkan kembali konfigurasi.