# En iyi asimetrik şifreleme doldurması
Kriptografide En İyi Asimetrik Şifreleme Doldurması (OAEP), bir doldurma (padding) şemasıdır ve sık sık RSA şifreleme ile birlikte kullanılır. OAEP, Bellare ve Rogaway tarafından tanıtılmıştır, ve daha sonra standart olarak PKCS#1 v2 ve RFC 2437'de yer verildi.
OAEP algoritması, asimetrik şifrelemeden önce açık metni işlemek için bir çift rastsal kahinler, G ve H, kullanan bir Feistel Ağı biçimidir. Herhangi bir güvenli açık kapı tek yönlü permütasyon f ile kombine edildiğinde, bu işlem rastsal kahin modelinde ispatlanmış bir şema ile sonuçlanmış açık metin saldırısı (IND-CPA) altında semantik olarak güvenli bir şekilde sonuçlanır. Belirli açık kapı permütasyonları (ör., RSA) ile uygulandığında, OAEP'in ayrıca seçilmiş şifreli açık metin saldırısına karşı güvenli olduğu kanıtlanmıştır. OAEP, bir ya hep ya hiç dönüşümü oluşturmak için kullanılabilir.
OAEP, aşağıdaki iki hedefi karşılar:
  - Deterministik bir şifreleme şemasını (örn., Geleneksel RSA) olasılıksal bir şemaya dönüştürmek için kullanılabilecek bir rastgelelik elemanı ekler.
  - Tuzak kapısı, tek yönlü permütasyon f'yi tersine çevirmeden bir rakipin herhangi bir parçasını kurtaramayacağından emin olarak şifreleme (veya diğer bilgi sızıntısı) kısmi şifre çözme önler.
OAEP'in orijinal versiyonu (Bellare / Rogaway, 1994), OAEP'in herhangi bir açık kapı permütasyonu ile kullanıldığında, rastsal kahin modelinde bir “açık metin farkındalığı” (seçtikleri şifreli metin saldırısına karşı güvenlik sağladığını iddia ettikleri) biçimini gösterdi. Sonraki sonuçlar, bu iddiayla çelişti ve OAEP'in sadece IND-CCA1 güvenli olduğunu gösterdi. Fakat, RSA-OAEP durumunda olduğu gibi, standart şifreleme üsleri kullanılarak RSA permütasyonu ile OAEP kullanıldığında, orijinal şemanın, IND-CCA2 güvenli olmadığı rastsal kahin modelinde kanıtlanmıştır. Bu sorunu çözmek için Victor Shoup tarafından herhangi bir açık kapı tek yönlü permütasyon ile çalışan geliştirilmiş bir şema (OAEP +) önerilmiştir. Daha yeni çalışmalar, standart modelde (yani, özet fonksiyonu rastgele kahin olarak modellenmediğinde) RSA-OAEP'in IND-CCA2 güvenliğini RSA probleminin varsayılan sertliği altında kanıtlamak mümkün olmadığını göstermiştir.


## OAEP(En iyi asimetrik şifreleme doldurması)'nin Şeması.
Diyagramda,
  - n RSA modülündeki bit sayısıdır.
  - "k"0 ve "k"1 protokol tarafından sabitlenmiş tam sayılardır.
  - m düz metin mesajı, bir ("n" − "k"0 − "k"1)-bit dizesidir.
  - G ve H, genellikle protokol tarafından belirlenen bazı şifreleme özet fonksiyonu işlevleridir.
  - ⊕, bir XOR işlemidir.
Şifrelemek için,
  - Mesajlar n − k0 uzunluğunda olması için, "k"1 tane 0 ile doldurulur.
  - r rastgele oluşturulmuş bir k0-bit dizesidir.
  - G r'nin k0 bitlerini n - k0 bitlerine genişletir.
  - "X" = "m"00..0 ⊕ "G"("r")
  - "H," X'in "n" − "k"0 tane bitini "k"0 bite indirger.
  - "Y" = "r" ⊕ "H"("X")
  - Çıktı "X" || "Y" , burada X, en soldaki blok ve Y en sağdaki blok olarak diyagramda gösterilir.
Şifreyi çözmek için,
  - "r" = "Y" ⊕ "H"("X")
  - "m"00..0 = "X" ⊕ "G"("r")
"Ya hep ya hiç” güvenliği, m'yi kurtarmak için tüm X'i ve tüm Y'yi kurtarmanız gerektiği gerçeğidir; X, Y'den r'ı kurtarmak için gereklidir ve r, X'den m'yi kurtarmak için gereklidir. Bir kriptografik özet fonksiyonun herhangi bir değiştirilmiş bitinin sonucu tamamen değiştirdiğinden, X'in tamamı ve Y'nin tamamı, tamamen kurtarılmalıdır.