McEliece şifreleme sistemi - McEliece cryptosystem

İçinde kriptografi, McEliece şifreleme sistemi bir asimetrik şifreleme algoritması 1978 yılında Robert McEliece.[1] Kullanılacak bu tür ilk şema buydu rastgeleleştirme şifreleme sürecinde. Algoritma, kriptografik toplulukta hiçbir zaman fazla kabul görmedi, ancak "kuantum sonrası kriptografi ", kullanarak saldırılara karşı bağışık olduğu için Shor'un algoritması ve - daha genel olarak - Fourier örneklemesini kullanarak koset durumlarını ölçmek.[2]

Algoritma şunun sertliğine dayanmaktadır kod çözme bir genel doğrusal kod (olduğu bilinen NP-zor[3]). Özel anahtarın açıklaması için bir hata düzeltme kodu etkin bir kod çözme algoritmasının bilindiği ve bunu düzeltebilen hatalar. Orijinal algoritma kullanır ikili Goppa kodları (geometrik alt alan kodları Goppa kodları karakteristik 2) 'nin sonlu alanları üzerinde bir cins-0 eğrisi; Patterson'dan kaynaklanan bir algoritma sayesinde bu kodlar verimli bir şekilde çözülebilir.[4] Genel anahtar, seçilen kodu genel bir doğrusal kod olarak gizleyerek özel anahtardan türetilir. Bunun için kodun jeneratör matrisi rastgele seçilen iki ters çevrilebilir matris tarafından tedirgin edilir ve (aşağıya bakınız).

Bu şifreleme sisteminin çeşitleri, farklı kod türleri kullanılarak mevcuttur. Çoğunun daha az güvenli olduğu kanıtlandı; tarafından kırıldılar yapısal kod çözme.

Goppa kodlu McEliece şimdiye kadar kriptanalize direndi. Bilinen en etkili saldırılar bilgi seti kod çözme algoritmalar. Bir 2008 belgesi hem bir saldırıyı hem de bir düzeltmeyi anlatıyor.[5] Başka bir makale, kuantum hesaplama için, bilgi seti kod çözmedeki gelişmeler nedeniyle anahtar boyutlarının dört kat artırılması gerektiğini gösteriyor.[6]

McEliece şifreleme sisteminin bazı avantajları vardır, örneğin, RSA. Şifreleme ve şifre çözme daha hızlıdır.[7] Uzun zamandır McEliece'nin üretim yapmak için kullanılamayacağı düşünülüyordu. imzalar. Bununla birlikte, bir imza şeması temel alınarak oluşturulabilir. Niederreiter şema, McEliece şemasının ikili varyantı. McEliece'nin ana dezavantajlarından biri, özel ve genel anahtarların büyük matrisler olmasıdır. Standart bir parametre seçimi için, genel anahtar 512 kilobit uzunluğundadır.

Şema tanımı

McEliece üç algoritmadan oluşur: bir genel ve bir özel anahtar üreten olasılıklı bir anahtar oluşturma algoritması, olasılıklı şifreleme algoritması ve deterministik bir şifre çözme algoritması.

Bir McEliece dağıtımındaki tüm kullanıcılar bir dizi ortak güvenlik parametresini paylaşır: .

Anahtar oluşturma

Prensip, Alice'in doğrusal bir kod seçmesidir. verimli bir kod çözme algoritması bildiği bazı kodlar ailesinden ve kamuya açık bilgiler ancak kod çözme algoritmasını gizli tutun. Böyle bir kod çözme algoritması sadece bilmeyi gerektirmez , rasgele bir jeneratör matrisini bilmek anlamında, ancak birinin belirtilirken kullanılan parametreleri bilmesini gerektirir seçilen kodlar ailesinde. Örneğin, ikili Goppa kodları için, bu bilgi Goppa polinomu ve kod yer belirleyicileri olacaktır. Bu nedenle Alice, uygun şekilde gizlenmiş bir jeneratör matrisini yayınlayabilir. alenen.

