# Rastgele kehanet
Şifrelemede Rrastgele kehanet, kendisine yapılan her sorguya, çıktı uzayından (gerçekten) rastgele, eşit olasılıkla seçilmiş, fakat her bir ayrı sorguya her seferinde aynı şekilde cevap veren bir kahin (kuramsal bir kara kutu)'dur. Başka bir deyişle, rassal kahin olası her bir sorguyu çıktı uzayından rastgele bir yanıta eşleyen matematiksel bir fonksiyondur.
Rassal kahinler, şifreleme bilimindeki kanıtlarda kullanılan bir matematiksel soyutlamadır; bunlar genellikle kanıtın gerektirdiği matematiksel özellikleri sağlayan bilinen gerçeklenebilir bir fonksiyon bulunmadığında kullanılmaktadır. Bu şekilde kanıtlanarak güvenli olduğu gösterilen bir sistem standart modeldeki güvenli kavramına karşılık olarak "rassal kahin modeli"nde güvenli olarak tanımlanır. Uygulamada, rassal kahinler genellikle özet fonksiyonunun çıktısı hakkında güçlü rassal varsayımların gerektiği şemalara sahip şifreleme özüt fonksiyonlarını modellemek amacıyla kullanılır. Böyle bir kanıt, genel olarak bir sistemin veya bir protokolün, bir saldırganın protokolü kırabilmesi için ya kahinden olanaksız bir davranış görmesi gerektiğini ya da zor olduğuna inanılan matematiksel bir problemi çözmesi gerektiğini göstererek güvenli olduğunu gösterir. Bütün şifreleme özüt fonksiyonları rasssal kahinler gerektirmez: sadece çakışma dirençlilik özelliğini gerektiren şemaların standart modelde güvenliliği kanıtlanabilir (örn. Cramer-Shoup şifreleme sistemi).
Rassal kahinler Karmaşıklık Kuramında uzun zamandır kabul görmüştür. (örn. Bennett & Gill). Fiat ve Shamir (1986) imza üretimi protokollerinden etkileşimin çıkarılması konusunda rasssal kahinlerin önemli bir uygulamasını yapmışlardır. Impagliazzo ve Rudich (1989) sadece rasssal kahinlerin varlığının gizli anahtar değişimi için yeterli kanıt olmadığını söyleyerek rasssal kahin modelinin sınırlarını göstermişlerdir.
Bellare ve Rogaway (1993) şifreleme yapılarında onların kullanımını savunmuştur. Bu tanımda, rassal kahin istenilen uzunluğa kesilebilecek olan sonsuz uzunlukta bir bit-dizgesi üretir. Bir rassal kahin bir güvenlik kanıtı içinde kullanıldığında, rakip ya da rakipler de dahil olmak üzere tüm oyuncular için kullanılabilir durumdadır. Tek bir rassal kahine her sorgudan önce sabit bir bit-dizgesi eklenerek (örn. başına "1|x" ya da "0|x" eklenmiş sorgular iki ayrı rassal kahine yapılmış gibi, benzer olarak "00|x", "01|x", "10|x" ve "11|x" eklenmiş sorgular da dört ayrı rassal kahine yapılmış sorgular gibi kabul edilebilir) birden fazla kahin gibi davranılabilir.
Hiçbir gerçek fonksiyon gerçek bir rassal kahini gerçekleyemez. Aslında, rassal kahin modelinde güvenliliği kanıtlanmış olan bazı yapay imza ve şifreleme şemalarının, rassal kahin yerine herhangi bir gerçek fonksiyon kullanıldığında basitçe güvensiz olduğu bilinmektedir. Bununla birlikte, herhangi bir daha doğal protokol için rassal kahin modelindeki bir güvenlik kanıtı, varsa (tamsayıların çarpanlara ayrılmasının zorluğu gibi) kanıtın diğer varsayımlarını kırmayan herhangi bir saldırının protokolde kullanılan özüt fonksiyonunun bilinmeyen ve istenmeyen bir özelliğini keşfetmesini gerektiren çok güçlü göstergeler sunar. Birçok şemanın rassal kahin modelinde güvenli olduğu gösterilmiştir, örnek olarak OAEP ve PSS verilebilir.