Kesintisiz şifreleme - Stream cipher

Operasyonu anahtar akışı jeneratör A5 / 1, cep telefonu görüşmelerini şifrelemek için kullanılan LFSR tabanlı bir akış şifresi.

Bir kesintisiz şifreleme bir simetrik anahtar şifre düz metin rakamlarının bir ile birleştirildiği sözde rasgele basamaklı şifreleme akışı (anahtar akışı ). Bir akış şifresinde, her biri düz metin hane anahtar akışının bir basamağını vermek için anahtar akışının karşılık gelen basamağıyla birer birer şifrelenir. şifreli metin Akış. Her bir rakamın şifrelenmesi şifrenin mevcut durumuna bağlı olduğundan, aynı zamanda devlet şifresi. Pratikte, bir rakam tipik olarak bir bit ve birleştirme işlemi bir özel veya (XOR).

Sözde rasgele anahtar akışı, tipik olarak dijital kullanılarak rastgele bir çekirdek değerden seri olarak üretilir. vardiya kayıtları. tohum değeri olarak hizmet eder şifreleme anahtarı şifreli metin akışının şifresini çözmek için. Akış şifreleri, simetrik şifrelemeye farklı bir yaklaşımı temsil eder. blok şifreleri. Blok şifreler, sabit, değişmeyen bir dönüşümle büyük rakam blokları üzerinde çalışır. Bu ayrım her zaman net değildir: bazılarında operasyon modları, bir blok şifreleme ilkeli, bir akış şifresi olarak etkili bir şekilde davranacak şekilde kullanılır. Akış şifreleri genellikle blok şifrelere göre daha yüksek hızda çalışır ve daha düşük donanım karmaşıklığına sahiptir. Ancak, akış şifreleri yanlış kullanılırsa ciddi güvenlik sorunlarına maruz kalabilir (bkz. akış şifreleme saldırıları ); özellikle, aynı başlangıç ​​durumu (tohum) asla iki kez kullanılmamalıdır.

Tek seferlik pedden gevşek ilham

Akış şifreleri, kanıtlanmış kırılmaz bir şifrenin eylemine yaklaşıyor olarak görülebilir. Bir defalık ped (OTP). Tek seferlik bir ped, anahtar akışı tamamen rastgele rakamlar. Anahtar akışı, şifreli metni oluşturmak için her seferinde bir tane olmak üzere düz metin rakamlarıyla birleştirilir. Bu sistemin güvenli olduğu kanıtlandı Claude E. Shannon Ancak, anahtar akışı en azından düz metinle aynı uzunlukta tamamen rastgele üretilmelidir ve birden fazla kullanılamaz. Bu, sistemin birçok pratik uygulamada uygulanmasını hantal hale getirir ve sonuç olarak, tek seferlik ped, en kritik uygulamalar dışında yaygın olarak kullanılmamıştır. Bu uygulamalar için anahtar üretimi, dağıtımı ve yönetimi kritiktir.

Bir akış şifresi, 128 bit gibi çok daha küçük ve daha kullanışlı bir anahtarı kullanır. Bu anahtara dayalı olarak, düz metin rakamlarıyla tek seferlik pede benzer bir şekilde birleştirilebilen sözde rasgele bir anahtar dizisi oluşturur. Ancak bunun bir bedeli vardır. Anahtar akışı artık sözde rastgele ve bu nedenle gerçekten rastgele değil. Tek seferlik kullanım alanıyla ilişkili güvenlik kanıtı artık geçerli değildir. Bir akış şifresinin tamamen güvensiz olması oldukça olasıdır.

Türler

Bir akış şifresi, bir iç duruma bağlı olarak anahtar dizisinin ardışık öğelerini üretir. Bu durum esasen iki şekilde güncellenir: eğer durum düz metinden bağımsız olarak değişirse veya şifreli metin mesajlar, şifre bir senkron kesintisiz şifreleme. Aksine, kendi kendini senkronize eden akım şifreleri önceki şifreli metin rakamlarına göre durumlarını günceller.

Eşzamanlı akış şifreleri

