Twofish For Python
Ocotillo PRNG

Menu:

Home

News
Software

Documentation
Links
EMAIL Me!

EFF
OpenDVD

A Pseudo-Random Number Generator For Unix

The Ocotillo PRNG is an attempt to create a cryptographically strong pseudo-random number generator for Unix implementations that do not have one. FreeBSD and Linux already have a cryptographically strong pseudo-random number generator (/dev/urandom). Thus this is intended for HP/UX, Solaris, SCO Unix, and other Unix platforms that lack such a PRNG. This is a "C" implementation of Ocotillo. It will soon be ported to Python as part of the general twofish-py development effort.

The typical 'rand' pseudo-random number generator under Unix produces a random distribution, but it generates a PREDICTABLE random distribution, which is certainly not what you want if you're trying to generate encryption keys. This PRNG, therefore, siphons what few sources of randomness are possible under "pure" Unix and uses proven crytographic components to combine them and produce a (hopefully unpredictable) output. Note that GNUpg (GNU Privacy Guard) has a truly random number generator which is preferable if your application has access to keystrokes in order to get a large amount of randomness. Ocotillo is for use where you don't have a keyboard or do not run as an interactive process that can ask someone to noodle the keyboard.

Ocotillo was inspired by Yarrow, Counterpane's PRNG for the Win32 platform. The naming is in honor of the tradition of naming PRNG's after plants, and because ocotillo is a fascinating plant of the Sonoran Desert where Enhanced Software Technologies Inc. is located.

I convinced my employer to release Ocotillo for public use and review under a BSD-style Open Source license. Enjoy. And buy some BRU please (grin).

A complete description of Ocotillo:

The software itself:

NOTICE: BY DOWNLOADING THIS SOFTWARE YOU ARE ACKNOWLEDGING THAT YOU ARE NOT A CITIZEN OR AGENT OF A T7 STATE AS PROHIBITED BY THE U.S. COMMERCE DEPARTMENT FROM DOWNLOADING CRYPTOGRAPHIC COMPONENTS. PLEASE RESPECT THIS PROHIBITION IN ORDER TO KEEP THIS SITE GOING.

My thanks to Dr. Brian Gladman located in the UK, for his rather elegant implementation of TwoFish, which is yet another example of how idiotic U.S. export restrictions are (let me see, the source code was available on his web site in the UK, but I couldn't put it onto my web site until the recent Jan. 15 changes? Sheesh!).

Please note that this software is released with NO WARRANTY and on an AS-IS BASIS. It is not an official supported product of Enhanced Software Technologies. This software is copyrighted by Enhanced Software Technologies and other contributors. Please read the file LICENSE.ocotillo in the actual distribution for full licensing terms.


Eric Lee Green

Note that everything on this page represents my own opinions and not the opinions of my employer, SourceForge, my mother, my best friend, or my cat (well, MAYBE the cat, since we all know who the boss is around the house!).

Created by 'm4web'. Last modified: Fri Feb 18 14:36:26