AES-256 Dijelaskan: Apa Artinya bagi Data Anda

AES-256 Dijelaskan: Apa Artinya bagi Data Anda

AES-256 dijelaskan: cara kerja cipher, mengapa kunci 256-bit penting, apa yang ditambahkan mode GCM, dan apa yang perlu diperiksa saat aplikasi mengklaim enkripsi AES-256.


AES-256 adalah Advanced Encryption Standard dengan kunci 256-bit, distandardisasi oleh NIST sebagai FIPS 197 pada tahun 2001. Ini adalah algoritma enkripsi simetris yang digunakan oleh pemerintah AS untuk informasi rahasia, oleh bank untuk transaksi keuangan, dan oleh aplikasi yang berfokus pada keamanan untuk melindungi data saat diam dan dalam perjalanan. AES-256 memiliki 2^256 kemungkinan kunci -- angka yang lebih besar dari perkiraan jumlah atom di alam semesta yang dapat diamati. Tidak ada serangan yang diketahui dapat mengurangi ruang kunci ini ke pencarian yang layak secara komputasi.

Panduan ini menjelaskan apa yang sebenarnya dilakukan AES-256, mengapa ukuran kunci penting, apa arti mode yang berbeda (ECB, CBC, GCM), dan apa yang perlu dicari saat aplikasi mengklaim menggunakan enkripsi AES-256.

Apa yang Sebenarnya Dilakukan AES

AES adalah cipher blok simetris. "Simetris" berarti kunci yang sama mengenkripsi dan mendekripsi. "Cipher blok" berarti ia memproses data dalam blok berukuran tetap sebesar 128 bit (16 byte).

Algoritma mengambil data Anda (plaintext), menggabungkannya dengan kunci, dan menghasilkan output yang tersamarkan (ciphertext) melalui serangkaian transformasi matematis. Transformasi ini -- substitusi, penggeseran, pencampuran, dan penambahan kunci -- berulang untuk sejumlah putaran tetap. AES-256 menggunakan 14 putaran.

Setiap putaran menerapkan empat operasi:

  1. SubBytes: Setiap byte diganti menggunakan tabel substitusi tetap (S-box), memperkenalkan non-linearitas.
  2. ShiftRows: Byte di setiap baris digeser dengan offset yang berbeda, menyebarkan data di seluruh posisi.
  3. MixColumns: Kolom dicampur melalui perkalian matriks dalam bidang terbatas, mendifusikan perubahan di seluruh byte.
  4. AddRoundKey: Kunci putaran (yang berasal dari kunci utama) di-XOR dengan data.

Setelah 14 putaran, plaintext telah tersamarkan secara menyeluruh. Membalik operasi ini dengan kunci yang benar memulihkan data asli. Tanpa kunci, ciphertext tidak dapat dibedakan dari derau acak.

Mengapa 256 Bit Penting

"256" dalam AES-256 mengacu pada panjang kunci: 256 bit. Ini menentukan jumlah kemungkinan kunci yang harus dicoba penyerang untuk memecahkan enkripsi dengan brute force.

Ukuran Kunci Kemungkinan Kunci Waktu Brute-Force (1 triliun tebakan/detik)
56-bit (DES) 7,2 x 10^16 ~20 jam
128-bit (AES-128) 3,4 x 10^38 10^13 tahun (10 triliun tahun)
256-bit (AES-256) 1,16 x 10^77 10^51 tahun

Sebagai konteks: alam semesta berusia sekitar 1,38 x 10^10 tahun. Melakukan brute-force pada AES-256 akan memakan waktu sekitar 10^41 kali lebih lama dari usia alam semesta, bahkan dengan satu triliun tebakan per detik.

AES-128 sudah tidak layak secara komputasi untuk di-brute-force. AES-256 memberikan margin tambahan terhadap kemajuan komputasi masa depan, termasuk komputasi kuantum. Algoritma Grover (serangan komputasi kuantum) secara efektif memotong setengah panjang kunci -- mengurangi AES-256 menjadi setara AES-128, yang masih tidak layak. AES-128 akan dikurangi menjadi keamanan efektif 64-bit, yang berpotensi rentan. Inilah mengapa aplikasi yang kritis terhadap keamanan lebih memilih AES-256.

Mode AES: Mengapa Itu Penting

AES sendiri hanya mengenkripsi satu blok 128-bit sekaligus. Untuk data nyata (foto, dokumen, video), Anda memerlukan "mode operasi" yang menangani data lebih besar dari 16 byte. Mode menentukan bagaimana blok dirangkai bersama dan memiliki implikasi keamanan yang signifikan.

ECB (Electronic Codebook) -- Jangan Digunakan

Setiap blok dienkripsi secara independen dengan kunci yang sama. Blok plaintext yang identik menghasilkan blok ciphertext yang identik. Ini membocorkan pola dalam data. Demonstrasi klasik: mengenkripsi gambar bitmap dengan ECB mempertahankan struktur gambar dalam ciphertext, membuat konten dapat dikenali. ECB termasuk dalam standar tetapi tidak boleh pernah digunakan untuk data yang memiliki struktur atau pola berulang (yang mencakup hampir semua data dunia nyata).

