Click here for C12-GAMMA E-mail security/file-encrryption tool


The Leopard CSPRNG (Cryptographically Secure Pseudo Random Number Generator) was developed to rectify the shortcomings of the well known ARC4 algorithm (on which it is based). It is a simple and fast algorithm which can be easily implemented in software and/or hardware.

Leopard/L15 passes the DIEHARD randomness test-suite.
L15 is used as the generator for the /dev/urandom pseudo-device in the DragonFlyBSD operating system.

Leopard appears to fulfill the criteria required of a digital-fingerprint algorithm. If the reader has been following recent developments in the digital-fingerprint history of cryptography, they will know that security issues have been discovered in some contemporary algorithms, rendering them useless.


The L15 algorithm:

L15.h (The L15 Algorithm; C++ header)

Note: The above source-code requires that the "unsigned char" type is exactly eight bits in size and that increment/decrement operations wrap (the FreeBSD operating system fulfills this requirement on every architecture).

L15P.h (Portable L15 Algorithm; C++ header)

Note: The above source-code is portable and allows the size of the internal-state to be altered from the default size of 256.

Note: The above source-code/L15-algorithm should really be altered so that y is initialised to be (stateSize-1) instead of 0. However, I have decided not to make this alteration (it's not vitally important, just technically correct) since it would involve incrementing to L16.

L15 Algorithm Summary
L14/L15 Security Analysis
One Way State Functions (theoretical)


Contact me: email


Financial donations from gratified users would help to maintain this website as a free service for others.
Thank you.

Copyright © 2006 Robin Carey