NF3RN0
Posts: 36
Joined: Thu Jan 24, 2013 5:28 am
Location: Texas

Random Number Generator Using Build In Hardware

Wed Dec 02, 2015 4:17 am

It is my understanding that the Raspberry Pi has a build in random number generator. Is there a library, or a way that I can use the built in hardware random number generator in a C Program?


Cheers.

ejolson
Posts: 6015
Joined: Tue Mar 18, 2014 11:47 am

Re: Random Number Generator Using Build In Hardware

Wed Dec 02, 2015 4:54 am

NF3RN0 wrote:It is my understanding that the Raspberry Pi has a build in random number generator. Is there a library, or a way that I can use the built in hardware random number generator in a C Program?
As far as I know, the hardware random number generator is fed directly into the Linux entropy pool which may be accessed as /dev/random. To obtain a random unsigned integer, you might try

Code: Select all

#include <stdio.h>
int main(){
    unsigned int r;
    FILE *frand=fopen("/dev/random","r");
    fread(&r,sizeof(unsigned int),1,frand);
    printf("Your random number is %u.\n",r);
    return 0;
}
Note that Linux keeps track of how much entropy is in the pool and blocks reads to /dev/random until there is enough entropy to satisfy the request. Therefore, you can't produce many random numbers by quickly reading from /dev/random. Instead, read just enough data for a seed to initialize a pseudo-random number generator, such as random() using setstate() from the standard library.

User avatar
AndyD
Posts: 2334
Joined: Sat Jan 21, 2012 8:13 am
Location: Melbourne, Australia
Contact: Website

Re: Random Number Generator Using Build In Hardware

Wed Dec 02, 2015 5:18 am

This is an interesting blog post about hardware rng. There is also an article called True Random Number Generator in issue 40 of the MagPi magazine.

Short story

Code: Select all

sudo modprobe bcm2708-rng
A device will be created "/dev/hwrng" that you can use in @ejolson's code. Just replace "/dev/random" with "/dev/hwrng".

User avatar
experix
Posts: 204
Joined: Mon Nov 10, 2014 7:39 pm
Location: Coquille OR
Contact: Website

Re: Random Number Generator Using Build In Hardware

Wed Dec 02, 2015 5:33 pm

dev/random blocks while the entropy pool is empty, but if pseudo-random numbers are good enough you can use dev/urandom, which is the same as /dev/random until the entropy is gone, then it switches to a deterministic pseudo-random algorithm. See more in man urandom.

ejolson
Posts: 6015
Joined: Tue Mar 18, 2014 11:47 am

Re: Random Number Generator Using Build In Hardware

Sun Dec 06, 2015 7:44 am

ejolson wrote:As far as I know, the hardware random number generator is fed directly into the Linux entropy pool which may be accessed as /dev/random.
Apparently the default Raspbian configuration does not feed the hardware random number generator into the Linux entropy pool. This was recently reported as a problem that is causing weak SSH host keys to be generated. So the advice
AndyD wrote:Just replace "/dev/random" with "/dev/hwrng".
is essential for accessing the hardware generator.

Tobias Claren
Posts: 6
Joined: Mon Aug 17, 2015 7:27 pm

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 9:08 pm

Hi.

Does a Raspberry PI contain a real random number generator?
E.g. with quantum tunneling.
Like this USB stick, which is used at Princeton University for parapsychological experiments (micropsychokinesis):
https://ubld.it/truerng_v3
E.g. in "The Global Consciousness Project".

I'm looking for a real random number generator.
E.g. with a 50% / 50% display and logging of the (theoretically not possible) deviation over 1min, 2min, 3min ...

trejan
Posts: 2974
Joined: Tue Jul 02, 2019 2:28 pm

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 9:11 pm

Tobias Claren wrote:
Wed Sep 30, 2020 9:08 pm
Does a Raspberry PI contain a real random number generator?
Did you not read the thread you posted in?? The answer is above.

