Lightweight AES-128
16 bayt blok ve 128 bit anahtar üzerinde öbekten bellek ayırma olmadan çalışan, AES turu dönüşümlerini ve anahtar genişletme düzenini açık biçimde gösteren kompakt C gerçekleştirim.
AES'in kendisiyle “güvenli şifreleme sistemi” kavramını ayırmak bu depoda özellikle koruduğum en önemli ayrım. Kod 16 bayt blok ve 128 bit anahtar üzerinde AES turu dönüşümlerini gerçekleştiriyor; 176 baytlık tur anahtarı alanını hazırlıyor ve öbekten bellek ayırma kullanmıyor. S-kutusu, ters S-kutusu ve GF(2^8) tabloları düşük seviyeli akışı doğrudan izlenebilir kılıyor.
Bu çekirdek CBC/CTR/GCM gibi çalışma modu, kimlik doğrulama, dolgulama, KDF, nonce/IV yönetimi veya anahtar saklama sağlamıyor. Arama tablosu erişimleri nedeniyle sabit zamanlı ya da yan kanal saldırılarına dayanıklı olduğu da varsayılmamalı. Dolayısıyla üretim güvenliğinde platformun denetlenmiş kriptografi sağlayıcılarının yerini almak için değil, kriptografik ilkelin yapısını incelemek ve kontrollü düşük seviyeli kullanım senaryolarını belgelemek için yayımlanmıştır.
Yayımlama incelemesinde tiny-AES-c ile olan köken bağı da NOTICE ve lisans materyaliyle açık tutulmuştur. Böylece ana kaynak köken ile depoya özgü düzenlemeler birbirine karıştırılmaz.
İlgili yazı: C ile Hafif AES-128 Gerçekleştirimi GitHub: GitHub Zenodo: Zenodo DOI: DOI