Daha spesifik olarak, adımlar aşağıdaki gibidir:

  1. Alice bir ikili dosya seçer -doğrusal kod (verimli) düzeltme yeteneğine sahip bazı büyük kod ailesinden gelen hatalar, ör. ikili Goppa kodları. Bu seçim, verimli bir kod çözme algoritmasına yol açmalıdır . Ayrıca herhangi bir jeneratör matrisi olabilir . Herhangi bir doğrusal kodun birçok üretici matrisi vardır, ancak çoğu zaman bu kod ailesi için doğal bir seçim vardır. Bunun ortaya çıkacağını bilmek bu yüzden gizli tutulmalıdır.
  2. Alice rastgele seçer ikili tekil olmayan matris .
  3. Alice rastgele seçer permütasyon matrisi .
  4. Alice hesaplar matris .
  5. Alice'in genel anahtarı ; onun özel anahtarı . Bunu not et seçim için kullanılan parametreler olarak kodlanabilir ve saklanabilir .

Mesaj şifreleme

Diyelim ki Bob bir mesaj göndermek istiyor m açık anahtarı olan Alice'e :

  1. Bob mesajı kodluyor ikili uzunluk dizisi olarak .
  2. Bob vektörü hesaplar .
  3. Bob rastgele üretir -bit vektör tam olarak içeren olanlar (uzunluk vektörü ve ağırlık )[1]
  4. Bob şifreli metni şu şekilde hesaplar: .

Mesaj şifre çözme

Alındıktan sonra Alice, mesajın şifresini çözmek için aşağıdaki adımları gerçekleştirir:

  1. Alice, tersini hesaplar (yani ).
  2. Alice hesaplar .
  3. Alice, kod çözme algoritmasını kullanır çözmek için -e .
  4. Alice hesaplar .

Mesaj şifre çözme kanıtı

Bunu not et ,ve şu bir permütasyon matrisidir, dolayısıyla ağırlığı var .

Goppa kodu kadar düzeltebilir hatalar ve kelime en fazla uzakta itibaren . Bu nedenle, doğru kod sözcüğü elde edildi.

Tersi ile çarpma verir , düz metin mesajıdır.

Anahtar boyutları

McEliece başlangıçta şu güvenlik parametresi boyutlarını önerdi: ,[1] 524 * (1024−524) = 262.000 bit genel anahtar boyutuyla sonuçlanır[açıklama gerekli ]. Son analiz, parametre boyutlarını önermektedir. 80 için güvenlik bitleri standart cebirsel kod çözme kullanılırken veya Goppa kodu için liste kod çözme kullanıldığında, sırasıyla 520,047 ve 460,647 bitlik genel anahtar boyutlarına yol açar.[5] Kuantum bilgisayarlara karşı dayanıklılık için, boyutları 8,373,911 bitlik genel anahtar boyutu veren Goppa kodu önerildi.[8]

Saldırılar

Saldırı, açık anahtarı bilen bir düşmandan oluşur ancak gizli anahtar değil, düz metni ele geçirilen bazı şifreli metinlerden çıkararak . Bu tür girişimler gerçekleştirilemez olmalıdır.

McEliece için iki ana saldırı dalı vardır:

Kaba kuvvet / Yapılandırılmamış saldırılar

Saldırgan bilir hangisinin üreteç matrisi kodu kombinasyonel olarak düzeltebilen Saldırgan şu gerçeği göz ardı edebilir: gerçekten belirli bir aileden seçilen yapılandırılmış bir kodun gizlenmesidir ve bunun yerine herhangi bir doğrusal kodla kod çözme için bir algoritma kullanır. Kodun her bir kod sözcüğünden geçmek gibi bu tür birkaç algoritma vardır, sendrom kod çözme veya bilgi seti kod çözme.

Bununla birlikte, genel bir doğrusal kodu çözmenin, NP-zor,[3] ancak ve yukarıda bahsedilen yöntemlerin tümü üssel çalışma süresine sahiptir.

2008'de Bernstein, Lange ve Peters[5] Stern'ün Bilgi Kümesi Kod Çözme yöntemini kullanarak orijinal McEliece şifreleme sistemine pratik bir saldırıyı anlattı.[9]Başlangıçta McEliece tarafından önerilen parametreleri kullanarak, saldırı 2'de gerçekleştirilebilir.60.55 bit işlemleri. Saldırı olduğu için utanç verici derecede paralel (düğümler arasında iletişim gerekli değildir), mütevazı bilgisayar kümelerinde günler içinde gerçekleştirilebilir.

