I cannot find proper test vectors to test my code for Rabbit cipher which I have developed according to the specifications file from "http://www.ecrypt.eu.org/stream/rabbitpf.html".
However, I found some test vectors in a zip file of the C source code on the page "http://www.ecrypt.eu.org/stream/e2-rabbit.html". The test vectors here have an output stream of 384-bits (128*3), but the specification file states that only 128-bit output key stream is obtained after each round.
Any help on the procedure of testing for correctness?
You should look into Rabbit stream cipher RFC on IETF: https://www.rfc-editor.org/rfc/rfc4503
Particulary Appendix A and B have a collection of test vectors for testing the correctness of your implementation, as well as for debugging the inner state after each iteration.
You can have a look into RabitTest.java to see, how I tested my implementation.
Notice that the input is the same for every test (384 bits of 0
), and that's why the output is also of the same length. The length of the key is 128 bits, but that has nothing to do with the length of the output, because it is only used to setup the inner states. In the process of encryption a keystream is generated, which can be infinitely long, so that's why the key length isn't connected with the length of the output.