Rabbit is one of the final winner algorithms in the project of E-STREAM. As the algorithm is designed to be simple and easy hardware and software implementation, Rabbit has been widely concerned in cryptography.On the one hand, this article makes the cryptanalysis of state variables, counter variables and g function. The following conclusions:First of all, after initialization and next-state functions, each key bit has affected all eight state variables and all eight counter variables.Moreover, the counter values are re-initialized to prevent recovery of the key by inversion of the counter system.Finally, when 2n+1 is not square-free, g function is not bijective.On the other hand, by analyzing the properties of round function, we present guess and determine attack on Rabbit.After guessing 96bits,96bits and 5bits in turns, we can successively recovers state variables, counter variables and key, precomputation complexity O(296), time complexity O(297), memory space 0(295.81). Comparing with existing attack algorithm,it adds precomputation complexity and memory space, but reduces time complexity. |