İçeriğe atla

Feistel şifresi

Kriptografide, IBM (ABD) için çalışırken öncü araştırmalar yapan Almanya doğumlu fizikçi ve kriptograf Horst Feistel'in ismiyle anılan Feistel şifresi blok şifrelerin yapımında kullanılan simetrik bir yapıdır; aynı zamanda Feistel ağı olarak da bilinir. Blok şifreler, DES(Data Şifreleme Standardı) dahil, büyük oranda bu şemayı kullanır. Feistel yapısı, şifreleme ve şifre çözme işlemlerinin çok benzer olması, hatta bazı durumlarda aynıdır, sadece anahtar sırasının tersine çevrilmesini gerektirme avantajına sahiptir. Bu nedenle, böyle bir şifreyi uygulamak için gereken kod veya devrenin büyüklüğü neredeyse yarıya inmiştir.

Feistel ağı raund fonksiyonu olarak adlandırılan dahili fonksiyonu ile yinelenen bir şifredir.

Tarihçe

Feistel ağları ilk olarak 1973'te Horst Feistel ve Don Coppersmith tarafından tasarlanan IBM'in Lucifer şifresinde ticari olarak görülmüştür. ABD Federal Hükûmeti DES'i (NSA tarafından yapılan değişikliklerle Lucifer'e dayanan bir şifre) kabul ettiğinde Feistel ağları saygınlık kazanmıştır. DES'in diğer bileşenleri gibi, Feistel yapısının iteratif yapısı donanım üzerinde kriptosisteminin daha kolay uygulanmasını sağlamıştır. (özellikle DES'in tasarımında mevcut olan donanım üzerinde).

Teorik çalışma

Birçok modern ve bazı eski simetrik blok şifreleri Feistel ağlarına (örn. GOST 28147-89 blok şifrelemesine) dayanmaktadır ve Feistel şifrelerinin yapısı ve özellikleri, kriptograflar tarafından kapsamlı bir şekilde araştırılmıştır. Özellikle Michael Luby and Charles Rackoff Feistel şifre yapısını analiz etmiştir ve raund fonksiyonunun kriptografik olarak güvenli bir sözderastsal (rastgele) fonksiyon(pseudorandom function) olması durumunda, Ki' nin seed olarak kullanılması ile, 3 devir blok şifresine bir sözderastsal yer değiştirme yapmak için yeterli iken, 4 devir bir "güçlü" sözderastsal yer değiştirme yapmak için yeterlidir. (tersine permütasyona oracle erişimini alan bir düşman için bile sahte bir şekilde kalacağı anlamına gelir.)

Luby ve Rackoff'un bu çok önemli sonucu nedeniyle, Feistel şifrelerine bazen Luby-Rackoff blok şifreleri denir. Daha fazla teorik çalışma, yapıyı biraz genelleştirdi ve güvenlik için daha kesin sınırlar verdi.

Yapı Detayları

F raund fonksiyonu olarak alınır ve sırasıyla devirler 0,1,..,n için K0,K1,..KN de alt anahtarlar olarak alınır.

Daha sonra temel işlem aşağıdaki gibidir:

Şifreli metin blokları 2 eşit parçaya bölünür, (L0,R0)

Her bir devir için i=0,1,..,n hesaplanır

Şifreli metin 

Şifreli bir metnin 

Sonra (L0,R0) tekrar şifresiz metindir.

Feistel'in koyma-yer değiştirme ağlarıyla karşılaştırıldığında avantajlarından birisi raund fonksiyonu olan F'in tersine çevrilmesinin gerekmemesidir.

Diagram hem şifrelemeyi hem de şifre açmayı göstermektedir. Şifre çözme için alt anahtar sırasının tersine çevrildiğine dikkat edilmesi gerekir; bu, şifreleme ve şifre çözme arasındaki tek farktır.

Dengesiz Feistel Şifresi

Dengesiz Feistel şifreleri, L0 ve R0'ın eşit uzunluklarda olmadığı modifiye bir yapı kullanır.Skipjack şifresi, böyle bir şifrenin bir örneğidir. Texas Instruments dijital imza aktarıcısı, kimlik sorma-yanıt verme işlemi yapmak için tescilli dengesiz Feistel şifresini kullanır.

Thorp shuffle, bir tarafın tek bir bit olduğu dengesiz bir Feistel şifresinin uç bir örneğidir. Bu, dengeli bir Feistel şifresinden daha kanıtlanabilir güvenlikliğe sahiptir, ancak daha fazla tur gerektirir.

Diğer Kullanımlar

Feistel yapısı blok şifrelerden başka aynı zamanda kriptografik algoritmalarda da kullanılır. Örneğin, en uygun asimetrik şifreleme dolgu (OAEP) şeması, belirli asimetrik anahtar şifreleme şemalarında şifreli metinleri rastgele hale getirmek için basit bir Feistel ağı kullanır.

Genel bir Feistel algoritması, ikinin kuvveti olmayan küçük etki alanlarında güçlü permütasyonlar oluşturmak için kullanılabilir (bkz. Formatı koruyan şifreleme).

