Rabbit – szyfr strumieniowy o wysokiej prędkości zaprezentowanyM. 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) 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 CrypticoM. Boesgaard, T. Pedersen, M. Vesterager, E. Zenner. The Rabbit Stream Cipher – Design and Security Analysis. Proc. SASC 2004. (PDF). Szyfr jest także opisany w . 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.http://www.ecrypt.eu.org/stream/phorum/read.php?1,1244
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-offChristophe De Cannière, Joseph Lano, and Bart Preneel, Comments on the Rediscovery of Time Memory Data Tradeoffs, 2005. (PDF).
Istnieje drobne przekłamanie w wyjściu RabbitaJean-Philippe Aumasson, "On a bias of Rabbit", Proc. SASC 2007. (PDF), 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 2158Yi Lu, Huaxiong Wang, San Ling, "Cryptanalysis of Rabbit", Proc. ISC 2008 (), nie jest to zagrożeniem bezpieczeństwa szyfru, gdyż zaatakowanie go w ten sposób jest trudniejsze niż metoda brute force(2128).
Przypisy
Linki zewnętrzne Strona główna Cryptico(ang.)
strona eSTREAM o Rabbicie(ang.)
Kategoria:Szyfry strumieniowe