Implement psuedo-shuffling in {en,de}crypt

Should eleminate the possibility of a particularly unlucky key
failing to encrypt data, as was previously possible.