Rabbitszyfr strumieniowy o wysokiej prędkości zaprezentowany w lutym 2003 na dziesiątych warsztatach FSE. W maju 2005 został wysłany do projektu eSTREAM sieci ECRYPT.

Rabbit został zaprojektowany przez Martina Boesgaarda, Mette Vesteragera, Thomasa Pedersena, Jespera Christiansena, Erika Zennera i Ove Scaveniusa.

Rabbit korzysta z 128-bitowego klucza i 64-bitowego wektora inicjalizacji. Zaprojektowany został z myślą o dużej wydajności w oprogramowaniu, gdzie w pełni zoptymalizowane impementacje osiągają prędkość 3.7 cykli na bajt na Pentium 3 i 9.7 cykli na bajt na procesorze ARM7. Szyfr jest także optymalny do zastosowań sprzętowych.

Głównym komponentem szyfru jest generator strumienia bajtów który szyfruje 128 bitów wiadomości na iterację. Siła szyfru tkwi w mocnym mieszaniu stanu wewnętrznego pomiędzy następnymi iteracjami. Funkcja mieszająca jest w całości oparta na operacjach arytmetycznych dostępnych na nowoczesnym procesorze, czyli nie występują S-boksy ani potrzeba korzystania z tablicowania.

Autorzy szyfru udostępnili pełny zestaw dokumentów kryptoanalitycznych na stronie Cryptico. Szyfr jest także opisany w RFC 4503 ↓. Cryptico miało oczekujące patenty na algorytm i przez wiele lat wymagało opłaty licencyjnej za komercyjne wykorzystanie szyfru. Został on jednak udostępniony za darmo w październiku 2008.

Bezpieczeństwo

Rabbit zakłada 128-bitowe bezpieczeństwo przeciwko atakom, których celem jest jeden konkretny klucz. Jeśli jednak atakowanych jest wiele kluczy naraz i nie jest istotne, który zostanie złamany, mały rozmiar wektora inicjalizacji skutkuje zredukowanym poziomem bezpieczeństwa do 96 bitów. Spowodowane jest to ogólnym atakiem TMD trade-off.

Istnieje drobne przekłamanie w wyjściu Rabbita, umożliwiające uzyskanie wyróżnika z trudnością 2247, odkryte przez Jean-Philippe Aumassona w grudniu 2006. Mimo że udało się poprawić atak do 2158, nie jest to zagrożeniem bezpieczeństwa szyfru, gdyż zaatakowanie go w ten sposób jest trudniejsze niż metoda brute force(2128).

Przypisy

  1. M. Boesgaard, M. Vesterager, T. Pedersen, J. Christiansen, O. Scavenius. Rabbit: A High-Performance Stream Cipher. Proc. FSE 2003. Springer LNCS 2887, pp. 307-329 (PDF)
  2. M. Boesgaard, T. Pedersen, M. Vesterager, E. Zenner. The Rabbit Stream Cipher – Design and Security Analysis. Proc. SASC 2004. (PDF)
  3. http://www.ecrypt.eu.org/stream/phorum/read.php?1,1244
  4. Christophe De Cannière, Joseph Lano, and Bart Preneel, Comments on the Rediscovery of Time Memory Data Tradeoffs, 2005. (PDF)
  5. Jean-Philippe Aumasson, "On a bias of Rabbit", Proc. SASC 2007. (PDF)
  6. Yi Lu, Huaxiong Wang, San Ling, "Cryptanalysis of Rabbit", Proc. ISC 2008 ()

Linki zewnętrzne

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.