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.