## Cryptology ePrint Archive: Report 2005/165

CRYPTOGRAPHIC MERSENNE TWISTER AND FUBUKI STREAM/BLOCK CIPHER

Makoto Matsumoto and Takuji Nishimura and Mariko Hagita and Mutsuo Saito

Abstract: We propose two stream ciphers based on a non-secure pseudorandom number generator (called the mother generator). The mother generator is here chosen to be the Mersenne Twister (MT), a widely used 32-bit integer generator having 19937 bits of internal state and period $2^19937-1$.

One proposal is CryptMT, which computes the accumulative product of the output of MT, and use the most significant 8 bits as a secure random numbers. Its period is proved to be $2^19937-1$, and it is 1.5-2.0 times faster than the most optimized AES in counter-mode.

The other proposal, named Fubuki, is designed to be usable also as a block cipher. It prepares nine different kinds of encryption functions (bijections from blocks to blocks), each of which takes a parameter. Fubuki encrypts a sequence of blocks (= a plain message) by applying these encryption functions iteratedly to each of the blocks. Both the combination of the functions and their parameters are pseudorandomly chosen by using its mother generator MT. The key and the initial value are passed to the initialization scheme of MT.

Category / Keywords: secret-key cryptography / Mersenne Twister, non-secure random number generator, stream cipher, CryptMT, Fubuki, AES