# Seçilmiş açık metin saldırısı
Seçilmiş açık metin saldırısı, saldırganın keyfi açık metinler için şifrelerin elde edilebileceğini varsayan kriptanaliz için bir saldırı modelidir. Saldırının amacı, şifreleme şemasının güvenliğini azaltan bilgiyi elde etmektir.


## Giriş.
Seçilmiş açık metin saldırısında, saldırgan, keyfi seçilmiş açık metin mesajlarının şifreli hallerini uyarlayabilir. Böylece, saldırganın kara kutu olarak görülen bir Kahinli Turing makinesi ile etkileşime girmesine imkân vermesine izin verilmiştir. Saldırganın amacı gizli şifreleme anahtarının tamamını veya bir kısmını ortaya çıkarmaktır.
Bir saldırganın verilen açık metinler için şifreli metinleri elde edebileceği durumlar nadirdir. Bununla birlikte, modern kriptografi, yazılım veya donanımda uygulanabilmekte ve çeşitli uygulamalar için kullanılmaktadır; birçok durumda, seçilmiş açık metin saldırısına da genelde çok uygundur. Seçilmiş açık metin saldırısı, şifreleme anahtarının herkese açık olduğu ve saldırganın seçtiği herhangi bir açık metni şifreleyebildiği açık anahtarlı şifreleme için son derece önemlidir.


## Farklı Formları.
Seçilmiş açık metin saldırısının iki farklı çeşidi vardır:
  - Toplu seçilmiş açık metin saldırısı, kriptanalistin herhangi bir açık metne karşılık gelen şifreli metni görmeden önce tüm açık metinleri seçtiği seri seçilmiş-açık metin saldırısıdır. Bu genellikle "seçilmiş-açık metin saldırısı" ‘nın nitelikli olmadığında amaçlanır.
  - Uyarlanabilir seçilmiş açık metin saldırısı, kriptanalistin bazı açık metinler için şifreli metinleri gördükten sonra ek açık metinlerin şifrelerini talep edebileceği uyarlanabilir seçilmiş-açık metin saldırısıdır. (CPA2).


## Saldırının Genel Metodu.
Genel seçilmiş açık metin saldırısı aşağıdaki gibi gerçekleştirilir:
  - Saldırgan n tane açık metin seçebilir. Açık metinlerin sayısı sınırlandırılmamış ve saldırgan tarafından kontrol edilebilmektedir.
  - Saldırgan bu n tane açık metni Kahinli Turing makinesine gönderir.
  - Kahinli Turing makinesi saldırganın açık metinlerini şifreleyip, saldırgana geri gönderir.
  - Saldırgan, Kahinli Turing makinesinden n tane şifreli metni geri alır, böylece saldırgan her bir açık metnine hangi şifrenin karşılık geldiğini bilir.
  - Açık metin-şifreli metin çiftlerine dayanarak, saldırgan, Kahinli Turing makinesi tarafından açık metinleri kodlamak kullanılan anahtarı çıkartmayı deneyebilir. Saldırganın bu tür saldırılarda açık metinleri kendi ihtiyaçlarını karşılayacak şekilde kullanması nedeniyle, saldırı karmaşıklığı azaltılabilir.
Yukarıdaki durumun aşağıdaki uzantısını dikkate alın. Son adımdan sonra,
  - Saldırganın iki açık metin çıktısı m0 ve m1.
  - Bir bit b rastgele tek tip olarak seçilmiştir. b <- {0,1}
  - Saldırgan, mb'nin şifreli halini alır ve aldığı açık metni "tahmin" etmeye çalışır ve çıktı biti olarak b' verir.
Yukarıda verilen deneyi n=1 ile çalıştırdıktan sonra, eğer saldırgan "b"="b"′ olacak şekilde doğru tahmin yapma olasılığı 1/2'den ihmal edilemeyecek bir miktarda fazla değilse, o şifre, seçilmiş bir açık metin saldırısı altında ayırt edilemez şifrelemelere sahiptir denebilir.


## Örnekler.
Aşağıdaki örneklerde diğer güvenlik tanımlarını karşılayan bazı şifrelerin seçilmiş bir açık metin saldırı ile nasıl kırılabileceğini göstermektedir.


### Sezar şifresi.
Sezar şifresine aşağıdaki saldırı yapıldığında, gizli anahtarın tamamen ele geçirilmesi sağlanır:
  - Saldırganın şu mesajı gönderdiğine varsayalım: Attack at dawn. 
  - ve Kahinli Turing makinesi Nggnpx ng qnja olarak geri döndürür. 
  - Daha sonra saldırgan, anahtarı elde etmek için bir sezar şifresini deşifre etmek ile aynı yolu izleyecek şekilde çalışabilir. Saldırgan, A → N, T → G ve benzeri değişiklikleri çıkartabilir. Bu da saldırganın sezar şifresinde kullanılan anahtarın 13 olduğunu belirlemesine sebep olacaktır.