Lorenz SZ şifresi İkinci Dünya Savaşı sırasında Alman ordusu tarafından kullanılan makine

İçinde eşzamanlı akış şifresi düz metin ve şifreli metin mesajlarından bağımsız olarak bir sözde rastgele rakam akışı oluşturulur ve daha sonra düz metin (şifrelemek için) veya şifreli metin (şifresini çözmek için) ile birleştirilir. En yaygın biçimde, ikili rakamlar kullanılır (bitler ) ve anahtar akışı, kullanılarak düz metin ile birleştirilir. özel veya operasyon (XOR). Bu a olarak adlandırılır ikili katkı akışı şifresi.

Eşzamanlı bir akış şifresinde, şifre çözmenin başarılı olması için gönderen ve alıcının tam olarak adım adım olması gerekir. İletim sırasında mesaja rakamlar eklenir veya çıkarılırsa, senkronizasyon kaybolur. Senkronizasyonu geri yüklemek için, doğru şifre çözmeyi elde etmek için çeşitli ofsetler sistematik olarak denenebilir. Diğer bir yaklaşım, şifreli metni çıktıdaki normal noktalardaki işaretçilerle etiketlemektir.

Bununla birlikte, iletimde bir rakam eklenmesi veya kaybolması yerine bozulursa, düz metindeki sadece tek bir rakam etkilenir ve hata mesajın diğer kısımlarına yayılmaz. Bu özellik, iletim hatası oranı yüksek olduğunda yararlıdır; bununla birlikte, hatanın başka mekanizmalar olmadan tespit edilmesi olasılığını azaltır. Dahası, bu özellik nedeniyle eşzamanlı akış şifreleri çok hassastır. aktif saldırılar: bir saldırgan şifreli metindeki bir rakamı değiştirebiliyorsa, karşılık gelen düz metin bitinde öngörülebilir değişiklikler yapabilir; örneğin, şifreli metinde bir bit çevirmek, düz metinde aynı bitin ters çevrilmesine neden olur.

Kendi kendini senkronize eden akış şifreleri

Başka bir yaklaşım, öncekilerden birkaçını kullanır N anahtar akışını hesaplamak için şifreli metin basamakları. Bu tür şemalar olarak bilinir kendi kendini senkronize eden akış şifreleri, zaman uyumsuz akış şifreleri veya şifreli otomatik anahtar (CTAK). Kendi kendine senkronizasyon fikri 1946'da patentlendi ve alıcının, alındıktan sonra anahtar akışı oluşturucu ile otomatik olarak senkronize edilmesi avantajına sahiptir. N şifreli metin rakamları, mesaj akışına rakamlar bırakıldığında veya eklendiğinde kurtarmayı kolaylaştırır. Tek basamaklı hataların etkileri sınırlıdır, yalnızca en fazla N düz metin rakamları.

Kendi kendini senkronize eden bir akış şifrelemesine bir örnek, içindeki bir blok şifresidir. şifre geri bildirimi (CFB) mod.

Doğrusal geri beslemeli kayma kayıtlarına dayalı

