İçeriğe atla

Affine şifreleme

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[a] 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 modüler çarpımsal tersidir. 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 eşzamanlı denklem çö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 doğrusal kongrüansiyel üreteçlerde de kullanılır. Bu üreteç, afin şifrenin güvenli olmamasıyla aynı sebepten dolayı kriptografik olarak güvenli sözde rastgele sayı üreteci 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,[1] ş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
x0 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
x0 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 268 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
x0 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 268 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
y8 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
y8 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 260 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
y8 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 260 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 268 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

  1. ^ İngilizce alfabe için mod 26, diğer alfabeler için kullanılan alfabe uzunlukları dikkate alınmalıdır.

Kaynakça

  1. ^ Kozdron, Michael. "Affine Ciphers" (PDF). 11 Temmuz 2019 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 22 Nisan 2014. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Kriptoloji</span>

Kriptoloji, şifre bilimidir. Haberleşme ve iletişim alanında iletilerin, mesajların, yazıların güvenli şekilde alıcısına ulaşması için çalışmalar yapan, yöntemler geliştiren bilim dalıdır. Önemli haberleşme verilerinin başkaları tarafından deşifre edilmemesi için özel matematiksel yöntemler kullanılarak güvenli şekilde iletişim sağlanması için kriptolojiye başvurulur. Bu sayede haberleşme daha güvenli hale getirilir. Şifrelenmiş bir metnin deşifre edilmesi ülkeler arası büyük bir krize neden olabilir ve bu durum iki ülke arasında savaş başlamasına sebep olabilir veya savaş halindeki iki ülkenin savaşı bitirmesini de sağlayabilir.

<span class="mw-page-title-main">Sezar şifrelemesi</span> Basit, bilinen ve sıkça kullanılmış bir şifre türü

Kriptografide, Sezar şifresi, kaydırma şifresi, Sezar kodu veya Sezar kaydırması olarak da bilinen Sezar şifrelemesi, en basit ve en yaygın bilinen şifreleme tekniklerinden biridir. Bu, düz metindeki her harfin alfabede belirli sayıda pozisyondaki bir harfle değiştirildiği bir yerine koyma şifrelemesi türüdür. Örneğin, 3'lük bir sola kaydırma ile D, A ile değiştirilir, E, B olur ve bu böyle devam eder. Bu yöntem adını özel yazışmalarında bu şifrelemeyi kullanan Romalı lider Julius Caesar'dan almıştır.

RSA, güvenliği tam sayıları çarpanlarına ayırmanın algoritmik zorluğuna dayanan bir tür açık anahtarlı şifreleme yöntemidir. 1978’de Ron Rivest, Adi Shamir ve Leonard Adleman tarafından bulunmuştur. Bir RSA kullanıcısı iki büyük asal sayının çarpımını üretir ve seçtiği diğer bir değerle birlikte ortak anahtar olarak ilan eder. Seçilen asal çarpanları ise saklar. Ortak anahtarı kullanan biri herhangi bir mesajı şifreleyebilir, ancak şu anki yöntemlerle eğer ortak anahtar yeterince büyükse sadece asal çarpanları bilen kişi bu mesajı çözebilir. RSA şifrelemeyi kırmanın çarpanlara ayırma problemini kırmak kadar zor olup olmadığı hala kesinleşmemiş bir problemdir.

Vigenere tablosu, kriptografide Vigenere şifrelemesi için kullanılan ve Fransız şifrecisi Blaise de Vigenere'e atfedilen bir tablodur. Bu tablo şifre için gerekli her harfin hangi harf ile değiştireleceğini gösterir. Harflerin değiştirilmesi için birçok alfabe kullanılır. Her harfin kelimedeki sırasına göre şifreleme alfabesi de değişir. Böylece aynı harflerin aynı harfler ile değiştirilmesi engellenmiş olur. Çoklu alfabe kullanma yöntemiyle şifrenin frekans analizi ile çözülmesi zorlaştırılmış olur.

DrCrypt şifreleme algoritması, temel XOR(Özel Veya) işlemine dayanır. DrCrypt, hızlı ve güvenilir olmak üzere geliştirilmiştir. 1 adet 2048 elemandan oluşan "Bilgi Gölgeleyici" sabitler dizisine sahiptir. İçeriği tahmin edilmesi yüksek bilgilerin açıklarını kapatmak ve bu sisteme fazladan güvenlik getirmek için eklenmiştir.
DrCrypt, kullanıcının belirttiği şifreden 32 adet sabit şifreleme anahtarı ve her bilgiye sırasına özel ve benzersiz(teoride) bir "Uzunluk Damgası" atar. Sabit dizi elemanları("Bilgi Gölgeleyiciler") bu damganın oluşturulmasında kullanılır.
DrCrypt algoritmasında şifreleme ve çözme işlemleri aynı yolla yapılır. Şifreleme işlemi için önce bilgi "Uzunluk Damgası" ile XOR(Özel Veya) işlemine sokulur. Daha sonra sırası gelen şifreleme anahtarı("32'li ") ile XOR(Özel Veya) işlemine sokulur.

