Cryptology Academy · Ders

Uygulamalı AES ile Dosyaları Şifreleme

Gerçek dosyaları AES ile şifrelemek ve şifrelerini çözmek için OpenSSL ve Python kullanın

4. ders / 413 adım

Uygulamalı AES ile Dosyaları Şifreleme, CoddyKit'te ücretsiz bir Cryptology Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cryptology Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cryptology Academy kursu toplamda 4 dersten oluşur.

Hoş Geldiniz

Teori uygulamayla buluşuyor. Bu derste Python'da, kimlik doğrulamalı şifreleme için önerilen kip olan AES-GCM'yi kullanarak gerçek dosyaları şifreleyip şifrelerini çözeceğiz.

AES-GCM Neden Kullanılır?

AES-GCM, İlişkili Verilerle Kimlik Doğrulamalı Şifreleme (AEAD) sağlar. Verileri şifreler VE 16 baytlık bir kimlik doğrulama etiketi üretir. Her türlü kurcalama, şifre çözme işleminden önce algılanır.

AES-GCM Bileşenleri

Girdiler: 32 baytlık anahtar, 12 baytlık rastgele tek kullanımlık değer, düz metin ve isteğe bağlı ilişkili veri (AAD). Çıktılar: şifreli metin ve 16 baytlık kimlik doğrulama etiketi. Tek kullanımlık değer her şifreleme işleminde benzersiz olmalıdır.

cryptography Kütüphanesini Kurma

pip install cryptography PyCA tarafından geliştirilen Python cryptography kütüphanesi, önerilen kriptografi kütüphanesidir. OpenSSL'i sarmalar ve hem üst düzey tarifler hem de düşük seviyeli ilkel bileşenler sunar.

Python'da AES-GCM ile Şifreleme

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)

Python'da AES-GCM ile Şifre Çözme

try: plaintext = aesgcm.decrypt(nonce, ciphertext, aad) except Exception: print('Decryption failed — tampered or wrong key') Etiket doğrulaması başarısız olursa decrypt() bir istisna oluşturur. Bu istisnayı asla yok saymayın.

Dosya Şifreleme İş Akışı

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)

Dosya Şifre Çözme İş Akışı

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)

Tek Kullanımlık Değer Yönetimi

AES-GCM ile kullanılan 12 baytlık rastgele bir tek kullanımlık değer, çakışma olasılığı kayda değer hâle gelmeden önce aynı anahtarla 2^32 şifreleme işlemine kadar güvenlidir. Bundan sonra anahtarı değiştirin.

Komut Satırında OpenSSL Kullanımı

# 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 Not: CBC modu — daha yeni OpenSSL sürümlerinde kimlik doğrulamalı şifreleme için -GCM bayrağını ekleyin.

Anahtar Saklama İçin En İyi Uygulamalar

Anahtarları kaynak koduna asla sabit olarak yazmayın. Ortam değişkenlerini, AWS KMS'yi, HashiCorp Vault'u veya OS anahtarlığını kullanın. Anahtarları düzenli olarak değiştirin. Çalışanlar ayrıldığında anahtarları iptal edin.

Hızlı Kontrol

AES-GCM, şifreli metnin kurcalandığını algıladığında ne olur?

Özet

Artık Python'da AES-GCM ile dosyaları şifreleyebilirsiniz. Şimdi asimetrik şifrelemeye geçip RSA'yı temelden öğreneceğiz.
Başlamak ücretsiz

Yapay zeka eğitmeniyle Cryptology Academy öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
67
Dersler
261

Sıkça Sorulan Sorular

“Uygulamalı AES ile Dosyaları Şifreleme” dersi ücretsiz mi?

Evet — “Uygulamalı AES ile Dosyaları Şifreleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cryptology Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cryptology Academy kursu toplamda 4 dersten oluşur.

“Uygulamalı AES ile Dosyaları Şifreleme” dersinde ne öğreneceğim?

Gerçek dosyaları AES ile şifrelemek ve şifrelerini çözmek için OpenSSL ve Python kullanın Cryptology Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cryptology Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cryptology Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Uygulamalı AES ile Dosyaları Şifreleme” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cryptology Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cryptology Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Simetrik Şifreleme Kavramları
  2. AES Yapısı: Turlar ve Durum Matrisi
  3. AES Anahtar Genişletme ve Anahtar Boyutları
  4. Uygulamalı AES ile Dosyaları Şifreleme
← Cryptology Academy Sayfasına Dön