CBC (Cipher Block Chaining) -- Lama

Setiap blok di-XOR dengan blok ciphertext sebelumnya sebelum enkripsi. Ini menghilangkan kebocoran pola ECB. CBC adalah mode standar selama beberapa dekade tetapi telah digantikan oleh GCM untuk sebagian besar aplikasi. CBC memerlukan vektor inisialisasi acak (IV) dan tidak menyediakan autentikasi bawaan (Anda tidak dapat mendeteksi apakah ciphertext telah dirusak).

GCM (Galois/Counter Mode) -- Standar Saat Ini

GCM menggabungkan enkripsi mode counter dengan autentikasi bidang Galois. Ini menyediakan enkripsi terautentikasi: ia mengenkripsi data DAN menghasilkan tag autentikasi yang mendeteksi modifikasi apa pun pada ciphertext. Jika satu bit diubah, dekripsi gagal daripada menghasilkan plaintext yang rusak.

NIST menstandarisasi GCM dalam SP 800-38D (2007). Ini adalah mode yang direkomendasikan untuk implementasi baru.

AES-256-GCM adalah AES dengan kunci 256-bit dalam mode Galois/Counter. Ini yang harus digunakan oleh aplikasi yang kritis terhadap keamanan dan yang digunakan oleh Vaultaire untuk mengenkripsi konten foto dan file.

Mode Kebocoran Pola Autentikasi Rekomendasi Saat Ini
ECB Ya (parah) Tidak Jangan digunakan
CBC Tidak Tidak (memerlukan MAC terpisah) Lama; dapat diterima dengan HMAC
GCM Tidak Ya (bawaan) Direkomendasikan untuk implementasi baru

Apa Arti AES-256 untuk Penyimpanan Foto

Saat aplikasi vault foto mengklaim "enkripsi AES-256," tiga hal harus benar:

  1. Konten file dienkripsi dengan AES-256. Data foto mentah (piksel, metadata, thumbnail) diubah menjadi ciphertext menggunakan kunci 256-bit.

  2. Setiap file menggunakan vektor inisialisasi (IV) yang unik. Jika dua foto identik dienkripsi dengan kunci yang sama, ciphertext harus berbeda. Ini memerlukan IV unik per file. Tanpanya, analisis statistik dapat mengungkapkan pola.

  3. Mode menyediakan autentikasi (GCM atau setara). Tanpa autentikasi, penyerang dapat memodifikasi ciphertext tanpa terdeteksi. Hasil dekripsi akan menjadi data yang rusak daripada kesalahan.

Apa yang Tidak Diberitahukan oleh "AES-256" di Halaman Pemasaran

AES-256 diperlukan tetapi tidak cukup. Beberapa faktor kritis menentukan apakah enkripsi benar-benar melindungi data Anda:

Derivasi kunci penting. Bagaimana kunci 256-bit dihasilkan? Jika diturunkan dari PIN 4 digit menggunakan KDF yang lemah, keamanan efektif adalah 4 digit (10.000 kombinasi), bukan 256 bit. Implementasi yang kuat menggunakan PBKDF2 dengan jumlah iterasi tinggi atau Argon2 dengan parameter memori/waktu yang sesuai. Vaultaire menggunakan PBKDF2 dengan HMAC-SHA512, menurunkan kunci dari pola pada kisi 5x5 dengan miliaran kemungkinan input.

Penyimpanan kunci penting. Di mana kunci berada? Jika kunci disimpan dalam plaintext di sandbox aplikasi, malware apa pun dengan akses file dapat membacanya. Penyimpanan kunci yang tepat menggunakan mekanisme berbasis perangkat keras seperti Apple Secure Enclave, di mana kunci berada di koprosesor khusus dengan memori terenkripsinya sendiri.

Apa yang dienkripsi penting. Beberapa aplikasi mengenkripsi konten file tetapi membiarkan nama file, thumbnail, dan metadata tidak terenkripsi. Pemeriksa forensik mungkin tidak dapat melihat foto Anda, tetapi mereka dapat melihat "vacation-beach-2025.jpg" di daftar file. Enkripsi komprehensif mencakup metadata secara terpisah.

Siklus hidup kunci penting. Apakah kunci dihapus dari memori saat aplikasi ditutup? Jika kunci tetap ada di memori, dump memori dapat mengekstraknya. Vaultaire menghapus kunci dari memori setiap kali aplikasi ditutup dan memerlukan entri pola baru setiap kali diluncurkan.

AES-256 dalam Praktik: Siapa yang Menggunakannya

