Bunu Neden İnşa Ettim?
"Standart şifreleme araçları genellikle dosya sistemi meta verilerini (isimler, uzantılar ve klasör hiyerarşisi) açıkta bırakır ve bu durum kritik bağlamsal bilgilerin sızmasına neden olabilir. Bu API'yi, mutlak inkar edilebilirlik (absolute deniability) sağlamak amacıyla geliştirdim. Sistem, hedef yolu yinelemeli olarak tarar, hem dosya içeriklerine hem de yapısal meta verilere kriptografik mutasyonlar uygulayarak orijinal bağlama dair hiçbir iz bırakmaz."
Mimari & Kararlar
ASP.NET Core üzerinde inşa edilen API; hedef yolları, hariç tutma listelerini ve ham Key/IV değerlerini JSON olarak kabul eden `/encrypt` ve `/decrypt` uç noktalarını sunar. Kriptografik motor, PKCS7 dolgusu (padding) ve Cipher Block Chaining (CBC) modu ile yapılandırılmış `Aes` sınıfını kullanır. Katı blok şifreleme kısıtlamalarını zorlamak için, ham Key ve IV değerleri `Array.Resize` aracılığıyla sırasıyla 32 byte (256-bit) ve 16 byte (128-bit) boyutlarına dinamik olarak sabitlenir. Dosya içerikleri `ReadAllBytes` ile tamamen belleğe alınır ve `MemoryStream` üzerindeki bir `CryptoStream` aracılığıyla dönüştürülür. Meta veri karartması; dizin ve dosya isimlerinin şifrelenip Base64 formatına çevrilmesi ve dosya sistemi uyumluluğu için özel karakterlerin (`/` ve `+`) temizlenmesiyle sağlanır.
Temel Özellikler
- 01.PKCS7 blok dolgusu kullanan AES-256 CBC mimarisi ile veri yükü (payload) şifrelemesi
- 02.Tam topolojik karartma: Tüm dosya ve dizin isimlerinin yinelemeli olarak şifrelenip dosya sistemine uygun (sanitized) Base64 dizilerine dönüştürülmesi
- 03.API çağrıları sırasında kriptografik çalışma zamanı (runtime) hatalarını önlemek için dinamik Key/IV boyutu zorlaması
- 04.Tarama sırasında kritik sistem dosyalarının kilitlenmesini önlemek için yapılandırılabilir hariç tutma (exclusion) dizileri