Tobias Claren
Posts: 6
Joined: Mon Aug 17, 2015 7:27 pm

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 9:13 pm

Can I find a note about the built-in technology there? Which physical principle is used?
I only know two random technologies.
The decay of a radioactive element (like strontium 90), or quantum tunneling.
I don't want a pseudo-random generator.
No matter how complex the sources are.
No mix of mouse movement, network traffic etc. etc. etc.
But also no movement in a wall of lava lamps.

User avatar
jahboater
Posts: 6289
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 9:44 pm

Tobias Claren wrote:
Wed Sep 30, 2020 9:13 pm
Can I find a note about the built-in technology there? Which physical principle is used?
I only know two random technologies.
The decay of a radioactive element (like strontium 90), or quantum tunneling.
If I remember rightly the Intel one is a bistable that can flip either way based on thermal noise.
I don't know about the ARM equivalent, it may be similar.

See google for info on Intel's RDRAND and RDSEED and so on.
https://en.wikipedia.org/wiki/RDRAND

Use /dev/urandom today. /dev/random is deprecated.
Here is a snippet of code that efficiently uses rdrand or /dev/urandom to return a 64-bit random number:

Code: Select all

  u64 n;
#if x64 && defined __RDRND__
  bool valid;
  asm( "rdrand %0" : "=a" (n), "=@ccc" (valid) );
  if( valid )
    return n;
#else
  ssize_t nread = 0;
  const int fd = open( "/dev/urandom", O_RDONLY );
  if( fd >= 0 )
  {
    nread = read( fd, &n, 8 );
    close(fd);
  }
  if( nread == 8 )
    return n;
#endif
On modern platforms, neither rdrand or /dev/urandom will ever fail small requests in practice.
Last edited by jahboater on Wed Sep 30, 2020 9:54 pm, edited 2 times in total.
Pi4 8GB running PIOS64 Lite

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 9:53 pm

Tobias Claren wrote:
Wed Sep 30, 2020 9:13 pm
I only know two random technologies.
The decay of a radioactive element (like strontium 90), or quantum tunneling.
I don't want a pseudo-random generator.
No matter how complex the sources are.
No mix of mouse movement, network traffic etc. etc. etc.
But also no movement in a wall of lava lamps.
I love this topic of getting "random" numbers.

Clearly you have not thought about this problem deeply enough yet.

Firstly you state "I don't want a pseudo-random generator. No matter how complex the sources are."

The whole point of PRNG's (pseudo-random number generators) is that there are no "sources". They are generated by an algorithm. And hence completely deterministic. Even if the resulting sequence is very hard to distinguish from random with statistical tests.

Secondly there are of course many way to get "random" numbers. Perhaps a simple two transistor circuit that relies on thermal noise: https://web.jfet.org/hw-rng.html

And what is wrong with the Lava Lamp thing anyway?

Bottom line is: How do you define a sequence of "random" numbers? How would you test them to be sure they are "random" enough for you?

Personally, with my total paranoia tin foil hat on, I would not trust any source of random numbers that is not of my own creation.
Memory in C++ is a leaky abstraction .

User avatar
jahboater
Posts: 6289
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 10:01 pm

Heater wrote:
Wed Sep 30, 2020 9:53 pm
Personally, with my total paranoia tin foil hat on, I would not trust any source of random numbers that is not of my own creation.
How do you create your own true random numbers on the Pi (with no external hardware) ?

For amusement, this little bit of code produces numbers that appear random, but obviously are not.
The clock is nano-second resolution, or for rdtsc much finer (picoseconds).

Code: Select all

  /*
   *  Fall back to a scrambled hi-res clock. This is done by placing the 
   *  rapidly changing low order bits at the most significant end then
   *  finishing with a couple of 64-bit LCG iterations.
   */
#if x64
  asm( "rdtsc; shl $32,%0; or %%rdx,%0" : "=a" (n) :: "rdx" );
#else
  struct timespec now;
  clock_gettime( CLOCK_REALTIME, &now );
  n = ((u64)now.tv_nsec << 34) | (u64)now.tv_sec;