Entitas Kasus Penggunaan Mode
Pemerintah AS (NSA) Informasi rahasia GCM (atau CTR dengan autentikasi terpisah)
Apple (iCloud ADP) Enkripsi end-to-end iCloud GCM
Signal Enkripsi pesan CBC (dengan HMAC untuk autentikasi)
Bank Enkripsi transaksi keuangan GCM
1Password Vault kata sandi GCM
Vaultaire Vault foto dan file GCM
VeraCrypt Enkripsi disk XTS (dioptimalkan untuk blok disk)

Kesalahpahaman Umum

"Enkripsi tingkat militer" tidak berarti apa pun yang spesifik. Halaman pemasaran menggunakan frasa ini karena terdengar mengesankan. AES-256 digunakan oleh militer. Begitu juga AES-128. Frasa tersebut tidak memberi tahu Anda mode, derivasi kunci, penyimpanan kunci, atau data apa yang sebenarnya dienkripsi.

"Enkripsi 256-bit" mungkin tidak berarti AES-256. Cipher lain juga menggunakan kunci 256-bit (ChaCha20, Twofish, Serpent). Periksa algoritma mana yang ditentukan. AES-256-GCM adalah standar saat ini.

AES-256 tidak melindungi terhadap kata sandi yang lemah. Jika kata sandi Anda adalah "1234" dan derivasi kunci lemah, enkripsi secara efektif memiliki keamanan 4 digit terlepas dari kekuatan cipher. Rantai putus di titik terlemah.

AES-256 tidak melindungi data yang sedang digunakan. Saat Anda melihat foto, foto tersebut harus didekripsi di memori. Pada saat itu, foto ada dalam plaintext di RAM. Implementasi yang tepat meminimalkan jendela ini dan menghapus data yang didekripsi dengan segera.

Pertanyaan yang Sering Diajukan

Bisakah AES-256 dipecahkan?

Tidak ada serangan yang diketahui dapat memecahkan AES-256 dengan mengurangi seluruh ruang kunci. Serangan terbaik yang diketahui (serangan biclique oleh Bogdanov, Khovratovich, dan Rechberger, 2011) mengurangi AES-256 dari 2^256 operasi menjadi 2^254,4 -- peningkatan teoritis yang secara komputasi tidak berarti dalam praktik. AES-256 tetap tidak terpecahkan.

Apakah AES-256 tahan kuantum?

Pada dasarnya, ya. Algoritma kuantum Grover mengurangi panjang kunci efektif setengahnya: AES-256 menjadi setara dengan keamanan 128-bit terhadap serangan kuantum. AES-128 akan dikurangi menjadi keamanan efektif 64-bit, yang berpotensi rentan. NIST merekomendasikan AES-256 untuk keamanan jangka panjang terhadap kemajuan komputasi kuantum.

Apa perbedaan antara AES-128 dan AES-256?

AES-128 menggunakan kunci 128-bit (10 putaran). AES-256 menggunakan kunci 256-bit (14 putaran). Keduanya dianggap aman terhadap serangan saat ini. AES-256 memberikan margin yang lebih besar terhadap kemajuan masa depan, khususnya komputasi kuantum. AES-256 sekitar 40% lebih lambat dari AES-128 karena putaran tambahan, tetapi akselerasi perangkat keras membuat ini dapat diabaikan di perangkat modern.

Apakah enkripsi AES-256 memperlambat ponsel saya?

Tidak terasa. iPhone modern menyertakan akselerasi perangkat keras AES khusus di Secure Enclave dan prosesor. Mengenkripsi atau mendekripsi foto membutuhkan milidetik. AES dirancang khusus untuk efisiensi implementasi perangkat keras.

Bagaimana saya tahu apakah aplikasi benar-benar menggunakan AES-256?

Periksa dokumentasi keamanan aplikasi, bukan hanya halaman pemasarannya. Cari: algoritma dan mode spesifik (AES-256-GCM, bukan hanya "AES" atau "256-bit"), metode derivasi kunci (PBKDF2, Argon2), mekanisme penyimpanan kunci (Secure Enclave, berbasis perangkat keras), dan apakah metadata juga dienkripsi. Aplikasi open-source memungkinkan verifikasi independen.

Kesimpulan

AES-256 adalah standar emas untuk enkripsi simetris, distandardisasi oleh NIST, digunakan oleh pemerintah dan lembaga keuangan, dan tahan terhadap semua serangan yang diketahui termasuk komputasi kuantum. Saat mengevaluasi aplikasi yang mengklaim enkripsi AES-256, lihat di luar cipher: periksa mode (GCM), derivasi kunci (PBKDF2/Argon2 dengan jumlah iterasi tinggi), penyimpanan kunci (berbasis perangkat keras), dan data apa yang sebenarnya dienkripsi (konten + metadata).

Vaultaire menggunakan AES-256-GCM untuk enkripsi file, PBKDF2 dengan HMAC-SHA512 untuk derivasi kunci, ChaCha20 untuk enkripsi metadata, dan Apple Secure Enclave untuk manajemen kunci. Enkripsinya bukan bahasa pemasaran. Ini adalah matematika.