**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

**Date: **received 1 Jun 2005

**Contact author: **m-mat at math sci hiroshima-u ac jp

**Available format(s): **PDF | BibTeX Citation

**Version: **20050606:202531 (All versions of this report)

**Short URL: **ia.cr/2005/165

**Discussion forum: **Show discussion | Start new discussion

[ Cryptology ePrint archive ]