#endif
    // Knuth MMIX
  n = UINT64_C(6364136223846793005) * n + UINT64_C(1442695040888963407);
    // L'Ecuyer (with prime addend)
  return UINT64_C(2862933555777941757) * n + UINT64_C(3037000493);
Pi4 8GB running PIOS64 Lite

User avatar
scruss
Posts: 3496
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Random Number Generator Using Build In Hardware

Wed Sep 30, 2020 10:58 pm

jahboater wrote:
Wed Sep 30, 2020 10:01 pm
How do you create your own true random numbers on the Pi (with no external hardware) ?
Install rng-tools - which may be installed by default - as it feeds the usual nodes in /dev/ with output from /dev/hwrng.
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.
Pronouns: he/him

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Thu Oct 01, 2020 5:34 am

jahboater wrote:
Wed Sep 30, 2020 10:01 pm
How do you create your own true random numbers on the Pi (with no external hardware) ?
As far as I can tell the Pi SoC contains a source of real random noise in hardware:
viewtopic.php?f=29&t=19334&p=273944&hilit=hwrng#p273944
https://weberblog.net/playing-with-randomness/

Although I cannot find any actual details of what those links claim to be talking about. Like a description of the actual mechanism, the control registers to use and so on. It would be great if someone can link us to such a spec.

But what I was getting at there with my comment about paranoia is that even if there is such hardware on the SoC and the manufacturer says "Trust me, they are random numbers", why should I believe them? How would I test that they really are random? In my paranoia I might suspect the makers of the SoC are feeding be a sequence of "random" numbers that they know a lot more about than I do. Particularly worrying for cryptographic applications.
jahboater wrote:
Wed Sep 30, 2020 10:01 pm
For amusement, this little bit of code produces numbers that appear random, but obviously are not.
A great example of a pseudo random number generator, seeded with as best a real random number as available.

There are many others to play with now a days: https://www.pcg-random.org/index.html. Well worth reading. More discussion of generating random numbers that one could dream of.

Code: Select all

// *Really* minimal PCG32 code / (c) 2014 M.E. O'Neill / pcg-random.org
// Licensed under Apache License 2.0 (NO WARRANTY, etc. see website)

typedef struct { uint64_t state;  uint64_t inc; } pcg32_random_t;

uint32_t pcg32_random_r(pcg32_random_t* rng)
{
    uint64_t oldstate = rng->state;
    // Advance internal state
    rng->state = oldstate * 6364136223846793005ULL + (rng->inc|1);
    // Calculate output function (XSH RR), uses old state for max ILP
    uint32_t xorshifted = ((oldstate >> 18u) ^ oldstate) >> 27u;
    uint32_t rot = oldstate >> 59u;
    return (xorshifted >> rot) | (xorshifted << ((-rot) & 31));
}
Of course testing that these sequences are random enough, pseudo or otherwise, leads down a big rabbit hole of statistical testing and potentially a lot of burned CPU and human time.

https://en.wikipedia.org/wiki/TestU01
https://en.wikipedia.org/wiki/Diehard_tests
http://pracrand.sourceforge.net/
Memory in C++ is a leaky abstraction .

User avatar
jahboater
Posts: 6289
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Random Number Generator Using Build In Hardware

Thu Oct 01, 2020 6:00 am

Heater wrote:
Thu Oct 01, 2020 5:34 am
But what I was getting at there with my comment about paranoia is that even if there is such hardware on the SoC and the manufacturer says "Trust me, they are random numbers", why should I believe them? How would I test that they really are random?
There is a lot of technology to convince user that the produced numbers are cryptographically secure.

