Bifid şifreleme

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.

 Çalışma yöntemi 
İlk olarak, karışık alfabeli I ve J'nin konumlarını paylaştığı bir Polybius karesi çizilir:

    1 2 3 4 5
 1  B G W K Z
 2  Q P N D S
 3 IJ O A X E
 4  F C L U M
 5  T H Y V R

Mesaj, her zamanki gibi koordinatlarına dönüştürülür, ancak bunlar altına dikey olarak yazılır:

 F L E E A T O N C E
 4 4 3 3 3 5 3 2 4 3
 1 3 5 5 3 1 2 3 2 5

Daha sonra sırayla okunurlar:

 4 4 3 3 3 5 3 2 4 3 1 3 5 5 3 1 2 3 2 5

Daha sonra tekrar çiftlere ayrılır ve çiftler kare kullanılarak tekrar harflere dönüştürülür:

 44 33 35 32 43 13 55 31 23 25
 U  A  E  O  L  W  R  I  N  S

Bu şekilde, her şifreli metin karakteri iki düz metin karakterine bağlıdır, bu nedenle bifid, Playfair şifresi gibi bir digrafik şifredir. Şifreyi çözmek için prosedür basitçe tersine çevrilir.

Daha uzun mesajlar önce periyot adı verilen sabit uzunlukta bloklara bölünür ve yukarıdaki şifreleme prosedürü her bloğa uygulanır. Periyodu tespit etmenin bir yolu, periyodun yarısı kadar ayrılmış şifreli metin harfleri üzerindeki bigram istatistiklerini kullanır. Yukarıdaki örnekte olduğu gibi (p=10) çift periyotlar, p için, p/2 mesafesindeki şifreli metin harfleri iki düz metin harfinden etkilenir (örneğin, U ve W, F ve T'den etkilenir), ancak tek periyotlar, p için, p/2 mesafesindeki şifreli metin harfleri (yukarı veya aşağı yuvarlanır) üç düz metin harfinden etkilenir. Dolayısıyla, tek periyotlar bu tür kriptanalize karşı çift periyotlardan daha güvenlidir, çünkü trigram düz metin istatistiklerinde istatistiksel bir anormallik bulmak için bigram düz metin istatistiklerinden daha fazla metin gerekir.

Notlar

 Ayrıca bakınız 
 Delastelle'in diğer şifreleri:
 dört-kare şifreleme (Playfair ile ilişkili)
 trifid şifreleme (bifid'e benzer)

 Kaynakça 

Dış bağlantılar




Kategori:Klasik şifrelemeler