-- L15 Algorithm (CSPRNG) -- o Complex KSA; a necessary requirement is complex relationship between the key and the output sequence. KSA also properly scales the key upto the expectedly larger 256-byte internal state. o Tests indicate there are no weak keys (unlike original ARC4). o The output sequence of L15 (scaled down version using L15P with 9 terms of internal state) is quite strange; it outputs an initial (large) quantity of data and then goes into a repetitive cycle. Tests with the scaled down version of L15 indicate that if there are any short cycles, they are very rare. o Two unknown elements of the internal state are swapped per output reported (most of the time - original ARC4 swapped known/unknown). o Original ARC4 had symmetric internal states (a problem) which is undoubtedly fixed in L15 due to different 65536 period permutation algorithm. o Passes DIEHARD test-suite. o Theoretically, L15 should be a one-way transformation (key->output) since for any possible key (e.g. smallest is 1-byte key) the internal state is scrambled/permuted at least twice and is therefore suitable for use as a digital-fingerprint algorithm.