0Pricing
Cryptology Academy · Pelajaran

Mengenkripsi File dengan AES dalam Praktik

Gunakan OpenSSL dan Python untuk mengenkripsi dan mendekripsi file nyata dengan AES.

Mengenkripsi File dengan AES dalam Praktik adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 4 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

Teori bertemu praktik. Dalam pelajaran ini, kita mengenkripsi dan mendekripsi berkas nyata menggunakan AES-GCM dalam Python, mode yang direkomendasikan untuk enkripsi terautentikasi.

Mengapa AES-GCM?

AES-GCM menyediakan Enkripsi Terautentikasi dengan Data Terkait (AEAD). AES-GCM mengenkripsi AND menghasilkan penanda autentikasi 16 byte. Setiap perubahan terdeteksi sebelum dekripsi.

Komponen AES-GCM

Masukan: kunci 32 byte, nilai sekali pakai acak 12 byte, teks biasa, data terkait opsional (AAD). Keluaran: teks sandi, penanda autentikasi 16 byte. Nilai sekali pakai harus unik untuk setiap enkripsi.

Memasang Pustaka cryptography

pip install cryptography Pustaka cryptography untuk Python dari PyCA adalah pustaka kriptografi yang direkomendasikan. Pustaka ini membungkus OpenSSL dan menyediakan resep tingkat tinggi serta primitif tingkat rendah yang berisiko.

Enkripsi AES-GCM dalam Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(bit_length=256) nonce = os.urandom(12) aad = b'file_version_1' aesgcm = AESGCM(key) ciphertext = aesgcm.encrypt(nonce, plaintext, aad)

Dekripsi AES-GCM dalam Python

try: plaintext = aesgcm.decrypt(nonce, ciphertext, aad) except Exception: print('Decryption failed — tampered or wrong key') Jika verifikasi penanda gagal, decrypt() memunculkan pengecualian. Jangan pernah mengabaikan pengecualian ini.

Alur Kerja Enkripsi Berkas

with open('input.bin', 'rb') as f: plaintext = f.read() ciphertext_with_tag = aesgcm.encrypt(nonce, plaintext, None) # Store: nonce (12 bytes) + ciphertext_with_tag with open('output.enc', 'wb') as f: f.write(nonce + ciphertext_with_tag)

Alur Kerja Dekripsi Berkas

with open('output.enc', 'rb') as f: data = f.read() nonce = data[:12] ciphertext_with_tag = data[12:] plaintext = aesgcm.decrypt(nonce, ciphertext_with_tag, None)

Pengelolaan Nilai Sekali Pakai

Nilai sekali pakai acak 12 byte dengan AES-GCM aman hingga 2^32 enkripsi menggunakan kunci yang sama, sebelum probabilitas terjadinya benturan menjadi signifikan. Setelah itu, ganti kunci.

Menggunakan OpenSSL di Baris Perintah

# Encrypt: openssl enc -aes-256-cbc -pbkdf2 -in plain.txt -out encrypted.bin # Decrypt: openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out plain.txt Catatan: mode CBC — tambahkan tanda -GCM untuk enkripsi terautentikasi pada OpenSSL versi lebih baru.

Praktik Terbaik Penyimpanan Kunci

Jangan pernah menulis kunci secara langsung di kode sumber. Gunakan variabel lingkungan, AWS KMS, HashiCorp Vault, atau rantai kunci OS. Ganti kunci secara berkala. Cabut kunci ketika personel meninggalkan organisasi.

Pemeriksaan Singkat

Apa yang terjadi ketika AES-GCM mendeteksi bahwa teks sandi telah diubah?

Rekapitulasi

Kini Anda dapat mengenkripsi berkas dengan AES-GCM dalam Python. Selanjutnya, kita beralih ke enkripsi asimetris dan mempelajari RSA dari dasar.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengenkripsi File dengan AES dalam Praktik” gratis?

Ya — teks lengkap “Mengenkripsi File dengan AES dalam Praktik” 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 “Mengenkripsi File dengan AES dalam Praktik”?

Gunakan OpenSSL dan Python untuk mengenkripsi dan mendekripsi file nyata dengan AES. 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 4 dari 4.

Berapa lama pelajaran “Mengenkripsi File dengan AES dalam Praktik” 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. Konsep Enkripsi Simetris
  2. Struktur AES: Putaran dan Matriks Status
  3. Ekspansi Kunci AES dan Ukuran Kunci
  4. Mengenkripsi File dengan AES dalam Praktik
← Kembali ke Cryptology Academy