Affine şifreleme veya Doğrusal şifreleme, bir tür monoalfabetik ikame şifresi olup, bir alfabedeki her harf sayısal eşdeğeriyle eşleştirilir, basit bir matematiksel fonksiyon kullanılarak şifrelenir ve tekrar bir harfe dönüştürülür. Kullanılan formül, her harfin başka bir harfe şifrelendiği ve tekrar geri döndüğü anlamına gelir, yani şifre esasen hangi harfin hangisine gideceğini düzenleyen bir kurala sahip standart bir ikame şifresidir. Bu nedenle, tüm ikame şifrelerinin zayıflıklarına sahiptir. Her harf (ax + b) mod 26 fonksiyonu ile şifrelenir, burada b kaydırmanın büyüklüğüdür.
Tanım
Burada, m boyutundaki bir alfabenin harfleri ilk olarak 0 ... (m - 1) aralığındaki tam sayılara eşlenir. Daha sonra modüler aritmetik kullanarak her bir düz metin, harfinin karşılık geldiği tam sayıyı bir şifreli metin harfine karşılık gelen başka bir tamsayıya dönüştürür. Tek bir harf için şifreleme işlevi şöyledir;
burada modül m, alfabenin boyutu ve a ile b ise şifrenin anahtarlarıdır. a değeri, a ve m aralarında asal olacak şekilde seçilmelidir. Şifre çözme fonksiyonu şöyledir;
burada a-1, a modulo m'nın . Yani, şu denklemi karşılar;
a'nın çarpımsal tersi yalnızca a ve m'nin eş olması durumunda mevcuttur. Dolayısıyla a kısıtlaması olmadan şifre çözme mümkün olmayabilir. Şifre çözme fonksiyonunun şifreleme fonksiyonunun tersi olduğu aşağıdaki gibi gösterilebilir;
Zayıf yönler
Afin şifresi, özünde bir monoalfabetik ikame şifresi olduğundan, bu şifreler sınıfının zayıflıklarını miras alır. Sezar şifrelemesi a = 1 ile bir Afin şifresidir, çünkü şifreleme fonksiyonu basitçe doğrusal bir kaydırmaya indirgenir. Atbash şifresi ise a = -1 kullanır.
İngilizce mesajların şifrelenmesi, özel durumu göz önüne alındığında (yani m = 26), 26 önemsiz Sezar şifresini saymazsak, toplam 286 önemsiz olmayan afin şifre vardır. Bu sayı, 26'dan küçük olan 26 ile aralarında asal olan 12 sayı olduğu gerçeğinden gelir (bunlar a'nın olası değerleridir). Her a değeri, 26 farklı toplama kaymasına sahip olabilir (b değeri); bu nedenle 12 × 26 veya 312 olası anahtar vardır. Bu çeşitlilik eksikliği, Kerckhoffs İlkesi ışığında düşünüldüğünde sistemi oldukça güvensiz hale getirir.
Şifrenin birincil zayıflığı, kriptanalistin iki şifreli metin karakterinin düz metnini (frekans analizi, kaba-kuvvet (brute force), tahmin veya başka bir yolla) keşfedebilmesi durumunda anahtarın bir çözülerek elde edilebileceği gerçeğinden kaynaklanmaktadır. a ve m'nin nispeten asal olduğunu bildiğimizden, bu otomatik bir sistemde birçok "yanlış" anahtarı hızla elemek için kullanılabilir.
Afin şifrelerde kullanılan aynı dönüşüm türü, bir sözde rastgele sayı üreteci türü olan de kullanılır. Bu üreteç, afin şifrenin güvenli olmamasıyla aynı sebepten dolayı değildir.
Örnek
Şifreleme ve şifre çözmeyi gösteren bu örnekte İngiliz alfabesi temel alınarak, alfabe A'dan Z'ye kadar olan harfler olacak ve aşağıdaki tabloda bulunan karşılık gelen değerlere sahip olacaktır.
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
Şifreleme
Bu şifreleme örneğinde, şifrelenecek düz metin, her harfin sayısal değerleri için yukarıda belirtilen tablo kullanılarak, a 5, b 8 ve kullanılan alfabede 26 karakter olduğu için m 26 olarak alınarak "AFFINE CIPHER" şeklindedir. Sadece a değerinin 26 ile eş olması gerektiğinden bir kısıtlaması vardır. a'nın alabileceği olası değerler 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 ve 25'tir. b için değer, a 1'e eşit olmadığı sürece keyfi olabilir, çünkü bu şifrenin kaymasıdır. Böylece, bu örnek için şifreleme fonksiyonu y' = E(x) = (5x + 8) mod 26 olacaktır. Mesajı şifrelemenin ilk adımı her harfin sayısal değerlerini yazmaktır.
düz metin | A | F | F | I | N | E | C | I | P | H | E | R |
---|---|---|---|---|---|---|---|---|---|---|---|---|
x | 0 | 5 | 5 | 8 | 13 | 4 | 2 | 8 | 15 | 7 | 4 | 17 |
Şimdi, x'in her bir değerini alın ve denklemin ilk kısmını, (5x + 8) çözün. Her karakter için (5x + 8) değerini bulduktan sonra, (5x + 8) sonucunu 26'ya böldüğünüzde kalanı alın. Aşağıdaki tablo şifreleme işleminin ilk dört adımını göstermektedir.
düz metin | A | F | F | I | N | E | C | I | P | H | E | R |
---|---|---|---|---|---|---|---|---|---|---|---|---|
x | 0 | 5 | 5 | 8 | 13 | 4 | 2 | 8 | 15 | 7 | 4 | 17 |
(5x + 8) | 8 | 33 | 33 | 48 | 73 | 28 | 18 | 48 | 83 | 43 | 28 | 93 |
(5x + 8) mod 26 | 8 | 7 | 7 | 22 | 21 | 2 | 18 | 22 | 5 | 17 | 2 | 15 |
Mesajı şifrelemenin son adımı, karşılık gelen harfler için tablodaki her bir sayısal değeri aramaktır. Bu örnekte, şifrelenmiş metin IHHWVCSWFRCP olacaktır. Aşağıdaki tablo Affine şifrelemesinde bir mesajın şifrelenmesi için tamamlanmış tabloyu göstermektedir.
düz metin | A | F | F | I | N | E | C | I | P | H | E | R |
---|---|---|---|---|---|---|---|---|---|---|---|---|
x | 0 | 5 | 5 | 8 | 13 | 4 | 2 | 8 | 15 | 7 | 4 | 17 |
(5x + 8) | 8 | 33 | 33 | 48 | 73 | 28 | 18 | 48 | 83 | 43 | 28 | 93 |
(5x + 8) mod 26 | 8 | 7 | 7 | 22 | 21 | 2 | 18 | 22 | 5 | 17 | 2 | 15 |
şifreli metin | I | H | H | W | V | C | S | W | F | R | C | P |
Şifre çözme
Bu şifre çözme örneğinde, şifresi çözülecek olan şifreli metin, şifreleme örneğindeki şifreli metindir. İlgili şifre çözme fonksiyonu D'(y) = 21(y - b) mod 26'dır, burada a-1 21 ve b 8 olarak hesaplanır. Başlamak için, aşağıdaki tabloda gösterildiği gibi, şifre metnindeki her harfin sayısal karşılıkları yazılır.
şifreli metin | I | H | H | W | V | C | S | W | F | R | C | P |
---|---|---|---|---|---|---|---|---|---|---|---|---|
y | 8 | 7 | 7 | 22 | 21 | 2 | 18 | 22 | 5 | 17 | 2 | 15 |
Şimdi, bir sonraki adım 21(y - 8)'i hesaplamak ve ardından bu sonuç 26'ya bölündüğünde kalanı almaktır. Aşağıdaki tablo her iki hesaplamanın sonuçlarını göstermektedir.
şifreli metin | I | H | H | W | V | C | S | W | F | R | C | P |
---|---|---|---|---|---|---|---|---|---|---|---|---|
y | 8 | 7 | 7 | 22 | 21 | 2 | 18 | 22 | 5 | 17 | 2 | 15 |
21(y − 8) | 0 | −21 | −21 | 294 | 273 | −126 | 210 | 294 | −63 | 189 | −126 | 147 |
21(y − 8) mod 26 | 0 | 5 | 5 | 8 | 13 | 4 | 2 | 8 | 15 | 7 | 4 | 17 |
Şifreli metnin şifresini çözmenin son adımı, sayısal değerleri tekrar harflere dönüştürmek için tabloyu kullanmaktır. Bu şifre çözme işlemindeki düz metin AFFINECIPHER'dır. Son adımın tamamlandığı tablo aşağıdadır.
şifreli metin | I | H | H | W | V | C | S | W | F | R | C | P |
---|---|---|---|---|---|---|---|---|---|---|---|---|
y | 8 | 7 | 7 | 22 | 21 | 2 | 18 | 22 | 5 | 17 | 2 | 15 |
21(y − 8) | 0 | −21 | −21 | 294 | 273 | −126 | 210 | 294 | −63 | 189 | −126 | 147 |
21(y − 8) mod 26 | 0 | 5 | 5 | 8 | 13 | 4 | 2 | 8 | 15 | 7 | 4 | 17 |
düz metin | A | F | F | I | N | E | C | I | P | H | E | R |
Kodlanmış alfabenin tümü
Şifrelemeyi ve şifre çözmeyi daha hızlı hale getirmek için, açık metin ve şifreli metnin harfleri arasında bire bir harita oluşturmak üzere tüm alfabe şifrelenebilir. Bu örnekte, bire bir harita aşağıdaki gibi olacaktır:
açık metindeki harf | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
açık metindeki sayı | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
(5x + 8) mod 26 | 8 | 13 | 18 | 23 | 2 | 7 | 12 | 17 | 22 | 1 | 6 | 11 | 16 | 21 | 0 | 5 | 10 | 15 | 20 | 25 | 4 | 9 | 14 | 19 | 24 | 3 |
şifreli metin harfi | I | N | S | X | C | H | M | R | W | B | G | L | Q | V | A | F | K | P | U | Z | E | J | O | T | Y | D |
Programlama örnekleri
Aşağıdaki Python kodu, afin şifreleme ile metin şifrelemek için kullanılabilir:
# Prints a transposition table for an affine cipher. def affine(a: int, b: int, s: str): import string D = dict(enumerate(string.ascii_lowercase, start=0)) E = {v: k for k,v in D.items()} size = len(string.ascii_lowercase) ret = "" print(size) for c in s: N = E[c] val = a * N + b val = val % size print(f"{c}({N}) -> {D[val]}({val})") ret += D[val] return ret affine(7, 3, 'foobar')
Ayrıca bakınız
Notlar
Kaynakça
- ^ Kozdron, Michael. "Affine Ciphers" (PDF). 11 Temmuz 2019 tarihinde kaynağından (PDF). Erişim tarihi: 22 Nisan 2014.
Dış bağlantılar
- Şadi Evren ŞEKER (21 Şubat 2008). . 2 Şubat 2009 tarihinde kaynağından arşivlendi.
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Affine sifreleme veya Dogrusal sifreleme bir tur monoalfabetik ikame sifresi olup bir alfabedeki her harf sayisal esdegeriyle eslestirilir basit bir matematiksel fonksiyon kullanilarak sifrelenir ve tekrar bir harfe donusturulur Kullanilan formul her harfin baska bir harfe sifrelendigi ve tekrar geri dondugu anlamina gelir yani sifre esasen hangi harfin hangisine gidecegini duzenleyen bir kurala sahip standart bir ikame sifresidir Bu nedenle tum ikame sifrelerinin zayifliklarina sahiptir Her harf ax b mod 26 fonksiyonu ile sifrelenir burada b kaydirmanin buyuklugudur TanimBurada m boyutundaki bir alfabenin harfleri ilk olarak 0 m 1 araligindaki tam sayilara eslenir Daha sonra moduler aritmetik kullanarak her bir duz metin harfinin karsilik geldigi tam sayiyi bir sifreli metin harfine karsilik gelen baska bir tamsayiya donusturur Tek bir harf icin sifreleme islevi soyledir E x ax b modm displaystyle E x ax b bmod m burada modul m alfabenin boyutu ve a ile b ise sifrenin anahtarlaridir a degeri a ve m aralarinda asal olacak sekilde secilmelidir Sifre cozme fonksiyonu soyledir D x a 1 x b modm displaystyle D x a 1 x b bmod m burada a 1 a modulo m nin Yani su denklemi karsilar 1 aa 1modm displaystyle 1 aa 1 bmod m a nin carpimsal tersi yalnizca a ve m nin es olmasi durumunda mevcuttur Dolayisiyla a kisitlamasi olmadan sifre cozme mumkun olmayabilir Sifre cozme fonksiyonunun sifreleme fonksiyonunun tersi oldugu asagidaki gibi gosterilebilir D E x a 1 E x b modm a 1 ax b modm b modm a 1 ax b b modm a 1axmodm xmodm displaystyle begin aligned D E x amp a 1 E x b bmod m amp a 1 ax b bmod m b bmod m amp a 1 ax b b bmod m amp a 1 ax bmod m amp x bmod m end aligned Zayif yonlerAfin sifresi ozunde bir monoalfabetik ikame sifresi oldugundan bu sifreler sinifinin zayifliklarini miras alir Sezar sifrelemesi a 1 ile bir Afin sifresidir cunku sifreleme fonksiyonu basitce dogrusal bir kaydirmaya indirgenir Atbash sifresi ise a 1 kullanir Ingilizce mesajlarin sifrelenmesi ozel durumu goz onune alindiginda yani m 26 26 onemsiz Sezar sifresini saymazsak toplam 286 onemsiz olmayan afin sifre vardir Bu sayi 26 dan kucuk olan 26 ile aralarinda asal olan 12 sayi oldugu gerceginden gelir bunlar a nin olasi degerleridir Her a degeri 26 farkli toplama kaymasina sahip olabilir b degeri bu nedenle 12 26 veya 312 olasi anahtar vardir Bu cesitlilik eksikligi Kerckhoffs Ilkesi isiginda dusunuldugunde sistemi oldukca guvensiz hale getirir Sifrenin birincil zayifligi kriptanalistin iki sifreli metin karakterinin duz metnini frekans analizi kaba kuvvet brute force tahmin veya baska bir yolla kesfedebilmesi durumunda anahtarin bir cozulerek elde edilebilecegi gerceginden kaynaklanmaktadir a ve m nin nispeten asal oldugunu bildigimizden bu otomatik bir sistemde bircok yanlis anahtari hizla elemek icin kullanilabilir Afin sifrelerde kullanilan ayni donusum turu bir sozde rastgele sayi ureteci turu olan de kullanilir Bu uretec afin sifrenin guvenli olmamasiyla ayni sebepten dolayi degildir OrnekSifreleme ve sifre cozmeyi gosteren bu ornekte Ingiliz alfabesi temel alinarak alfabe A dan Z ye kadar olan harfler olacak ve asagidaki tabloda bulunan karsilik gelen degerlere sahip olacaktir A B C D E F G H I J K L M N O P Q R S T U V W X Y Z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25Sifreleme Bu sifreleme orneginde sifrelenecek duz metin her harfin sayisal degerleri icin yukarida belirtilen tablo kullanilarak a 5 b 8 ve kullanilan alfabede 26 karakter oldugu icin m 26 olarak alinarak AFFINE CIPHER seklindedir Sadece a degerinin 26 ile es olmasi gerektiginden bir kisitlamasi vardir a nin alabilecegi olasi degerler 1 3 5 7 9 11 15 17 19 21 23 ve 25 tir b icin deger a 1 e esit olmadigi surece keyfi olabilir cunku bu sifrenin kaymasidir Boylece bu ornek icin sifreleme fonksiyonu y E x 5x 8 mod 26 olacaktir Mesaji sifrelemenin ilk adimi her harfin sayisal degerlerini yazmaktir duz metin A F F I N E C I P H E Rx 0 5 5 8 13 4 2 8 15 7 4 17 Simdi x in her bir degerini alin ve denklemin ilk kismini 5x 8 cozun Her karakter icin 5x 8 degerini bulduktan sonra 5x 8 sonucunu 26 ya boldugunuzde kalani alin Asagidaki tablo sifreleme isleminin ilk dort adimini gostermektedir duz metin A F F I N E C I P H E Rx 0 5 5 8 13 4 2 8 15 7 4 17 5x 8 8 33 33 48 73 28 18 48 83 43 28 93 5x 8 mod 26 8 7 7 22 21 2 18 22 5 17 2 15 Mesaji sifrelemenin son adimi karsilik gelen harfler icin tablodaki her bir sayisal degeri aramaktir Bu ornekte sifrelenmis metin IHHWVCSWFRCP olacaktir Asagidaki tablo Affine sifrelemesinde bir mesajin sifrelenmesi icin tamamlanmis tabloyu gostermektedir duz metin A F F I N E C I P H E Rx 0 5 5 8 13 4 2 8 15 7 4 17 5x 8 8 33 33 48 73 28 18 48 83 43 28 93 5x 8 mod 26 8 7 7 22 21 2 18 22 5 17 2 15sifreli metin I H H W V C S W F R C PSifre cozme Bu sifre cozme orneginde sifresi cozulecek olan sifreli metin sifreleme ornegindeki sifreli metindir Ilgili sifre cozme fonksiyonu D y 21 y b mod 26 dir burada a 1 21 ve b 8 olarak hesaplanir Baslamak icin asagidaki tabloda gosterildigi gibi sifre metnindeki her harfin sayisal karsiliklari yazilir sifreli metin I H H W V C S W F R C Py 8 7 7 22 21 2 18 22 5 17 2 15 Simdi bir sonraki adim 21 y 8 i hesaplamak ve ardindan bu sonuc 26 ya bolundugunde kalani almaktir Asagidaki tablo her iki hesaplamanin sonuclarini gostermektedir sifreli metin I H H W V C S W F R C Py 8 7 7 22 21 2 18 22 5 17 2 1521 y 8 0 21 21 294 273 126 210 294 63 189 126 14721 y 8 mod 26 0 5 5 8 13 4 2 8 15 7 4 17 Sifreli metnin sifresini cozmenin son adimi sayisal degerleri tekrar harflere donusturmek icin tabloyu kullanmaktir Bu sifre cozme islemindeki duz metin AFFINECIPHER dir Son adimin tamamlandigi tablo asagidadir sifreli metin I H H W V C S W F R C Py 8 7 7 22 21 2 18 22 5 17 2 1521 y 8 0 21 21 294 273 126 210 294 63 189 126 14721 y 8 mod 26 0 5 5 8 13 4 2 8 15 7 4 17duz metin A F F I N E C I P H E RKodlanmis alfabenin tumu Sifrelemeyi ve sifre cozmeyi daha hizli hale getirmek icin acik metin ve sifreli metnin harfleri arasinda bire bir harita olusturmak uzere tum alfabe sifrelenebilir Bu ornekte bire bir harita asagidaki gibi olacaktir acik metindeki harf A B C D E F G H I J K L M N O P Q R S T U V W X Y Zacik metindeki sayi 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 5x 8 mod 26 8 13 18 23 2 7 12 17 22 1 6 11 16 21 0 5 10 15 20 25 4 9 14 19 24 3sifreli metin harfi I N S X C H M R W B G L Q V A F K P U Z E J O T Y DProgramlama ornekleri Asagidaki Python kodu afin sifreleme ile metin sifrelemek icin kullanilabilir Prints a transposition table for an affine cipher def affine a int b int s str import string D dict enumerate string ascii lowercase start 0 E v k for k v in D items size len string ascii lowercase ret print size for c in s N E c val a N b val val size print f c N gt D val val ret D val return ret affine 7 3 foobar Ayrica bakinizAfin fonksiyonlar Atbash kodu Sezar sifrelemesi ROT13Notlar Ingilizce alfabe icin mod 26 diger alfabeler icin kullanilan alfabe uzunluklari dikkate alinmalidir Kaynakca Kozdron Michael Affine Ciphers PDF 11 Temmuz 2019 tarihinde kaynagindan PDF Erisim tarihi 22 Nisan 2014 Dis baglantilarSadi Evren SEKER 21 Subat 2008 2 Subat 2009 tarihinde kaynagindan arsivlendi