thewca / tnoodle-lib

scrambling code portion of TNoodle
GNU General Public License v3.0
39 stars 15 forks source link

Puzzle.generateSeededScramble() should use a well defined PRNG #16

Open jfly opened 10 years ago

jfly commented 10 years ago

Right now, we use SecureRandom, which is implemented differently on different platforms. For WCA scrambles, that's fine, because we assume that each of these different implementations is cryptographically secure. However, for seeded scrambles (good for 2 people racing), we want the scrambles we generate to always been the same, regardless of platform. Perhaps we should add in a MersenneTwister (Yarrow? Fortuna?) implementation, specifically for seeded scrambles?

gregorbg commented 4 years ago

Do we even need seeded scrambles at all anymore?

More recently, they seem to have caused more harm than good (internal discussion about duplicate scrambles for Chinese competitions) and we do not need them for the WCA canon anyways.