### Tek kullanımlık şerit (one-time pad).
Tek kullanımlık şerit üzerinde aşağıdaki saldırı yapıldığında gizli anahtarın tamamen ele geçirilmesi sağlanır. Mesaj uzunluğunu ve anahtar uzunluğunun n'ye eşit olduğunu varsayalım.
  - Saldırgan Kahinli Turing makinesine sıfırlardan oluşan bir dizi gönderir. 
  - Kahinli Turing makinesi, bit-düzeyinde özel veya anahtarını sıfır dizisi için geri döndürür. 
  - Kahinli Turing makinesi tarafından döndürülen dizi, gizli anahtar olacaktır.


## Uygulamada.
II. Dünya Savaşı'nda ABD Donanmasındaki kriptanalistler, Japonya'nın "AF" olarak adlandırılan bir yere saldırmayı planladığını keşfettiler. "AF" nin Midway Adası olabileceğine inanıyorlardı, çünkü Hawaii adalarındaki diğer yerler "A" ile başlayan kodlara sahiptiler. "AF" nin "Midway Island" a denk geldiği yönündeki hipotezlerini kanıtlamak için, ABD güçlerinin Midway'deki düşük arzlar hakkında bir açık metin mesajı göndermelerini istediler. Japonlar bu mesajı yakaladılar ve hemen “AF” nin suya düştüğünü, donanmanın hipotezini teyit ettiklerini ve savaşı kazanmak için güçlerini konumlandırdıklarını belirttiler.
Ayrıca II. Dünya Savaşı sırasında, Bletchley Park'ındaki müttefik kod kırıcılarının, Kraliyet Hava Kuvvetleri'nden, Alman deniz sisteminin ızgara referansında herhangi bir kısaltma ya da alternatifi olmayan bir konumda mayın döşemelerini isteyecektirler. Almanların umudu müttefiklere, Alman donanması Enigma'sını kırmak için mesajlar hakkında yeterli bilgiyi vermekti bunu da, mayınlarla ilgili bir uyarı mesajını şifrelemek için bir Enigma makinesini kullanarak ve çözüldükten sonra da temiz bir mesaj bırakarak yapacaklardı. Bu bilinen bir açık metin ekimi işlemi bahçecilik olarak adlandırılmıştır. Müttefik kod kırıcılar, Madrid'de şifreli radyo raporları alınan ve el ile şifrelenerek, Berlin'e gönderilmek üzere bir Enigma makinesiyle tekrar şifrelenmiş, çift ajan Juan Pujol García'nın gönderdiği mesajların işlenmesine yardımcı olmuşturlar. Kod kırıcılarının bu yardımı ikinci bacak üzerinde kullanılan kodun şifresini çözmelerine ve orijinal metni sağlamalarına yardımcı olmuştur.
Modern zamanda, seçilmiş açık metin saldırıları (SASlar) simetrik şifreleri kırmak için sıklıkla kullanılmaktadır. SAS-güvenli olarak kabul edilmesi için, simetrik şifrenin seçilmiş açık metin saldırılarına karşı savunmasız olmaması gerekmektedir. Bu nedenle, simetrik şifre uygulayıcılarının, bir saldırganın şifrelerini nasıl kırmaya ve ilgili iyileştirmeleri yapmaya çalışacağını anlaması önemlidir. Bazı seçilmiş açık metin saldırıları için, açık metnin yalnızca küçük bir bölümünün saldırgan tarafından seçilmesi gerekebilir; Bu tür saldırılar açık metin enjeksiyon saldırıları olarak bilinir.


## Diğer Saldırılarla İlişkisi.
Seçilmiş bir açık metin saldırısı, bilinen açık metin saldırısından daha güçlüdür, çünkü saldırgan, belirli terimleri veya kalıpları doğal olarak ortaya çıkmasını beklemek zorunda kalmadan doğrudan hedefleyebilir ve kriptanalize ilişkin verilerin daha hızlı toplanmasını sağlayabilir. Bu nedenle, seçilmiş açık metin saldırılarını engelleyen herhangi bir şifre, bilinen açık metin ve şifreli metinlere yönelik saldırılara karşı da güvenlidir. Bununla birlikte, seçilmiş bir açık metin saldırısı, seçilmiş şifreli bir saldırıdan daha az güçlüdür; burada saldırgan, rastgele şifreleme metinlerinin açık metinlerini alabilir. Bir seçilmiş şifreli metin saldırganı bazen seçilmiş bir açık metin-güvenli bir sistemi kırabilir. Örneğin, El Gamal şifresi seçilmiş açık metin saldırılarına karşı güvenlidir, ancak seçilmiş şifreli metin saldırılarına karşı savunmasızdır, çünkü koşulsuz olarak dövülebilir. (unconditionally malleable.)