Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Chaotic circuits are neat, but they are actually not random (their output distribution is not uniform or gaussian). And candles are not random either :)

btw, slightley related: https://cpldcpu.com/2020/06/15/building-a-chaotic-oscillator...



> their output distribution is not uniform or gaussian

https://www.worldscientific.com/worldscibooks/10.1142/7200#t...

> "More in details, Ando and Graziani demonstrated that the Chua's circuit can be used to generate either a gaussian or a uniform white noise. To do this, they investigate the statistical and spectral characteristics of the signals generated by a Chua's circuit with respect to different values of the parameters α and β. They then applied the x^2 method to determine which set of parameters leads to a signal having the statistical and spectral characteristics more similar to those of either a Gaussian or uniform noise. By using this method, a signal with a Gaussian-like distribution is obtained with a confidence of 95% for this set of parameters: ..."

They've got charts of the probability density functions for each that seem reasonable to me.


Nice, I was not aware of that! Quite interesting. Thank you for the source.

It seems to be a corner case. As I learned to know them, chaotic circuits have unpredictable cyclic behavior. Chua's circuit typically follows an oscillatory behavior with a double attractor.

If true randomness is the goal, it is much easier to use other sources of randomness like avalanche transistors, jitter of ring-oscillators in the analog domain or LFSRs if you are in the digital domain.


This was a cool post. A few nitpicks for anyone else interested in the topic:

(1) a process can be random without being uniform or gaussian

(2) a deterministic process can generate a uniform or gaussian output

(3) chaotic systems are traditionally deterministic by definition. they're deterministic and are sensitive to initial conditions.


Thank you for your comment, indeed!

I think the main confusion for analog implementations of chaotic circuits is that they often have an inherent source of noise (e.g. johnson or flicker noise of resistors, transistors) which will be amplified into large changes by the sensitivity of the system to initial (and also intermediate) conditions.

So the actual implementation has an unpredictable behavior, but this is because the randomness of the components is amplified.

I don't know what the most obvious distinction between a chaotic analog circuit and a TRNG is. For me it was always obvious that any kind of visible structure in the trajectory (the attractors) contradicts randomness. But whenever people see Chua's circuit brought up, there are lots of commends regarding random number generators. It turned into a bit of a pet peeve of mine.


That makes a lot of sense.

I don't know much (or really anything) about circuits and circuit noise.

There is a long history of deterministic pseudo RNGs, which you may already know about. https://en.wikipedia.org/wiki/Pseudorandom_number_generator. These are sometimes chaotic. In this line of thinking, a thing that generates unpredictable noise and adds chaos would make probably a good hardware PRNG.

But the chaotic part is not actually random (although it's hard for attackers to predict). And whether the noise is random depends on a bunch of physics.

But if this has gotten to the point of a pet peeve to you, you might be interested in Randomness Extractors (https://en.wikipedia.org/wiki/Randomness_extractor) which are a way of thinking about questions like "we have an unpredictable source of bits, but it's not as random as it seems... how can we extract actual randomness from it?"

For example, extractors can take low quality somewhat random non-uniform (or non-gaussian) output and use it to create high quality uniform (or gaussian output).


Nice! Thank you for the pointers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: