# Kimliği doğrulanmış şifreleme
Kimliği Doğrulanmış şifreleme (AE) ve İlgili Verilerle Kimliği Doğrulanmış Şifreleme (AEAD), aynı anda verilerin gizliliğini ve gerçekliğini garanti eden şifreleme biçimleridir


## Güvenlik Garantileri.
Kimliği doğrulanmış şifreleme, mesaj bütünlüğünü ve gizliliğini korumaya ek olarak, Seçilmiş şifreli metin saldırısına(Choosen Cipher-text) karşı güvenlik sağlayabilir . Bu saldırılarda, bir düşman, dikkatle seçilmiş şifreli metinleri bir "şifre çözme kahini" ne göndererek ve şifresi çözülen sonuçları analiz ederek bir şifreleme sistemine (örneğin, gizli şifre çözme anahtarı hakkında bilgi) karşı bir avantaj elde etmeye çalışır. Kimliği doğrulanmış şifreleme şemaları, yanlış oluşturulmuş şifreli metinleri tanıyabilir ve bunların şifresini çözmeyi reddedebilir. Bu da, şifreleme algoritması kullanılarak doğru bir şekilde oluşturulmadıkça, saldırganın herhangi bir şifreli metnin şifresinin çözülmesini talep etmesini önler, böylece düz metnin zaten bilindiği anlamına gelir. Doğru uygulandığında, kimliği doğrulanmış şifreleme, saldırganın halihazırda sahip olmadığı yararlı bilgileri elde etmesini engelleyerek, şifre çözme kahininin kullanışlılığını ortadan kaldırır.
Simetrik Blok Şifrelemeleriyle(Block Ciphers). kullanım için birçok özel kimlik doğrulamalı şifreleme modu geliştirilmiştir . Ancak, kimliği doğrulanmış şifreleme, aşağıdakilerin sağlanması koşuluyla, bir şifreleme şeması ve bir Mesaj Doğrulama Kodu (MAC) birleştirilerek genel olarak oluşturulabilir:
  - Şifreleme şeması Seçilen Düz Metin(Plain-text) saldırısı altında Anlamsal olarak güvenlidir.(Anlamsal Güvenlik)
  - MAC işlevi, seçilen bir mesaj saldırısı altında değiştirilemez.


## Programlama Arayüzü.
Bir AE uygulaması için tipik bir programlama arayüzü aşağıdaki işlevleri sağlar:
  - Şifreleme (Encryption)
   - Girdi: "düz metin(Plain-text), anahtar(key)" ve isteğe bağlı olarak şifrelenmeyecek, ancak özgünlük koruması kapsamında olacak düz metinde bir başlık.
   - Çıktı: "şifreli metin(Cipher-text)" ve doğrulama etiketi (Mesaj Doğrulama Kodu).
  - Şifre çözme (Decryption)
   - Girdi: "şifreli metin(Cipher-text)", anahtar, "doğrulama etiketi" ve isteğe bağlı olarak bir "başlık" (şifreleme sırasında kullanılıyorsa).
   - Çıktı: "düz metin(Plain-text)" veya bir hata ("kimlik doğrulama etiketi" sağlanan "şifreli metin" veya "başlıkla" eşleşmiyorsa).
Başlık bölümünün amacı, gizliliğin gereksiz olduğu ancak özgünlüğün istendiği ağ iletişimi veya depolama meta verileri için özgünlük ve bütünlük koruması sağlamaktır.


## Tarihçe.
Kimliği doğrulanmış şifreleme ihtiyacı, ayrı "gizlilik" ve "kimlik doğrulama" blok şifreleme işlem modları güvenli bir şekilde birleştirmenin hataya açık ve zor olabileceği gözleminden ortaya çıktı. Bu, yanlış uygulama veya kimlik doğrulama eksikliği (SSL / TLS dahil) nedeniyle üretim protokollerine ve uygulamalara yapılan bir dizi pratik saldırıyla doğrulandı.
2000 yılı civarında, doğru uygulamayı sağlayan standartlaştırma modları kavramı etrafında bir dizi çaba gelişti. Özellikle, Charanjit Jutla'nın bütünlük farkında CBC ve bütünlüğe duyarlı paralelliştirilebilir, IAPM, modları 'ün 2000 yılında yayınlanmasıyla, olası güvenli modlara olan güçlü ilgi ateşlendi (bakınız OCB ve kronoloji). Altı farklı kimlik doğrulamalı şifreleme modu (yani offset codebook mode 2.0, OCB#YÖNLENDİRME: 2.0; Key Wrap; counter with CBC-MAC, CCM; şifrele, sonra doğrula, sonra çevir, EAX; Encrypt-then-MAC, EtM; ve Galois/counter mode, GCM) SO/IEC 19772:2009'da standartlaştırılmıştır. NIST talebine yanıt olarak daha fazla kimliği doğrulanmış şifreleme yöntemi geliştirildi. Sünger fonksiyonları(Sponge Functions), kimliği doğrulanmış şifreleme sağlamak için çift yönlü modda kullanılabilir.
Bellare ve Namprempre (2000), üç şifreleme bileşimini ve MAC ilkellerini analiz ettiler ve bir mesajı şifrelemenin ve ardından şifreli metne bir MAC uygulamanın (Encrypt-then-MAC yaklaşımı) uyarlanabilir seçilmiş şifreli metin saldırısına karşı güvenlik anlamına geldiğini gösterdi. fonksiyonlar minimum gerekli özellikleri karşılar. Katz ve Yung, bu kavramı "sürdürülemez şifreleme" adı altında araştırdılar ve bunun seçilmiş şifreli metin saldırılarına karşı güvenlik anlamına geldiğini kanıtladılar.
2013 yılında, kimliği doğrulanmış şifreleme modlarının tasarımını teşvik etmek için CAESAR yarışması duyuruldu.
2015 yılında, IETF protokollerinde GCM'ye alternatif bir AE yapısı olarak ChaCha20-Poly1305 eklendi.


## İlişkili verilerle kimliği doğrulanmış şifreleme (AEAD).
AEAD, bir alıcının bir mesajdaki hem şifrelenmiş hem de şifrelenmemiş bilgilerin bütünlüğünü kontrol etmesine izin veren bir AE çeşididir. AEAD, ilişkili verileri (AD) şifreli metne ve görünmesi gereken bağlama bağlar, böylece geçerli bir şifreli metni farklı bir bağlama "kes ve yapıştır" girişimleri algılanır ve reddedilir.
Örneğin, başlığın görünürlüğe, yükün gizliliğe(Confidentiality), her ikisinin de bütünlük(Data integrity) ve özgünlüğe(Authentication) ihtiyaç duyduğu ağ paketleri veya çerçeveleri için gereklidir.


## Kimliği doğrulanmış şifrelemeye yaklaşımlar.
### Encrypt-then-MAC (EtM) #YÖNLENDİRME.
Düz metin önce şifrelenir, ardından elde edilen şifreli metne dayalı olarak bir MAC üretilir. Şifreli metin ve MAC'i birlikte gönderilir. Örneğin, IPsec'te kullanılır. ISO/IEC 19772:2009'a göre standart yöntem. Bu, AE'de en yüksek güvenlik tanımına ulaşabilen tek yöntemdir, ancak bu ancak kullanılan MAC "kesinlikle yenilmez" olduğunda elde edilebilir. Kasım 2014'te EtM için TLS ve DTLS uzantısı olarak yayınlandı . SSHv2 için de çeşitli EtM şifre takımları mevcuttur.
Anahtar ayrımının zorunlu olduğunu unutmayın (şifreleme ve anahtarlı karma için farklı anahtarlar kullanılmalıdır), aksi takdirde kullanılan belirli şifreleme yöntemine ve karma işlevine bağlı olarak potansiyel olarak güvensizdir.#YÖNLENDİRME 


### Encrypt-and-MAC (E&M) #YÖNLENDİRME.
Düz metne dayalı olarak bir MAC üretilir ve düz metin MAC olmadan şifrelenir. Düz metnin MAC'i ve şifreli metin birlikte gönderilir. Örneğin,SSH'de kullanılır. E&M yaklaşımının kendi içinde kesinlikle yenilmez olduğu kanıtlanmamış olsa da, yaklaşıma rağmen SSH'yi kesinlikle yenilmez kılmak için bazı küçük değişiklikler uygulamak mümkündür.


### MAC-then-Encrypt (MtE) #YÖNLENDİRME.
Düz metne dayalı olarak bir MAC üretilir, ardından düz metin ve MAC, her ikisine dayalı bir şifreli metin üretmek için birlikte şifrelenir. Şifreli metin (şifreli bir MAC içeren) gönderilir. Örneğin, SSL/TLS'de kullanılır. MTE yaklaşımı, kendi içinde güçlü olduğu kanıtlanamamış olmasına rağmen SSL/TLS uygulamasının, SSL/TLS'nin aslında MtE mekanizmasıyla birlikte kullanılan kodlama nedeniyle güvenli olduğu Krawczyk tarafından yani "kesinlikle yenilmez" olduğu kanıtlanmıştır. Teorik güvenliğe rağmen, SSL/TLS'nin daha derin analizi, korumayı MAC-then-pad-then-encrypt olarak modelledi, yani düz metin ilk önce şifreleme fonksiyonunun blok boyutuna doldurulur. Doldurma hataları genellikle alıcı tarafında algılanabilir hatalara neden olur ve bu da Lucky Thirteen gibi padding oracle saldırılarına olanak tanır.