Rabin şifreleme sistemi, Rabin kriptoloji veya Rabin kriptosistemi, güvenliği RSA'daki gibi tam sayı çarpanlarına ayırmanın zorluğu üzerine kurgulanmış olan asimetrik bir kriptografik tekniktir. Bununla birlikte, Rabin kriptosisteminin avantajı, saldırgan tam sayıları verimli bir şekilde çarpanlarına ayıramadığı sürece, seçilmiş bir düz metin saldırısına karşı hesaplama açısından güvenli olduğu matematiksel olarak kanıtlanmıştır, oysa RSA için bilinen böyle bir kanıt yoktur. Rabin fonksiyonunun her çıktısının dört olası girdiden herhangi biri tarafından üretilebilmesi dezavantajı; her çıktı bir şifreli metinse, olası dört girdiden hangisinin gerçek düz metin olduğunu belirlemek için şifre çözmede ekstra karmaşıklık gerekir.

Kriptografide çalışma kipleri, bir blok şifrenin tek bir anahtar altında güvenli bir şekilde tekrarlı kullanımına olanak veren yöntemlerdir. Değişken uzunluktaki mesajları işlemek için veriler ayrı parçalara bölünmelidir. Son parça şifrenin blok uzunluğuna uyacak şekilde uygun bir tamamlama şeması ile uzatılmalıdır. Bir çalışma kipi bu bloklardan her birini şifreleme şeklini tanımlar ve genellikle bunu yapmak için ilklendirme vektörü (IV) olarak adlandırılan rastgele oluşturulmuş fazladan bir değer kullanır.

Kriptografide blok şifreleme, blok olarak adlandırılmış sabit uzunluktaki bit grupları üzerine simetrik anahtar ile belirlenmiş bir deterministik algoritmanın uygulanmasıdır. Blok şifreleme birçok kriptografik protokol tasarımının önemli temel bileşenlerindendir ve büyük boyutlu verilerin şifrelemesinde yaygın biçimde kullanılmaktadır.

Atbash, başlangıçta İbrani alfabesini şifrelemek için kullanılan monoalfabetik bir ikame şifresidir. Standart bir harmanlama düzeni ile bilinen herhangi bir yazı sistemi ile kullanılmak üzere değiştirilebilir. Orijinal Kabalacı yöntem, dinî metinlerde saklı olduğuna inanılan bir anlamın çözülebilmesi amacını taşıyordu.

Schmidt-Samoa şifreleme, Alman araştırmacı Katja Schmidt-Samoa tarafından 2005’te oluşturulan asimetrik kriptografi yöntemidir. Bu şifrelemenin güvenilirliği Rabin'deki gibi çarpanlara ayırma probleminin zorluğuna dayanmaktadır. Bu algoritma, Rabin'in aksine şifreleme hızı pahasına, şifre çözmede belirsizlik oluşturmamaktadır.

<span class="mw-page-title-main">Vigenère şifrelemesi</span> bir kriptoloji yöntemi

Vigenère şifrelemesi, alfabetik bir şifreleme metni kullanarak bir dizi farklı Sezar şifrelemesine dayalı harfleri kullanan bir şifreleme yöntemidir. Bu bir çeşit poli alfabetik ikame tablosudur.

Kriptografide, bir yerine koyma şifrelemesi veya ikame şifresi veya ornatmalı şifreleme, düz metin birimlerinin bir anahtar yardımıyla tanımlanmış bir şekilde şifreli metin ile değiştirildiği bir şifreleme yöntemidir; "birimler" tek harfler, harf çiftleri, harf üçlüleri, yukarıdakilerin karışımları ve benzeri olabilir. Alıcı, orijinal mesajı çıkarmak için ters ikame işlemini gerçekleştirerek metni deşifre eder.

<span class="mw-page-title-main">Şifreli metin</span> şifrelenmiş bilgi

