Skip to content

RABBIT (Cipher) Traditional Cache

Hidden : 4/8/2012
Difficulty:
1.5 out of 5
Terrain:
2 out of 5

Size: Size:   small (small)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:

"...you stay in Wonderland,...and I show you how deep the Rabbit Hole goes!"

The Rabbit Cipher

Rabbit is a high-speed stream cipher first presented in February 2003 at the 10th FSE workshop. In May 2005, it was submitted to the eSTREAM project of the ECRYPT network.

Rabbit was designed by Martin Boesgaard, Mette Vesterager, Thomas Pedersen, Jesper Christiansen and Ove Scavenius.

Rabbit uses a 128-bit key and a 64-bit initialization vector. The cipher was designed with high performance in software in mind, where fully optimized implementations achieve an encryption speed of up to 3.7 cycles per byte on a Pentium 3, and of 9.7 cycles per byte on an ARM7. However, the cipher also turns out to be very fast and compact in hardware.

The core component of the cipher is a bitstream generator which encrypts 128 message bits per iteration. The cipher's strength rests on a strong mixing of its inner state between two consecutive iterations. The mixing function is entirely based on arithmetical operations that are available on a modern processor, i.e., no S-boxes or lookup tables are required to implement the cipher.

The authors of the cipher have provided a full set of cryptanalytic white papers on the Cryptico home page. It is also described in RFC 4503. Cryptico has patented the algorithm and requires a license fee for commercial use of the cipher. The license fee is waived for non-commercial uses.

Security

Rabbit claims 128-bit security against attackers whose target is one specific key. If, however, the attacker targets a large number of keys at once and does not really care which one he breaks, then the small IV size results in a reduced security level of 96 bit. This is due to generic TMD trade-off attacks.

While a small bias in the output of Rabbit exists, resulting in a distinguisher with 2247 complexity discovered by Jean-Philippe Aumasson in December 2006, it's not a threat to Rabbit's security because its complexity is significantly higher than the brute-force of the key space (2128).

Computing the cache

So why hide a cache today?  The date to place a cache today was based on another algorithm.  It was determined on the basis of lunisolar cycles. The lunar year consists of 30-day and 29-day lunar months, generally alternating, with an embolismic month added periodically to bring the lunar cycle into line with the solar cycle. In each solar year (1 January to 31 December inclusive), the lunar month beginning with an ecclesiastical new moon falling in the 29-day period from 8 March to 5 April inclusive is designated as the paschal lunar month for that year. Today is the third Sunday in the paschal lunar month, or, in other words, the Sunday after the paschal lunar month's 14th day. The 14th of the paschal lunar month is designated by convention as the Paschal full moon, although the 14th of the lunar month may differ from the date of the astronomical full moon by up to two days. Since the ecclesiastical new moon falls on a date from 8 March to 5 April inclusive, the paschal full moon (the 14th of that lunar month) must fall on a date from 21 March to 18 April inclusive.  This paragraph describes the timing of the placement of the cache, not the location of the cache.  The cache can be found by going to the listed latitude and longitude.

Additional Hints (Decrypt)

Arfgyrq va gur zvqqyr bs zhygvcyr gehaxf.

Decryption Key

A|B|C|D|E|F|G|H|I|J|K|L|M
-------------------------
N|O|P|Q|R|S|T|U|V|W|X|Y|Z

(letter above equals below, and vice versa)