The Intel Secure Key continually self tests for randomness and conformance to the cryptographic standards:
The random number generator is compliant with security and cryptographic standards such as NIST SP 800-90A,[6] FIPS 140-2, and ANSI X9.82.[3] Intel also requested Cryptography Research Inc. to review the random number generator in 2012, which resulted in the paper Analysis of Intel's Ivy Bridge Digital Random Number Generator.[7]
See
Intel calls their RNG a "digital random number generator" or DRNG. The generator takes pairs of 256-bit raw entropy samples generated by the hardware entropy source and applies them to an Advanced Encryption Standard (AES) (in CBC-MAC mode) conditioner which reduces them to a single 256-bit conditioned entropy sample. A deterministic random-bit generator called CTR_DRBG defined in NIST SP 800-90A is seeded by the output from the conditioner, providing cryptographically secure random numbers to applications requesting them via the RDRAND instruction.[3][14] The hardware will issue a maximum of 511 128-bit samples before changing the seed value. Using the RDSEED operation provides access to the conditioned 256-bit samples from the AES-CBC-MAC.
and
The entropy source for the RDSEED instruction runs asynchronously on a self-timed circuit and uses thermal noise within the silicon to output a random stream of bits at the rate of 3 GHz,[16] slower than the effective 6.4 Gbit/s obtainable from RDRAND (both rates are shared between all cores and threads).[17] The RDSEED instruction is intended for seeding a software PRNG of arbitrary width, whereas the RDRAND is intended for applications that merely require high-quality random numbers. If cryptographic security is not required, a software PRNG such as Xorshift is usually faster.[18]
Pi4 8GB running PIOS64 Lite

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Thu Oct 01, 2020 6:56 am

jahboater wrote:
Thu Oct 01, 2020 6:00 am
There is a lot of technology to convince user that the produced numbers are cryptographically secure.
...
The RDSEED instruction is intended for seeding a software PRNG of arbitrary width, whereas the RDRAND is intended for applications that merely require high-quality random numbers. If cryptographic security is not required, a software PRNG such as Xorshift is usually faster.[18]
Indeed there is. But I have my tinfoil hat on. In my paranoia, with a mind wracked with conspiracy theories, I cannot believe any of that.

It's not just me: "The NSA Back Door to NIST" - American Mathematical Society: https://www.ams.org/notices/201402/rnoti-p190.pdf

The point is we have no way of seeing what is actually in the black box that promises us randomness. Testing for randomness is ultimately impossible. We just have to trust in Intel or whoever and the NSA. It's a bit like asking you to provide me with all the passwords I use and trusting that you don't tell anyone else.

I'm not sure of the definition of "cryptographically secure PRNG". It seems to involve the idea that even if I know the algorithm being used and I have a sample of it's output I will still have an impossibly hard time predicting what comes next.
Memory in C++ is a leaky abstraction .

User avatar
jahboater
Posts: 6289
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Random Number Generator Using Build In Hardware

Thu Oct 01, 2020 9:14 am

Heater wrote:
Thu Oct 01, 2020 6:56 am
I'm not sure of the definition of "cryptographically secure PRNG". It seems to involve the idea that even if I know the algorithm being used and I have a sample of it's output I will still have an impossibly hard time predicting what comes next.
Presumably a CSPRNG is seeded (and frequently reseeded) by a TRNG, but you would still think that part way along the sequence between reseeds, it would be predictable.
I don't know.

The /dev/urandom pool comes from a mixture of entropy sources, so its probably as good as it gets.
From your link above, it looked like /dev/urandom performed slightly better than /dev/hwrng (less WEAK results) and importantly, it doesn't require root privilege to read. Faster too.
Pi4 8GB running PIOS64 Lite

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Thu Oct 01, 2020 4:37 pm

As far as I can make out the term "cryptographically secure" is generally orthogonal to whether the source of "random" numbers a pseudo random number generator or some real random process or a mixture of both.

So a simple PRNG can be cryptographically insecure because it is easy to predict what comes next given some output and knowing the algorithm that produced it.

A physical source of random numbers could be cryptographically insecure if it has some bias that helps statistical attacks on your cipher.

https://en.wikipedia.org/wiki/Cryptogra ... _generator
Memory in C++ is a leaky abstraction .

ejolson
Posts: 6015
Joined: Tue Mar 18, 2014 11:47 am

Re: Random Number Generator Using Build In Hardware

Thu Oct 01, 2020 6:48 pm

Heater wrote:
Thu Oct 01, 2020 4:37 pm
As far as I can make out the term "cryptographically secure" is generally orthogonal to whether the source of "random" numbers a pseudo random number generator or some real random process or a mixture of both.

So a simple PRNG can be cryptographically insecure because it is easy to predict what comes next given some output and knowing the algorithm that produced it.

A physical source of random numbers could be cryptographically insecure if it has some bias that helps statistical attacks on your cipher.

https://en.wikipedia.org/wiki/Cryptogra ... _generator
Right. My understanding the reason for renewed interest in this thread is the desire to conduct micro psychokinesis experiments. Since algorithmically generated random numbers are not subject to parapsychological powers, one needs a physical source of randomness that the observer might with the Force be able to influence. While it's possible the output of a pseudo random-number generator could also be influenced by intentionally causing a hardware fault, remember that a Jedi uses the Force for knowledge and defense, never for attack. Therefore, creating malfunctions in computing equipment part of the training should not be.

I suspect a hardware source of randomness fed into a whitening algorithm such as used in the ARM CPU would also not work, because, as demonstrated by early Intel designs, even if the noise circuity was influenced to produce a continuous stream of 0's, the post processing would make the stream of 0's still look random to the average padawan trying to conduct the test.
Last edited by ejolson on Sat Oct 03, 2020 3:37 am, edited 3 times in total.

Tobias Claren
Posts: 6
Joined: Mon Aug 17, 2015 7:27 pm

Re: Random Number Generator Using Build In Hardware

Fri Oct 02, 2020 8:20 pm

@ Heater

By "sources" I mean network traffic, mouse movements, time, etc.
I know it's just an algorithm.
That's the problem.
English is not my first language, I use google translate.

I mentioned why I need the numbers.
The problem is, a lot of people overlook or don't understand.
I don't need random numbers for cryptography or gambling etc.
I need a true random number generator for applications like the ones carried out by Princeton University in "PEAR".
Micro psychokinesis experiments.
Therefore I need for example this "50/50" representation.
The numbers themselves or security are completely irrelevant.
Only the distribution is important.


"And what is wrong with the Lava Lamp thing anyway?"

That was just an example.
Do you understand what it's about?
It is about the power of a person's will (psychokinesis, popularly also called "telekinesis") to influence matter.
Influencing the movement of wax in many lava lamps costs more kinetic energy than influencing the emission of electrons.
You can call this "bullshit", but micro-psychokinesis is scientifically proven and replicable.
Search for the experiments of Dr. Dr. Dr. Renè Peoc'h.
He did it twice. Once for one of his dissertations in the 80s, and around 10 years later again with 2500 chicken chicks (including control group).
The results prove indisputably that the paranormal phenomenon of micro-psychokinesis is a harsh scientific reality.
Unfortunately I don't have an English video for you, but there is a 7.5-minute video on the German / French public cultural broadcaster arte:
https://youtu.be/-EVBTAXhNTg
Try automatic recognition and translation from the spoken French language.

With such a random generator, individual people could be tested for a talent.
It would also be an objective method to test a "medium".
A real medium could have measurable micro-psychokinetic influence. A fake medium (cheater or hearing voices because of a mental disorder) would not have this ability.
I also base my assumption on a real incident:
benjaminradford.com/investigations/psychic-detective-interviews/
This medium says she saw the serial killer drive a green classic car with three-part taillights. She said she briefly saw the driver's license. Said his name was James K....ich.
When a new murder threatened, she called her PSI study group and they concentrated on the perpetrator. He should be harmed.
At the same moment he called the ambulance that someone had injured him with a knife. Evidently it was his own knife and he injured himself with it. His name "James Koedatich" and the car were also right.
Believe it or not believe it, this is micro-psychokinesis on a person's consciousness. If it is possible to influence electrons in an electronic device, it is also plausible that it is possible in a brain.

