https://github.com/tna0y/Python-random-module-cracker Here, when we get 32*624 bits of outputs from Mersenne-twister we can recover Mersenne twister. My question is when we get the parts of the bits, how can we recover Mersenne twister? For example function getrandbits from python random module gives only part of the bits. Is it available to untwist it?

  • $\begingroup$ When you say "get only part of the bits", do you mean you get fewer than 32*624 bits? Or, do you mean that you get that many bits, only not consecutively? $\endgroup$
    – poncho
    Commented Jul 17, 2021 at 19:03
  • $\begingroup$ It means, only not consecutively $\endgroup$ Commented Jul 17, 2021 at 19:20
  • 1
    $\begingroup$ You need to be a lot more specific as to the sampling. If you sample at random, clearly you can't ever recover the state as the sequence will be driven by the sampling regime, not the Twister. $\endgroup$
    – Paul Uszak
    Commented Jul 17, 2021 at 20:46

1 Answer 1


Use this https://github.com/icemonster/symbolic_mersenne_cracker. It allows you to tell what parts you are missing from the usual 32-bit parts in order to submit non-consecutive ints.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.