[ANN] RealRand 1.0.0

M

Maik Schmidt

Yo!

I've just released a new Ruby project called RealRand.

From the README file:

A lot of algorithms in cryptography etc. depend on good random
numbers, i.e. random numbers that are "real" random and not just
generated by a so called pseudo-random generator.

You cannot create real random numbers using a computer and an
algorithm. Only nature creates real randomness (just take a look
around the next time you are surrounded by a group of people.).

Real randomness occurs e.g. in atmospheric noise, during radioactive
decay, or in a lava lamp. Fortunately, you do not have to listen to an
old radio the whole day or, even worse, deposit some uranium in your
living room and observe it with a Geiger-Müller tube. Other people do
so (in a slightly modified manner, of course) and they kindly make
their results public.

There are at least the following web sites, that offer real random
numbers for free:

* http://www.random.org - Real random numbers are generated from
atmospheric noise on this site.

* http://www.fourmilab.ch/hotbits - The HotBits generator creates
real random numbers by timing successive pairs of radioactive
decays detected by a Geiger-Müller tube interfaced to a computer.

* http://random.hd.org - "This system gathers its 'entropy' or
truely random noise from a number of sources, including local
processes, files and devices, Web page hits and remote Web sites."

All these real random numbers can be requested via different HTTP
interfaces that all look very similar. E.g. you can request a number
of random bytes from any of the web sites above.

This project encapsulates all these very similar but still different
HTTP interfaces and offers simple Ruby interfaces to get real random
numbers from all the web sites mentioned above.

USAGE

Once RealRand is installed and your internet connection is up,
generating real random numbers is a piece of cake:

require 'random/online'

generator1 = Random::RandomOrg.new
puts generator1.randbyte(42).join(",")
# Roll the dice a 100 times.
puts generator1.randnum(100, 1, 6).join(",")

generator2 = Random::FourmiLab.new
puts generator2.randbyte(7).join(",")

generator3 = Random::EntropyPool.new
puts generator3.randbyte(5).join(",")

IMPORTANT NOTE

All the services used in this library are offered for free by their
maintainers. So, PLEASE, have a look at their web sites and obey to
their rules, if you use their service.

You can find RealRand on RAA:

http://raa.ruby-lang.org/list.rhtml?name=realrand

RealRand's web site is:

http://www.maik-schmidt.de/realrand.html

If you have any suggestions or want to report bugs, please contact me.

Cheers,

<maik/>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,233
Members
46,820
Latest member
GilbertoA5

Latest Threads

Top