Randomness
ACM:
Algorithm 235: Random permutation
by Richard Durstenfeld [1964,
PDF
].