İkili akış şifreleri genellikle kullanılarak oluşturulur doğrusal geri beslemeli kayan yazmaçlar (LFSR'ler) çünkü bunlar donanımda kolayca uygulanabilirler ve matematiksel olarak kolayca analiz edilebilirler. Bununla birlikte, LFSR'lerin tek başına kullanılması, iyi bir güvenlik sağlamak için yetersizdir. LFSR'lerin güvenliğini artırmak için çeşitli planlar önerilmiştir.

Doğrusal olmayan birleştirme fonksiyonları

Bir yaklaşım kullanmaktır n LFSR'ler paralel olarak, çıktıları bir n-input ikili Boole fonksiyonu (F).

LFSR'ler doğası gereği doğrusal olduğundan, doğrusallığı ortadan kaldırmaya yönelik bir teknik, birkaç paralel LFSR'nin çıktılarını doğrusal olmayan Boole işlevi oluşturmak için kombinasyon üreteci. Böyle bir birleştirme işlevi örneğin, ortaya çıkan şemanın güvenliğini sağlamak için kritiktir. korelasyon saldırıları.

Saat kontrollü jeneratörler

Normalde LFSR'ler düzenli olarak kademelendirilir. Doğrusalsızlığı uygulamaya koymaya yönelik bir yaklaşım, ikinci bir DGKY'nin çıktısı ile kontrol edilerek, LFSR'nin düzensiz olarak saatlenmesini sağlamaktır. Bu tür jeneratörler şunları içerir: dur-kalk jeneratörü, alternatif adım üreteci ve küçülen jeneratör.

Bir alternatif adım üreteci kolaylık sağlamak için LFSR0, LFSR1 ve LFSR2 olarak adlandıracağımız üç LFSR'den oluşur. Kayıtlardan birinin çıktısı, diğer ikisinden hangisinin kullanılacağına karar verir; örneğin, LFSR2 bir 0 çıkarsa, LFSR0 saat hızına sahiptir ve bir 1 çıktısı verirse, bunun yerine LFSR1 saat hızına sahiptir. Çıktı, LFSR0 ve LFSR1 tarafından üretilen son bitin özel VEYA'sıdır. Üç LFSR'nin başlangıç ​​durumu anahtardır.

Dur-kalk üreteci (Beth ve Piper, 1984) iki DGKY'den oluşur. Bir saniyenin çıktısı 1 ise bir DGKY zamanlanır, aksi takdirde önceki çıktısını tekrarlar. Bu çıktı daha sonra (bazı versiyonlarda) düzenli bir hızda saatlenmiş üçüncü bir DGKY çıktısı ile birleştirilir.

küçülen jeneratör farklı bir yaklaşım benimsiyor. Her ikisi de düzenli olarak saat ayarlı iki DGKY kullanılmaktadır. Birinci LFSR'nin çıktısı 1 ise, ikinci DGKY'nin çıktısı, jeneratörün çıktısı olur. Bununla birlikte, birinci LFSR 0 çıkarsa, ikincinin çıktısı atılır ve jeneratör tarafından hiçbir bit çıktısı alınmaz. Çıkışın hızı, ikinci jeneratörün durumuna bağlı bir şekilde değiştiğinden, bu mekanizma ikinci jeneratöre zamanlama saldırılarından muzdariptir. Bu, çıktıyı tamponlayarak hafifletilebilir.

Filtre üreteci

Bir LFSR'nin güvenliğini iyileştirmeye yönelik başka bir yaklaşım, tek bir LFSR'nin tüm durumunu doğrusal olmayan filtreleme işlevi.

Diğer tasarımlar

RC4 en yaygın kullanılan akış şifreleme tasarımlarından biridir.

Doğrusal bir sürüş cihazı yerine, doğrusal olmayan bir güncelleme işlevi kullanılabilir. Örneğin, Klimov ve Shamir üçgen işlevler önerdi (T fonksiyonları ) n-bit kelimelerde tek bir döngü ile.

Güvenlik

Bir akış şifresinin güvenli olması için anahtar akışının büyük bir dönem ve imkansız olmalı şifrenin anahtarını kurtar veya anahtar akışından dahili durum. Kriptograflar ayrıca anahtar akışının saldırganlara izin verecek ince önyargılardan bile uzak olmasını talep ediyor ayırmak rastgele gürültüden gelen ve karşılık gelen anahtar akışları arasında saptanabilir ilişkiler bulunmayan bir akış ilgili anahtarlar Veya ilgili kriptografik eşyalar. Bu tüm anahtarlar için doğru olmalı (olmamalı zayıf anahtarlar ), saldırgan yapabilse bile bilmek veya Seç biraz düz metin veya şifreli metin.

Kriptografideki diğer saldırılarda olduğu gibi, akış şifreleme saldırıları da belgelendirici bu nedenle, şifreyi kırmanın pratik yolları olmak zorunda değildir, ancak şifrenin başka zayıf yönleri olabileceğini gösterir.

Güvenli bir eşzamanlı akış şifresinin güvenli bir şekilde kullanılması, aynı anahtar akışının iki kez tekrar kullanılmamasını gerektirir. Bu genellikle farklı bir Nonce veya şifrenin her çağrılmasında anahtar sağlanmalıdır. Uygulama tasarımcıları, çoğu akış şifresinin özgünlük fakat gizlilik: şifrelenmiş mesajlar aktarım sırasında hala değiştirilmiş olabilir.

Akış şifreleri için kısa süreler pratik bir endişe kaynağı olmuştur. Örneğin, 64 bitlik blok şifreleri gibi DES bir anahtar dizisi oluşturmak için kullanılabilir çıktı geri bildirimi (OFB) modu. Bununla birlikte, tam geri bildirim kullanılmadığında, ortaya çıkan akış yaklaşık 232 ortalama bloklar; birçok uygulama için bu süre çok düşüktür. Örneğin, şifreleme 8 hızında yapılıyorsa megabayt saniyede, periyot 2 akışı32 bloklar yaklaşık yarım saat sonra tekrarlanacaktır.[şüpheli ]

Akış şifresini kullanan bazı uygulamalar RC4 RC4'ün temel kurulum rutinindeki zayıflıklar nedeniyle saldırıya açık; yeni uygulamalar RC4'ten kaçınmalı veya tüm anahtarların benzersiz ve ideal şekilde olduğundan emin olmalıdır ilgisiz (iyi tohumlanmış bir CSPRNG veya a kriptografik karma işlevi ) ve anahtar akışının ilk baytlarının atılması.

Akış şifrelerinin unsurlarını anlamak genellikle blok şifrelere göre çok daha basittir ve bu nedenle herhangi bir kazara veya kötü niyetli zayıflığı gizleme olasılığı daha düşüktür.

Kullanım

Akış şifreleri genellikle hızları ve donanımdaki uygulama basitliği için ve düz metnin güvenli bir şekilde bilinmeyen uzunlukta miktarlarda geldiği uygulamalarda kullanılır. kablosuz bağ. Eğer bir blok şifreleme (bir akım şifreleme modunda çalışmayan) bu tür bir uygulamada kullanılacaksa, tasarımcının iletim verimliliğini veya uygulama karmaşıklığını seçmesi gerekir, çünkü blok şifreleri blok boyutlarından daha kısa bloklar üzerinde doğrudan çalışamaz. Örneğin, 128 bitlik bir blok şifresi ayrı ayrı 32 bitlik düz metin patlamaları alırsa, iletilen verilerin dörtte üçü dolgu malzemesi. Blok şifreleri kullanılmalıdır şifreli metin çalma veya artık blok sonlandırma Dolgu modundan kaçınmak için mod, akış şifreleri ise iletilebilen en küçük birimde (genellikle bayt) doğal olarak çalışarak bu sorunu ortadan kaldırır.

Askeri kriptografide akış şifrelerinin bir başka avantajı, şifreleme akışının katı güvenlik önlemlerine tabi ayrı bir kutuda üretilebilmesi ve işlevlerinin bir parçası olarak xor işlemini gerçekleştirecek olan bir radyo seti gibi diğer cihazlara beslenebilmesidir. İkinci cihaz daha sonra daha az katı ortamlarda tasarlanabilir ve kullanılabilir.

ChaCha yazılımda en yaygın kullanılan akış şifresi haline geliyor[1]; diğerleri şunları içerir: RC4,A5 / 1,A5 / 2,Bukalemun, BALIK, Sarmal,ISAAC, MUGI,Panama,Phelix, Turna balığı,Salsa20,MÜHÜR, SOBER,SOBER-128,veUYANMAK.

Karşılaştırma

Akış
şifre
Yaratılış
tarih
Hız
(bayt başına döngü )
(bit)Saldırı
Etkili
anahtaruzunluk
Başlatma vektörüİç
durum
En iyi bilinenHesaplamalı
karmaşıklık
A5 / 11989?54 veya 64 (içinde 2G )22 (2G'de)64Aktif KPA VEYA
KPA zaman-hafıza değiş tokuşu
~ 2 saniye VEYA
239.91
A5 / 21989?5411464?Aktif4.6 milisaniye
Achterbahn-128/8020061 (donanım)80/12880/128297/351Çerçeve uzunlukları için kaba kuvvet L ≤ 244. İçin korelasyon saldırısı L ≥ 248.280 resp. 2128 için L ≤ 244.
CryptMT2005?Değişken19968'e kadar19968Yok (2008)Yok (2008)
BALIK1993?Değişken??Bilinen düz metin saldırısı211
Tane2004 öncesi?8064160Anahtar türetme243
HC-2562004 öncesi4 (WP4)25625665536??
ISAAC19962.375 (W64 bit)
4.6875 (W32 bit)
8–8288
(genellikle 40–256)
Yok8288(2006) Birinci tur
zayıf iç durum türetme
4.67×101240 (2001)
MUGI1998–2002?1281281216Yok (2002)~ 282
PANAMA19982256128?1216?Karma çarpışmalar (2001)282
Phelix2004 öncesi8'e kadar (Wx86)256 + 128 bit Nonce128??Diferansiyel (2006)237
Turna balığı1994?Değişken??Yok (2004)Yok (2004)
Py2004 öncesi2.68–2048?
(genellikle 40–256?)
648320Kriptanalitik teori (2006)275
Tavşan2003 Şubat3.7(WP3) – 9.7(WARM7)12864512Yok (2006)Yok (2006)
RC419877 WP5[2]8–2048
(genellikle 40–256)
RC4 bir IV almaz. Bir IV arzuluyorsa, bir şekilde anahtara karıştırılmalıdır.2064Shamir ilk baytlar anahtar türetme VEYA KPA213 VEYA 233
Salsa202004 öncesi4.24 (WG4)
11.84 (WP4)
25664-bit nonce + 64-bit akış konumu512Olasılıksal nötr bit yöntemi2251 8 tur için (2007)
Çığlık20024–5 (Wyumuşak)128 + 128 bitlik bir32?64 bit yuvarlak işlev??
MÜHÜR1997??32????
KAR2003 öncesi?128 veya 25632???
SOBER-1282003?128'e kadar??Mesaj forge2−6
SOSEMANUK2004 öncesi?128128???
Trivium2004 öncesi4 (Wx86)
8 (WLG)
8080288Kaba kuvvet saldırısı (2006)2135
Turing2000–20035.5 (Wx86)?160???
YELEK200542 (WASIC)
64 (WFPGA)
Değişken
(genellikle 80–256)
Değişken
(genellikle 80–256)
256–800Yok (2006)Yok (2006)
UYANMAK1993???8192CPA & CCASavunmasız
Akış
şifre
Yaratılış
tarih
Hız
(bayt başına döngü )
(bit)Saldırı
Etkili
anahtaruzunluk
Başlatma vektörüİç
durum
En iyi bilinenHesaplamalı
karmaşıklık

Önemsiz şeyler

Ayrıca bakınız

Notlar

  1. ^ https://blog.cloudflare.com/do-the-chacha-better-mobile-performance-with-cryptography/
  2. ^ P. Prasithsangaree ve P. Krishnamurthy (2003). "Kablosuz LAN'larda RC4 ve AES Algoritmalarının Enerji Tüketiminin Analizi" (PDF). Arşivlenen orijinal (PDF) 2013-12-03 tarihinde. Alıntı dergisi gerektirir | günlük = (Yardım)

Referanslar

  • Matt J. B. Robshaw, Stream Ciphers Technical Report TR-701, version 2.0, RSA Laboratories, 1995 (PDF).
  • Beth, Thomas; Piper, Fred (1985). Dur ve Git Jeneratörü (PDF). EUROCRYPT '84. sayfa 88–92. doi:10.1007/3-540-39757-4_9.
  • Christof Paar, Jan Pelzl, "Akış Şifreleri" "Kriptografiyi Anlamak, Öğrenciler ve Uygulayıcılar için Bir Ders Kitabı", Bölüm 2. (yardımcı web sitesi, akış şifrelerini ve LFSR'yi kapsayan çevrimiçi kriptografi kursunu içerir), Springer, 2009.

Dış bağlantılar