Tasarım bileşeni olarak Feistel Ağı

Tüm şifre bir Feistel şifresi olsun ya da olmasın, feistel benzeri ağlar şifre tasarımının bir parçası olarak kullanılabilir. Örneğin, MISTY1 devir fonksiyonunda üç aşamalı bir Feistel ağı kullanan bir Feistel şifresidir, Skipjack, G permutasyonunda bir Feistel ağı kullanan modifiye edilmiş bir Feistel şifresidir, Threefish (Skein parçası), feistel benzeri bir MIX işlevi kullanan, feistel olmayan bir blok şifresidir .

Feistel Şifrelerinin Listesi

Feistel veya değiştirilmiş Feistel:

Genelleştirilmiş Feistel:

Ayrıca bakınız

Kaynakça

1. Menezes, Alfred J.; Oorschot, Paul C. van; Vanstone, Scott A. (2001). Handbook of Applied Cryptography (Fifth ed.). p. 251. ISBN 0849385237.

2. Luby, Michael; Rackoff, Charles (April 1988), "How to Construct Pseudorandom Permutations from Pseudorandom Functions" 12 Şubat 2019 tarihinde Wayback Machine sitesinde arşivlendi., SIAM Journal on Computing, 17 (2): 373– 386, doi:10.1137/0217022, ISSN 0097-5397

3. Patarin, Jacques (October 2003), Boneh, Dan, ed., "Luby–Rackoff: 7 Rounds Are Enough for 2n(1−ε) Security" 1 Şubat 2017 tarihinde Wayback Machine sitesinde arşivlendi. (PDF), Advances in Cryptology—CRYPTO 2003, Lecture Notes in Computer Science, 2729: 513–529, doi:10.1007/b11817, retrieved 2009-07-27

4. Zheng, Yuliang; Matsumoto, Tsutomu; Imai, Hideki (1989-08-20). "On the Construction of Block Ciphers Provably Secure and Not Relying on Any Unproved Hypotheses" 9 Haziran 2018 tarihinde Wayback Machine sitesinde arşivlendi.. Advances in Cryptology — CRYPTO’ 89 Proceedings. Springer, New York, NY: 461–480. doi:10.1007/0-387-34805-0_42. Retrieved 2017-11-21.

5. Schneier, Bruce; Kelsey, John (1996-02-21). "Unbalanced Feistel networks and block cipher design" 22 Eylül 2017 tarihinde Wayback Machine sitesinde arşivlendi.. Fast Software Encryption. Springer, Berlin, Heidelberg: 121–144. doi:10.1007/3-540-60865-6_49. Retrieved 2017-11-21.

6. Bono, Stephen; Green, Matthew; Stubblefield, Adam; Juels, Ari; Rubin, Aviel; Szydlo, Michael (2005-08-05). "Security Analysis of a Cryptographically-Enabled RFID Device" (PDF). Proceedings of the USENIX Security Symposium. Retrieved 2017-11-21.

7. Morris, Ben; Rogaway, Phillip; Stegers, Till (2009). "How to Encipher Messages on a Small Domain" 23 Ekim 2020 tarihinde Wayback Machine sitesinde arşivlendi. (PDF). Advances in Cryptology - CRYPTO 2009. Springer, Berlin, Heidelberg: 286–302. doi:10.1007/978-3-642-03356-8_17. Retrieved 2017-11-21.

İlgili Araştırma Makaleleri

<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.

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.

<span class="mw-page-title-main">Dizi şifresi</span> simetrik anahtar şifreleme metodu

Kriptografide, bir kesintisiz şifreleme, dizi şifresi veya akış şifresi bir simetrik anahtardır. Düz metin bitlerinin bir exclusive-or (XOR) işlemi kullanılarak bir sözde rastgele şifre bit akışı ile birleştirildiği şifrelemedir. Bir akış şifresinde düz metin sayısal basamakları her seferinde bir tane şifrelenir ve ardışık basamakların dönüşümü şifreleme durumu sırasında değişir. Her bir basamağın şifrelenmesi mevcut duruma bağlı olduğundan alternatif bir isim durum şifresidir. Pratikte, basamaklar tipik olarak tek bitler veya baytlardır.

Paillier şifrelemesi , 1999’da Pascal Paillier tarafından geliştirilen olasılıksal açık anahtarlı şifreleme yöntemidir. n’inci kök sınıflarını hesaplamanın zorluğunu kullanan Paillier şifreleme sistemi, kararsal bileşik kök sınıfı varsayımı üzerine kurulmuştur. Sistem, toplama işlemine göre homomorfik özellik gösterir; yani sadece açık anahtarı, ve ’nin şifrelemesini kullanarak ’nin şifrelenmiş hâli hesaplanabilir.

<span class="mw-page-title-main">Kriptografik özet fonksiyonu</span>

