şükela:  tümü | bugün
  • substitution cipher'ın alt kolu olan bir şifreleme* yöntemidir.

    e(x) = (ax+b) mod26 algoritması ile gerçekleşir. (tabi burada mod 26 almamızın sebebi 25 harfli ingilizce alfabesini baz alıyor olmamızdan kaynaklanmaktadır.) burada a ve b şifreleyen kişi belirlemektedir. x ise harflerin alfabe üzerindeki konumlarını belirtmektedir (a harfinin başlangıç değerini 0 [sıfır] kabul ederek).

    örnek olarak "eksisozluk" metnini* bu yöntem ile şifreli metin* haline getirelim:

    abcdefghijklmnopqrstuvwxyz
    0123456789.......

    bu harf sıraları değerlerini formülümüze yerleştirelim ve a değerini 5, b değerini 6 alalım
    (tekrar belirrtmek istiyorum ki bu tamamen şifreleyen kişiye bağlıdır)

    e(x)=5x+6 mod 26

    e 04 e(04)=5*04+6 mod 26 = 00
    k 10 e(10)=5*10+6 mod 26 = 04
    s 18 e(18)=5*18+6 mod 26 = 18
    i 08 e(08)=5*08+6 mod 26 = 20
    s 18 e(18)=5*18+6 mod 26 = 18
    o 14 e(14)=5*14+6 mod 26 = 03
    z 25 e(25)=5*25+6 mod 26 = 01
    l 11 e(11)=5*11+6 mod 26 = 09
    u 20 e(20)=5*20+6 mod 26 = 02
    k 10 e(10)=5*10+6 mod 26 = 04

    yeni elde ettiğimiz sayı değerlerinin harf karşılıklarını bulalım:

    00 a
    04 e
    18 s
    20 u
    18 s
    03 d
    01 b
    09 j
    02 c
    04 e

    şifreli metnimiz oluştu. "eksisozluk" metnini e(x)=5x+6 mod 26 ile şifrelediğimiz zaman şifreli metnimizi elde etmiş olduk; "aesusdbjce" .
  • kirmak isteyen kisinin sifreleme metodunu* bildigi varsayilirsa a ve mod u alinan sayinin yani 26'nin birbiriyle coprime olmasi gerektiginden yola cikarak brute force bir mucadele sonucu cok zorlanmadan kirabilecegi bir yontemdir.
  • lineer ve key space'i çok az olduğu için oldukça tırt bi yöntemdir. günlük tutarken şifreli yazı kullanmaktan daha ciddi şeyler için tavsiye edilmez.
  • bir taraf belirli bir lineer fonksiyonu kullanarak metnini şifreler. diğer tarafsa bu fonksiyonun tersini kullanarak orijinal metne ulaşır. fonksiyonun tersini bulma işlemi klasik fonksiyonlardan farklı yapılır.

    örneğin anahtarımız (5,3) olsun. yani fonksiyonumuz y=5x+3 (mod 29) olur. bu fonksiyonun tersi şöyle bulunur.

    (y-3)*5' = x (mod 29) şeklinde bir fonksiyon bulmamız lazım. burada -3, 26'dır. ancak 5'in çarpma işlemine göre tersini bulmamız lazım. 5'in çarpma işlemine göre tersine u diyelim.

    5*u=1 (mod 29)

    burada bir kongrüans söz konusu. bu kongrüansın çözümünü bulmamız lazım. (5,29)=1 ve 1|1 olduğundan kongrüansın tek çözümü vardır. bu kongrüansı çözdüğümüzde u=6 buluruz. yani 5'in 29 moduna göre çarpma işlemine göre tersi 6'dır. yukarıdaki fonksiyonun tersi de

    x=(y+26)*6 (mod 29) = 6y+156 (mod 29) = 6y+11 (mod 29)

    olur.
  • işin tanım kısmını hızlıca geçerek örnek üzerinden incelendiğinde daha basit anlaşılması muhtemeldir. örnek olarak elinizde şifrelenmek istenen bir metin olduğunu ve bu metnin "affine cipher" yöntemi kullanılarak şifreleneceğini varsayalım ve bu işlem ingilizce alfabesi esas alınarak yapılacak olsun. alfabede ise "a" harfine 0 , "b" harfine 1 diyerek "z" harfine kadar artan şekilde sayılar verelim. şifrelenmek istenen metnin "book" ve şifreleme esnasında kullanılacak olan anahtarında (3,2) olduğunu varsayalım. neden 2 tane değer içeren bir anahtar olduğunu merak ediyorsanız eğer bunun nedeni açıktır çünkü "affine cipher" yönteminde şifreleme yapmak için y=ax+b doğru denklemi kullanılır. bu durumda denklemimiz y=3x+2 olacaktır. bunun anlamı kısaca, "book" kelimesinde geçen harflerin daha önce belirttiğimiz sayı değerlerini bularak "x" yerine koy ve çıkan "y" değeri o harfin "affine cipher" ile şifrelenmiş halidir. örnek verecek olursak,

    "book" kelimesinin ilk harfi "b" ve ona karşılık gelen sayısal değer ise 1' dir. o halde y=3*1+2 => y=5 değeri bulunur. 5 ise "f" harfinin sayısal değeridir. o halde "b" harfinin y=3x+2 denklemine göre şifrelenmiş hali "f" dir. eğer bu işlem tüm kelimeye uygulanırsa, "fssg" şifrelenmiş metni elde edilir. y değerinin 26 yı aşması durumunda ise mod 26 ya göre işlem yapılarak y değeri elde edilir. (tabi ki söz konusu ingilizce alfabesi iken)

    hata farkederseniz bir yeşil uzağınızdayım. malum geç oldu. "ussl pauxh"