Kriptografide, şifreli metin, şifreleme adı verilen bir algoritma kullanılarak düz metin üzerinde gerçekleştirilen şifreleme işleminin sonucunda elde edilen çıktıdır. Şifreli metin, aynı zamanda şifrelenmiş veya kodlanmış bilgi olarak da bilinir çünkü orijinal düz metnin, şifresini çözmek için uygun şifre olmadan bir insan veya bilgisayar tarafından okunamayan bir biçimini içerir. Bu işlem, hassas bilgilerin bilgisayar korsanlığı yoluyla kaybolmasını önler. Şifrelemenin tersi olan Şifre çözme, şifreli metni okunabilir düz metne dönüştürme işlemidir. Şifreli metin, kod metni ile karıştırılmamalıdır çünkü ikincisi bir şifrenin değil bir kodun sonucudur.

Kriptografide, ADFGVX şifresi, I. Dünya Savaşı sırasında İmparatorluk Alman Ordusu tarafından kullanılan elle uygulanan bir alan şifresiydi. Mesajları telsiz telgraf kullanarak gizlice iletmek için kullanıldı. ADFGVX aslında ilk kez 1 Mart 1918'de Alman Batı Cephesi'nde kullanılan ADFGX adlı daha önceki bir şifrenin uzantısıydı. ADFGVX, 1 Haziran 1918'den itibaren hem Batı Cephesinde hem de Doğu Cephesi'nde uygulanmıştır.

Kriptografide klasik şifre, tarihsel olarak kullanılmış ancak çoğunlukla kullanımdan kalkmış bir şifre türüdür. Modern kriptografik algoritmaların aksine, klasik şifrelerin çoğu pratik olarak hesaplanabilir ve elle çözülebilir. Bununla birlikte, modern teknoloji ile kırılmaları da genellikle çok basittir. Bu terim Yunan ve Roma dönemlerinden beri kullanılan basit sistemleri, ayrıntılı Rönesans şifrelerini, Enigma makinesi gibi II. Dünya Savaşı kriptografisini ve sonrasını içerir.

<span class="mw-page-title-main">Polybius karesi</span> bir şifre türü

Polybius karesi, aynı zamanda Polybius dama tahtası olarak da bilinir, eski Yunanlılar Cleoxenus ve Democleitus tarafından icat edilmiş ve tarihçi ve bilgin Polybius tarafından meşhur edilmiş bir cihazdır. Cihaz, bölümleme için kullanılır. Düz metin karakterleri daha küçük bir sembol kümesiyle temsil edilebilecek şekilde telgraf, steganografi ve kriptografi için kullanışlıdır. Cihaz başlangıçta yangın sinyalizasyonu için kullanılmış olup, daha önceki gelenekte olduğu gibi sadece önceden belirlenmiş sınırlı sayıda seçeneğin değil, herhangi bir mesajın kodlanmış iletimine izin verir.

<span class="mw-page-title-main">Alberti şifresi</span> Leon Battista Alberti tarafından 1467 yılında oluşturulan şifre

İtalyan mimar Leon Battista Alberti tarafından 1467 yılında yaratılan Alberti Şifresi, ilk polialfabetik şifrelerden biriydi. De componendis cifris adlı çalışmasının ilk sayfalarında papalık sekreteri Leonardo Dati ile yeni geliştirilen hareketli tip baskı makinesinin onun şifre çarkının geliştirilmesine yol açtığı hakkında yaptığı konuşmayı anlattı.

<span class="mw-page-title-main">Tabula recta</span> kare alfabe tablosu

Kriptografide tabula recta, her satırı bir öncekinin sola kaydırılmasıyla oluşturulan kare şeklinde bir alfabe tablosudur. Bu terim, Alman yazar ve keşiş Johannes Trithemius tarafından 1508 yılında icat edilmiş ve Trithemius cipher adlı eserinde kullanılmıştır.

Klasik kriptografide, bifid şifreleme veya ikili şifreleme, Polybius karesi ile transpozisyonu birleştiren ve difüzyon elde etmek için bölümleme kullanan bir şifre türüdür. Yaklaşık 1901 yılında Felix Delastelle tarafından icat edilmiştir.

Trifid şifreleme veya Üçlü şifreleme, Félix Delastelle tarafından icat edilen ve 1902 yılında tanımlanan bir klasik şifredir. Delastelle'in daha önceki bifid şifreleme prensiplerini genişleterek, bölümleme ve transpozisyon tekniklerini birleştirerek belirli bir miktarda karışıklık ve yayılma elde eder: şifreli metnin her harfi düz metnin üç harfine ve anahtarın en fazla üç harfine bağlıdır.