Doğum günü akını

Vikipedi, özgür ansiklopedi
Atla: kullan, ara

Doğum günü akını, olasılık kuramındaki doğum günü probleminin ardındaki matematiği kullanan bir kriptografik akındır. Akının amacı bir f işlevine girdi olarak verilen x_1 ve x_2'nin f(x_1)=f(x_2) koşulunu sağlamasıdır. Böyle bir x_1,x_2 ikilisi çakışma olarak adlandırılmaktadır. Çakışma bulma yöntemi, f işlevini gelişigüzel girdilerle hesaplayıp çakışma koşulunun sağlanıp sağlanmadığını incelemektir. Bu yöntem, yukarıda sözü edilen doğum günü probleminden yararlanır. Şöyle ki; bir f(x) işlevi eşit olasılıklı H farklı sonuç üretiyorsa ve H yeterince büyükse f(x_1) = f(x_2) koşulunu sağlayan x_1 ve x_2 değerleri kolayca bulunabilir.

Matematiksel ifadesi[değiştir | kaynağı değiştir]

Bir H kümesinden gelişigüzel n değerlerini seçtiğimizi varsayalım. p(n;H) ifadesini de bir n değerinin birden çok kez seçilmesi olasılığı olarak tanımlayalım. Böylece,

 p(n;H) \approx 1 - e^{-(n(n-1))/2 \cdot H} \approx 1-e^{-n^2/{2 \cdot H}} eşitliğine ulaşılabilir.

n(p;H), seçilebilecek en küçük sayıyı gösteriyorsa bir çakışmanın meydana gelme olasılığı en az p'ye eşittir. Yukarıdaki eşitlik tersine çevrildiğinde aşağıdaki eşitliğe ulaşılır.

n(p;H)\approx \sqrt{2\cdot H\cdot\ln\left({1 \over 1-p}\right)},

0.5'lik bir çakışma olasılığı temel alındığında

n(0.5;H) \approx 1.1774 \sqrt H ifadesine ulaşılır.

Q(H)'nin ilk çakışma bulununcaya dek seçilen değer sayısını belirttiğini varsayalım. Bu sayı,

Q(H)\approx \sqrt{{\pi\over 2}H} değerine yakınsar.

Örneğin, 64 bitlik bir öz kullanıldığında ortaya çıkan farklı sonuç sayısı yaklaşık 1.8 × 1019'dur. Tüm bu sonuçların gözlenme olasılıkları birbirine eşitse bir çakışmanın meydana gelmesi için en çok 5.1 × 109 denemeye gerek duyulacaktır. Bu değer, doğum günü sınırı olarak adlandırılır. Bu değer, n bitlik kodlar için 2^{n/2} olarak hesaplanmıştır.[1] Diğer örnekler ise aşağıdaki tabloda gösterilmiştir.

Bit sayısı Olası
sonuç sayısı
(H)
Gelişigüzel çakışma olasılığı (p)
10−18 10−15 10−12 10−9 10−6 0.1% 1% 25% 50% 75%
32 4.3 × 109 2 2 2 2.9 93 2.9 × 103 9.3 × 103 5.0 × 104 7.7 × 104 1.1 × 105
64 1.8 × 1019 6.1 1.9 × 102 6.1 × 103 1.9 × 105 6.1 × 106 1.9 × 108 6.1 × 108 3.3 × 109 5.1 × 109 7.2 × 109
128 3.4 × 1038 2.6 × 1010 8.2 × 1011 2.6 × 1013 8.2 × 1014 2.6 × 1016 8.3 × 1017 2.6 × 1018 1.4 × 1019 2.2 × 1019 3.1 × 1019
256 1.2 × 1077 4.8 × 1029 1.5 × 1031 4.8 × 1032 1.5 × 1034 4.8 × 1035 1.5 × 1037 4.8 × 1037 2.6 × 1038 4.0 × 1038 5.7 × 1038
384 3.9 × 10115 8.9 × 1048 2.8 × 1050 8.9 × 1051 2.8 × 1053 8.9 × 1054 2.8 × 1056 8.9 × 1056 4.8 × 1057 7.4 × 1057 1.0 × 1058
512 1.3 × 10154 1.6 × 1068 5.2 × 1069 1.6 × 1071 5.2 × 1072 1.6 × 1074 5.2 × 1075 1.6 × 1076 8.8 × 1076 1.4 × 1077 1.9 × 1077
Tablo, tüm öz değerlerinin oluşma olasılıklarının eşit olduğu durumda gerekli olan değer sayılarını göstermektedir.

İşlev çıktılarının farklı yoğunlukta dağıldığı durumların çakışma olasılığını artırdığı kolayca gözlenebilmektedir. Bir öz işlevinin 'dengesi' o işlevin doğum günü akınlarına karşı direncini ifade etmekte, MD ve SHA gibi popüler özlerin zayıf noktalarının aydınlatılması çalışmalarını tetiklemektedir (Bellare ve Kohno, 2004).

Sayısal imzaların akına karşı duyarlığı[değiştir | kaynağı değiştir]

Sayısal imzalar, doğum günü akınına duyarlı olabilmektedirler. Bir m iletisi önce f(m) ile imlenmektedir. Burada f bir kriptografik öz işlevini göstermektedir. Alice'in Bob'u kandırmaya çalıştığını varsayalım. Alice önce yasal bir m sözleşmesi hazırlar ve ardından sahte bir m' sözleşmesini imzalar. Alice daha sonra m üzerinde bazı yazım değişiklikleri yaparak birden fazla m sözleşmesi elde etmeye çalışır.

Alice, sahte m' sözleşmesini de aynı yolla çoğaltır ve öz işlevini yasal ve sahte sözleşmeler üzerine uygulayarak f(m) = f(m') koşulunun sağlandığı ilk değeri bulur. Yasal sözleşmeyi Bob'a imzalatan Alice, bu imzayı sahte sözleşmeye ekler. Böylece, Bob'un sahte sözleşmeye imza koyduğu "kanıtlanmış" olur.

Bu akının önüne geçebilmek amacıyla imzayı oluşturan öz işlevinin çıktı uzunluğu artırılmaktadır. Çalışma süresi katbekat artan bu akın böylece uygulanamaz hale dönüşmektedir.

Pollard'ın rho algoritması, ayrık logaritmaların hesaplanmasında doğum günü akınını kullanan bir yöntemdir.

Ayrıca bakınız[değiştir | kaynağı değiştir]

Kaynakça[değiştir | kaynağı değiştir]

Notlar[değiştir | kaynağı değiştir]

  1. ^ Jacques Patarin, Audrey Montreuil (2005) (PostScript, PDF). Kelebek Kalıpları. Université de Versailles. http://eprint.iacr.org/2005/004. Erişim tarihi: 15.03.2007. 

Dış bağlantılar[değiştir | kaynağı değiştir]