The "Project Stargate" of the CIA has carried out tests for over 17 years. "Men who stare at goats" is no joke.
The project had to show successes every year for 17 years to continue. Mainly remote viewing (present, past and even future).



@ Ejolson

Correct.



I could imagine setting up a stand with information on the subject in public. A mobile billboard (e.g. a light, small box trailer behind a moped) with text, screens, etc. Perhaps filmed as a video for YouTube.
And at the same time I may find talented people for further experiments
We don't even have to meet for this, that can also be done from the "Home Office" via the YouTube livestream ;-) .
If it is possible to influence electrons in a random number generator, it may also be possible to bend a very thin copper fiber (from a flexible power cable) under a microscope.
Bending a spoon costs more energy ;-).
Or even affect the nerve endings of a paraplegic. This may sound "crazy" or "esoteric" (esotericists call it "quantum healing"), but there are indications that it might work. "Spontaneous self-healing" cannot be explained. That is one possible explanation.
That shouldn't be left to the esoteric. I am 100% atheist and 0% esoteric.
It annoys me that there are no professional trials in universities.

pidd
Posts: 1288
Joined: Fri May 29, 2020 8:29 pm
Location: Birkenhead, Wirral, UK
Contact: Website

Re: Random Number Generator Using Build In Hardware

Fri Oct 02, 2020 8:43 pm

There is no such thing as a true random number generator, all hardware is influenced by something, be it gravity, magnetism, light, radiation, movement, pressure etc etc. That is why the best (least worst) random number generators we have are algorithms seeded and re-seeded by hardware noise generators, the combination reduces the influence of the inadequacies of each individual method.

Combining two hardware sources is risky.

Combing two algorithms is risky.

On the other subject ..... I would dispute that there "there are no professional trials in universities".

User avatar
jahboater
Posts: 6289
Joined: Wed Feb 04, 2015 6:38 pm
Location: Wonderful West Dorset

Re: Random Number Generator Using Build In Hardware

Fri Oct 02, 2020 10:25 pm

I wish one of these people who think that electronic random number generators are so poor would publish next week's lottery results ...

I liked the first version of the UK premium bonds lottery (ERNIE) which derived the winning numbers from the coordinates of cosmic ray particles arriving on a metre square metal plate on a roof in London.
Pi4 8GB running PIOS64 Lite

pidd
Posts: 1288
Joined: Fri May 29, 2020 8:29 pm
Location: Birkenhead, Wirral, UK
Contact: Website

Re: Random Number Generator Using Build In Hardware

Sat Oct 03, 2020 12:48 am

jahboater wrote:
Fri Oct 02, 2020 10:25 pm
I wish one of these people who think that electronic random number generators are so poor would publish next week's lottery results ...

I liked the first version of the UK premium bonds lottery (ERNIE) which derived the winning numbers from the coordinates of cosmic ray particles arriving on a metre square metal plate on a roof in London.
Next week's lottery numbers occur sequentially in Pi

The first Ernie used neon tubes as a noise source. The give-away that the plate of metal was a myth is that there is no way in 1956 that it would be constructed to metric measurements.

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Sat Oct 03, 2020 1:45 am

Tobias Claren wrote:
Fri Oct 02, 2020 8:20 pm
That was just an example.
Do you understand what it's about?

It is about the power of a person's will (psychokinesis, popularly also called "telekinesis") to influence matter.
Indeed I do. I have been hearing about such things for almost half a century.
Tobias Claren wrote:
Fri Oct 02, 2020 8:20 pm

You can call this "bullshit", but micro-psychokinesis is scientifically proven and replicable.
Search for the experiments of Dr. Dr. Dr. Renè Peoc'h.
...
The results prove indisputably that the paranormal phenomenon of micro-psychokinesis is a harsh scientific reality.
I might not be so crude as to call it "bullshit".