Kriptografik özet fonksiyonu çeşitli güvenlik özelliklerini sağlayan bir özet fonksiyonudur. Veriyi belirli uzunlukta bir bit dizisine, (kriptografik) özet değerine, dönüştürür. Bu dönüşüm öyle olmalıdır ki verideki herhangi bir değişiklik özet değerini değiştirmelidir. Özetlenecek veri mesaj, özet değeri ise mesaj özeti veya kısaca özet olarak da adlandırılı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.

<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.

<span class="mw-page-title-main">SP ağı</span>

Kriptografide, SP-network ya da koyma-değiştirme ağı(SPN), AES (Rijndael), 3-Way, Kuznyechik, PRESENT, SAFER, SHARK ve Square gibi gibi blok şifreleme algoritmalarında kullanılan bir dizi bağlantılı matematiksel işlemdir.

Kriptografide En İyi Asimetrik Şifreleme Doldurması (OAEP), bir doldurma (padding) şemasıdır ve sık sık RSA şifreleme ile birlikte kullanılır. OAEP, Bellare ve Rogaway tarafından tanıtılmıştır, ve daha sonra standart olarak PKCS#1 v2 ve RFC 2437'de yer verildi.

<span class="mw-page-title-main">Tek anahtarlı mesaj doğrulama kodu</span>

Tek anahtarlı mesaj doğrulama kodu, CBC-MAC algoritmasına benzer bir blok şifresinden oluşturulan bir mesaj kimlik doğrulama kodudur.

<span class="mw-page-title-main">CBC-MAC</span> Doğrulama kodu oluşturma sistemi

Kriptografide, CBC-MAC, bir blok şifreleme ile mesaj kimlik doğrulama kodu oluşturmak için kullanılır. Mesaj, her blok önceki bloğun düzgün şifrelenmesine bağlı olacak şekilde, bir blok zinciri oluşturmak için CBC kipinde bir blok şifreleme algoritmasıyla şifrelenir. Bu bağlılık sayesinde, şifresiz metnin herhangi bir bitinde yapılan değişikliğin, şifrelenmiş son bloğun, blok şifreleme anahtarı bilinmeden tahmin edilmesini veya etkisiz hale getirilmesini engeller.

<span class="mw-page-title-main">Simon (şifreleme)</span>

Simon, Haziran 2013'te Ulusal Güvenlik Ajansı (NSA) tarafından halka açık bir şekilde yayınlanmış bir hafif blok şifreleme ailesidir. Simon, donanım uygulamaları için optimize edilmişken, kardeş algoritması Speck, yazılım uygulamaları için optimize edilmiştir.

Kriptografide, biçim korumalı şifreleme, çıktı ve giriş aynı formatta olacak şekilde şifreleme anlamına gelir. "Biçim" in anlamı değişir. Biçimin anlamı için tipik olarak sadece sonlu alanlar tartışılır, örneğin:

<span class="mw-page-title-main">GOST (blok şifresi)</span>

GOST 28147-89 standardında tanımlanan GOST blok şifresi (Magma), blok boyutu 64 bit olan bir Sovyet ve Rus hükûmeti standardı simetrik anahtar blok şifresidir. 1989'da yayınlanan orijinal standart, şifreye herhangi bir isim vermemiştir, ancak standardın en son revizyonu olan GOST R 34.12-2015, bunun Magma olarak adlandırılabileceğini belirtir. GOST karma işlevi bu şifreye dayanmaktadır. Yeni standart ayrıca Kuznyechik adlı yeni bir 128 bitlik blok şifrelemeyi de belirtir.

Seçilmiş şifreli metin saldırısı, kriptanalistin seçilen şifrelerin şifresini çözerek bilgi toplayabileceği kriptanaliz için bir saldırı modelidir. Bu bilgi parçalarından, saldırgan, şifre çözmek için kullanılan örtülü-gizli anahtarı kurtarmaya çalışabilir.

<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.

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.

Kriptografide, bir çarpım şifresi veya birleşik şifreleme, iki veya daha fazla dönüşümü, ortaya çıkan şifrenin kriptanalize karşı dirençli hale getirmek için tekil bileşenlerden daha güvenli olmasını amaçlayan bir şekilde birleştirir. Çarpım şifresi, yerine koyma (S-box), permütasyon (P-box) ve modüler aritmetik gibi bir dizi basit dönüşümü birleştirir. Çarpım şifreleri kavramı, bu fikri Gizlilik Sistemlerinin İletişim Teorisi adlı temel makalesinde sunan Claude Shannon'a dayanmaktadır. Tüm kurucu dönüşüm işlevlerinin aynı yapıya sahip olduğu belirli bir çarpım şifresi tasarımına yinelemeli şifre denir ve işlevlerin kendilerine "döngü" terimi uygulanır.

Kriptografide bir döngü, çevrim, tur veya döngü fonksiyonu algoritma içinde birçok kez tekrarlanan (yinelemeli) temel bir dönüşümdür. Büyük bir algoritmik işlevi döngülere bölmek hem uygulamayı hem de kriptanalizi basitleştirir.

<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.