Submission to ECRYPT call for stream cipher primitives

Self-synchronizing stream cipher Mosquito by Joan Daemen and Paris Kitsos

This submission includes the following files:
Mosquito_ECRYPT_Cover.pdf: required item A
Mosquito_ecrypt.pdf:       required item B
Mosquito_ECRYPT_IP.pdf:    required item D
ecrypt-Mosquito_cipher.c:  part of required item C, contains reference code
ecrypt-ssyn.h:  part of required item C, header file of reference code
main.c:                    part of required item C, contains program to generate testvalues
testvalues_2.txt:          part of required item C, contains testvalues
testval_in.txt:            part of required item C, contains input file to generate testvalues
readme.txt:                this file


On the reference code

Mosquito has an internal state and this is kept in a structure ECRYPT_ctx specified in the file "ecrypt-ssyn.h"
When a new instance of this structure is created, one shall perform an initialization by calling the function "void init_ctx(ECRYPT_ctx *s)".

Correction: 

In the submission version, some bits of the internal state were never initialized. This has now been corrected in "ecrypt-Mosquito_cipher.c" in the function "void init_ctx(ECRYPT_ctx *s)"
New testvalues are provided in the file "testvalues_2.txt

On the representation of testvalues

Mosquito operates on single bits. Still, we use a byte-oriented notation in these files. The bit that appears first is the bit with the lowest (time)-index. 
- keys have a length of 12 bytes,
- IV values have a length of 13 bytes,
- plaintext and ciphertext both have a length of 16 bytes.

On the range of testvalues

The file "testvalues.txt" contains:
- 64 ciphertext values corresponding to 4 plaintext values encrypted using 4 different key values and using 4 different IV values.
- 64 plaintext values corresponding to 4 ciphertext values encrypted using 4 different key values and using 4 different IV values.
The contents of this file can be regenerated using the main program in "main.c" with as input the file "testval_in.txt".

The key values:
00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF
01 23 45 67 89 AB CD EF 01 23 45 67
FE DC BA 98 76 54 32 10 FE DC BA 98

The IV values
00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF
01 23 45 67 89 AB CD EF 01 23 45 67
FE DC BA 98 76 54 32 10 FE DC BA 98

The plaintext values:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01 23 45 67 89 AB CD EF 01 23 45 67 89 AB CD EF 
FE DC BA 98 76 54 32 10 FE DC BA 98 76 54 32 10 

The ciphertext values:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
01 23 45 67 89 AB CD EF 01 23 45 67 89 AB CD EF 
FE DC BA 98 76 54 32 10 FE DC BA 98 76 54 32 10 



