Skip to main content
Pseudorandom number generator

Pseudorandom number generator

Search complete. 24 mentions across 10 episodes found for "Pseudorandom number generator".

Oct 22, 2026

Josh MarpetPANELIST
95:13
One, it was done back in 97, 98.
Josh MarpetPANELIST
95:15
I don't know that anybody's actually audited that that's, you know, PRNG.
Josh MarpetPANELIST
95:20
and, and, and decided that it is absolutely like it's valid random numbers or random number generators and, and number I'm somewhat, I don't know, whatever.
Josh MarpetPANELIST
95:30
Sorry.
Steve GibsonHOST
124:33
Claude tried a different angle, anticipating how the software that generated the curves must have worked.
Steve GibsonHOST
124:44
Claude guessed the software used a pseudo-random number generator," a PRNG that we've talked about ad nauseam on the podcast in years past, "that shipped with 1990s C libraries.
Steve GibsonHOST
125:01
These old PRNGs are weak enough that their output can be recognized.
Steve GibsonHOST
125:08
Recognizing that output would reveal which PRNG was used and possibly allow recovery of its initialization state." Because just to digress for a second, you, you start a PRNG with a certain state, and it is a very simple algorithm.
Steve GibsonHOST
125:29
Typically, it's you, you add a number and you multiply a, a different number and you throw away the overflow, keeping just the lower bits.
Steve GibsonHOST
125:37
And that follows a very recognizable pattern based on what those two numbers are.
Steve GibsonHOST
125:44
But it also starts at something, and that's the or- the, the original seed, the, the, its initialization state.
Steve GibsonHOST
125:51
So then they said, "Claude, having been asked where did these nu- where, where weird-looking numbers come from, having no idea whatsoever, says, 'Well, probably, how about maybe it was a, a PRNG back from then, like the 1990s, and people were using C.
Carl SverreGUEST
18:48
... or you do anything like that, you're always gonna get something that we completely control.
Carl SverreGUEST
18:53
Now, a lot of software will read dev random and time, and then they'll like mix the bits, and then they'll initialize like a PRNG, for example, to be able to have faster random number generation, which most runtimes will do.
Carl SverreGUEST
19:06
When you're running in Antithesis, we actually recommend that you don't do this.
Carl SverreGUEST
19:09
So if you do use a PRNG in your software, you actually replace the PRNG with direct reads to system randomness.
Carl SverreGUEST
19:16
And there's a reason for that, and that reason is the second ingredient of DST.
Carl SverreGUEST
19:20
So the first ingredient is determinism, so the ability to be deterministic, so the same series of events occur.
Carl SverreGUEST
19:26
The second ingredient of DST is simulation.
Carl SverreGUEST
19:28
And the reason why we want to be able to control randomness at every moment, so you not having a PRNG that's preceded, that has this, a particular series of events that's gonna happen, but instead you're always asking us for randomness, is that in DST, we want to be able to branch the simulation.
speaker_2HOST
4:05
Because of this, they are extraordinarily bad at creating true randomness.
speaker_2HOST
4:10
To simulate chaos, they actually need external help, and this is the difference between a pseudo-random number generator, a PRNG, and a true random number generator, or TRNG.
speaker_1HOST
4:21
We covered the ColdCard vulnerability in a recent episode, and that bug was directly tied to this exact distinction, wasn't it?
speaker_2HOST
4:27
It was.
speaker_1HOST
4:44
But what about the cryptographically secure ones?
speaker_2HOST
4:46
Right.
speaker_2HOST
4:46
A cryptographically secure PRNG makes its outputs computationally infeasible to predict without knowing its internal state.
speaker_2HOST
4:54
But, and this is key, it cannot create additional entropy out of thin air.
Jessica LyonsGUEST
15:03
Okay, okay.
Jessica LyonsGUEST
15:04
PRNG was leaking its output.
Brandon VigliaroloHOST
15:07
Wow.
Brandon VigliaroloHOST
15:08
Okay.
Bill McKennaHOST
13:22
Now, one of the tests that he did was to, uh, hook it up to the plant, but then he, he had, uh, shrimp, and live shrimp, uh, in a bowl and water.
Bill McKennaHOST
13:39
A- and he r- had a release mechanism that was on a, uh, they call it a pseudo, pseudorandom number generator, a PRNG.
Bill McKennaHOST
13:50
And, uh, these, this random number generator, when it would w- uh, it would dictate when it, when the release was gonna happen, and so nobody knew the exact moment.
Bill McKennaHOST
14:05
And he closed the door to his office.
speaker_1HOST
2:21
Exactly.
speaker_1HOST
2:22
So specifically, in versions 3.0.0 through 3.2.0, the software generates its session cookie signing keys using a weak, non-cryptographic pseudo-random number generator.
speaker_0HOST
2:34
Meaning they are using JavaScript's Math.random function.
speaker_1HOST
2:39
Yes.
speaker_1HOST
4:02
The remote attacker just collects a small handful of these login responses.
speaker_0HOST
4:06
Okay.
speaker_1HOST
4:06
And because the pseudo-random number generator, the PRNG, is so mathematically rigid, those few outputs act as breadcrumbs.
speaker_0HOST
4:14
Oh, I see.
Nic TringaliHOST
26:22
Um,
Bruno DiasGUEST
26:23
That is interesting to think about because I wrote an implementation of PRNG last week, which sounds like a very difficult and challenging task, but really what that means is that I read an implementation that already exists and I wrote it over again in a different language.
Bruno DiasGUEST
26:43
that's programming that is like a significant chunk of programming yeah and it's just like you know oh it's literally just doing stupid shit to numbers so that you get a sequence of numbers that kind of vaguely looks like it's random even though it absolutely is not
Brendan McLeodHOST
27:00
is that for liar is
Ted PavlicHOST
32:01
What does that tell you about the PRNG? And so, you know, then you have to be able to answer that.
Ted PavlicHOST
32:09
All right, so any questions about these concepts, this idea that the null is uniform, rejecting the null means rejecting uniformity, that uniformity is specifically what we're looking for, not any other type of randomness, and PRNGs should hopefully be very uniform.
Ted PavlicHOST
32:30
Okay, and then the last little feedback here, so this is on the homework that you'll be turning in this weekend, but these are just the common issues that we see.
Ted PavlicHOST
32:40
The biggest thing is when you're taking an inverse of the PDF to get the CDF, don't simply take the antiderivatives of each row.
Ted PavlicHOST
11:18
And then we can't ever have true random numbers, so that's why they're pseudo random.
Ted PavlicHOST
11:23
So we need a pseudo random number generator, a PRNG.
Ted PavlicHOST
11:26
So how do we get that? And so we said that, well, there are some of these that have been built for us, like inside Excel, RAND.
Ted PavlicHOST
11:38
They can do that for us.

33 MINS LATER

Ted PavlicHOST
44:22
We've gone through the so-called correlation links And so now I don't see that so much, but I just want to highlight that, that if you happen to do, you know, if you were to search for a runs test, make sure that you're learning about the right test because the test we deal is the runs above and below the mean, but there are other runs tests.
Ted PavlicHOST
44:42
One of them is the up and down and they're both very common, but I just think this is the easier one to use.
Ted PavlicHOST
44:48
Now, if you go to this little PRNG widget that I built for you, I also put in what's called a lattice plot or a Poincaré plot or return map.
Ted PavlicHOST
45:00
And so it turns out if you plot the numbers against a previous number against the next number, and you look at that scatter plot for really bad random number generators, you can eventually kind of rotate this and start seeing a lattice form.

We value your privacy

We use cookies to understand how you use our platform and to improve your experience. Click “Accept All” to consent, or “Decline non-essential” to opt out of non-essential cookies. Read our Privacy Policy.