Yapısal saldırılar

Saldırgan, bunun "yapısını" kurtarmaya çalışabilir. , böylece verimli kod çözme algoritmasının kurtarılması veya yeterince güçlü, verimli bir kod çözme algoritması.

Hangi kod ailesi seçilmesi, bunun saldırgan için mümkün olup olmadığını tamamen belirler. McEliece için birçok kod ailesi önerilmiştir ve bunların çoğu, örneğin verimli bir kod çözme algoritmasını kurtaran saldırılar bulunması anlamında tamamen "kırılmıştır". Reed-Solomon kodları.

Başlangıçta önerilen ikili Goppa kodları, yapısal saldırılar tasarlama girişimlerine büyük ölçüde direnen birkaç önerilen kod ailesinden biri olmaya devam ediyor.

Referanslar

  1. ^ a b c McEliece, Robert J. (1978). "Cebirsel Kodlama Teorisine Dayalı Açık Anahtarlı Bir Şifreleme Sistemi" (PDF). DSN İlerleme Raporu. 44: 114–116. Bibcode:1978DSNPR..44..114M.
  2. ^ Dinh, Asın; Moore, Cristopher; Russell, Alexander (2011). Rogaway, Philip (ed.). Kuantum Fourier örnekleme saldırılarına direnen McEliece ve Niederreiter şifreleme sistemleri. Kriptolojideki Gelişmeler - CRYPTO 2011. Bilgisayar Bilimi Ders Notları. 6841. Heidelberg: Springer. sayfa 761–779. doi:10.1007/978-3-642-22792-9_43. ISBN  978-3-642-22791-2. BAY  2874885.
  3. ^ a b Berlekamp, ​​Elwyn R .; McEliece, Robert J .; Van Tilborg, Henk C.A. (1978). "Bazı Kodlama Sorunlarının Doğasında Bulunan İnatçılık Üzerine". Bilgi Teorisi Üzerine IEEE İşlemleri. IT-24 (3): 384–386. doi:10.1109 / TIT.1978.1055873. BAY  0495180.
  4. ^ N. J. Patterson (1975). "Goppa kodlarının cebirsel kod çözümü". Bilgi Teorisi Üzerine IEEE İşlemleri. IT-21 (2): 203–207. doi:10.1109 / TIT.1975.1055350.
  5. ^ a b c Bernstein, Daniel J .; Lange, Tanja; Peters, Christiane (8 Ağustos 2008). McEliece şifreleme sistemine saldırı ve savunma. Proc. 2. Uluslararası Post Kuantum Kriptografi Çalıştayı. Bilgisayar Bilimlerinde Ders Notları. 5299. sayfa 31–46. CiteSeerX  10.1.1.139.3548. doi:10.1007/978-3-540-88403-3_3. ISBN  978-3-540-88402-6.
  6. ^ Bernstein, Daniel J. (2010). Sendrier Nicolas (ed.). Grover ve McEliece (PDF). Post-kuantum kriptografi 2010. Bilgisayar Bilimleri Ders Notları. 6061. Berlin: Springer. sayfa 73–80. doi:10.1007/978-3-642-12929-2_6. ISBN  978-3-642-12928-5. BAY  2776312.
  7. ^ "eBATS: ECRYPT Asimetrik Sistemlerin Kıyaslanması". bench.cr.yp.to. 25 Ağustos 2018. Alındı 1 Mayıs 2020.
  8. ^ Daniel Augot; et al. (7 Eylül 2015). "Uzun vadeli güvenli post-kuantum sistemlerin ilk önerileri" (PDF). PQCRYPTO: Uzun Süreli Güvenlik için Kuantum Sonrası Kriptografi.
  9. ^ Jacques Stern (1989). Küçük ağırlıklı kod sözcükleri bulmak için bir yöntem. Kodlama Teorisi ve Uygulamaları. Bilgisayar Bilimlerinde Ders Notları. 388. Springer Verlag. s. 106–113. doi:10.1007 / BFb0019850. ISBN  978-3-540-51643-9.

Dış bağlantılar