But this kind of thing is far from "scientifically proven" or "replicable" or "scientific reality"
Tobias Claren wrote:
Fri Oct 02, 2020 8:20 pm

Unfortunately I don't have an English video for you, but there is a 7.5-minute video on the German / French public cultural broadcaster arte:
Sorry but I won't waste my time on it. There is so much trash on youtube.
Tobias Claren wrote:
Fri Oct 02, 2020 8:20 pm
It annoys me that there are no professional trials in universities.
Apparently there are. Including at Princeton University no less: http://icrl.org/wp-content/uploads/2012 ... -Redux.pdf

It does not take much reading of such papers to see how suspect their results are as any kind of "scientific fact". For example, from that paper:
It should be noted that these Phase II experiments were carried out over a five-month period during which necessary preparations for, and execution of, the closure of the PEAR laboratory were accomplished (January–May 2007), and that the associated environmental disturbances inescapably compromised the precision of equipment alignment and the comfort of the operators to an extent we would not normally have tolerated. For example, midway through this period of experiments, we were obliged to abandon our computerized overhead optical tracking system, which had become prejudiced by repeated jostlings of its mountings and of the robot table itself, in favor of manual time and position observations,...
This is amateur hour.
Memory in C++ is a leaky abstraction .

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Sat Oct 03, 2020 2:00 am

jahboater wrote:
Fri Oct 02, 2020 10:25 pm
I liked the first version of the UK premium bonds lottery (ERNIE) which derived the winning numbers from the coordinates of cosmic ray particles arriving on a metre square metal plate on a roof in London.
No it did not.

The story is better than that. ERNIE was build by Tommy Flowers. The same Tommy Flowers that built the Colossus code breaking computer at Bletchly Park.

The story and description of ERNIE's workings is here: https://ernie.virtualcolossus.co.uk/ernie.html
Memory in C++ is a leaky abstraction .

Heater
Posts: 16846
Joined: Tue Jul 17, 2012 3:02 pm

Re: Random Number Generator Using Build In Hardware

Sat Oct 03, 2020 2:23 am

pidd wrote:
Fri Oct 02, 2020 8:43 pm
There is no such thing as a true random number generator, all hardware is influenced by something, be it gravity, magnetism, light, radiation, movement, pressure etc etc. That is why the best (least worst) random number generators we have are algorithms seeded and re-seeded by hardware noise generators, the combination reduces the influence of the inadequacies of each individual method.
Thing is, a source of random numbers is not actually what these guys want. What they want is a way to measure and demonstrate the effect of "psychokinetic waves" or force or whatever it is on actual matter as we know it.

The call for a "real random noise" source only comes about because they have never managed to measure such an effect. Apparently because it is so weak. See talk of "possible to bend a very thin copper fiber" above. The argument being that the random motions going on in such a noise source are very small so the weak "psycho waves" could affect it.

I would like to point out a hysterical absurdity in all this psycho research:

If they actually did proper scientific experiments on this, with delicate measurement instruments and techniques, to measure these very weak psyscho wave effects, then they would soon find out they had a huge lot of random noise in their measurements. Noise is unavoidable in any measurement. From thermal noise, electrical disturbance, mechanical vibration of the equipment, down to quantum fluctuations.

As an example of such noise in measurements have a look at what they have to do to combat it and get meaningful results in gravity wave detectors like LIGO: https://www.ligo.org/science/Publicatio ... uspensions.

Or of course the search for the Higgs particle at CERN.

In short, what the psycho wave guys are doing is bypassing all that proper measurement stuff, because it is difficult and expensive, and just going straight for the noise!

Which has the beneficial side effect being able to produce any result you want, baffle and amaze naive onlookers, and ensure further funding.

James Randi debunked these "magic tricks" very well:
https://www.quora.com/Why-did-James-Ran ... eal-powers
https://www.nytimes.com/2014/11/09/maga ... randi.html
Memory in C++ is a leaky abstraction .

Return to “C/C++”