Impressive.
Only one thing bugs me: "but I replace 'xor' with a mathematically equivalent 'modulus' operation."
Unless you scan 256,512,768,etc. number of ports there will be bias, and sequence only looks random. I suggest the author to take a look at this: