Lably
Skip to content

Lavarand

Random number generator

  • 4 min read
  • 2 chapters

Related on Lably

Through Web browser, Entropy and Geiger counter

From 1997 to 2001, SGI ran a website that demonstrated the technology. Its visually distinct method made it a frequently cited example of entropy sourcing.

The concept was later revived and popularized by Cloudflare, which uses a wall of lava lamps in its office lobby as one component of its entropy gathering system.

History

SGI's invention of Lavarand was a direct response to a significant security crisis in the mid-1990s as the Internet was transitioning into a commercial platform. The security of the new Secure Sockets Layer (SSL) protocol depended on high-quality random numbers for generating session keys. In 1995, computer science PhD students Ian Goldberg and David A. Wagner discovered that the implementation of SSL in Netscape Navigator, the era's dominant web browser, used a predictable method for seeding its pseudorandom number generator. The seed was derived from the time of day, the process ID, and the parent process ID. An attacker could potentially guess these values, predict the seed, and compromise a secure session. This vulnerability highlighted the critical need for accessible and unpredictable sources of entropy to seed cryptographic systems.

Lavarand was SGI's solution, invented and patented in 1996, the year after the Netscape vulnerability was exposed, by mathematician and cryptologist Landon Curt Noll, software engineer Robert G. Mende, and Sanjeev Sisodiya. Noll was already known for his work on large prime numbers and for co-creating the Fowler-Noll-Vo (FNV) hash function.

The system's hardware comprises an SGI O2 workstation, known for its multimedia capabilities; a proprietary SGI O2cam with a 512 × 480 pixel CCD sensor for image capture; and an array of six Lava Lite lamps as the chaotic source. The process begins with the O2cam capturing a digital photograph of the lamps. This raw 921,600-byte image file, containing both the visual chaos of the wax and electronic noise from the camera's sensor, is then processed using the SHA-1 hash algorithm to extract its unpredictability. The hashing step produces a 140-byte hash output that is then used to seed a CSPRNG. The patent specifies the Blum Blum Shub generator as a preferred choice for the final stage, which can then produce a rapid stream of random numbers. The complete method was documented in U.S. patent 5,732,138. The patent's claims are not limited to lava lamps but cover any chaotic system used in a similar manner, and its expiration allowed companies like Cloudflare to use the underlying concept without license.

Sign in to keep reading

One more chapter is free with a Lably account.

More in Computing and communication