Speaker 1: Brought to you by Toyota. Let's go places. Welcome to
Speaker 1: Forward Thinking, heys and welcome to Forward Thinking, the podcast
Speaker 1: that looks at the future and says zero zero zero
Speaker 1: zero zero zero one zero zero zero zero zero zero
Speaker 1: one one. I'm Jonathan Strickland and I'm Joe McCormick, and
Speaker 1: today I thought we should talk about something really random,
Speaker 1: well not that random, because we were asked to talk
Speaker 1: about it. Actually it's fairly predictable. But a sort of
Speaker 1: random request came in a user, not a user listener.
Speaker 1: We're not some piece of software, not yet, kind of
Speaker 1: like one you aren't, Okay, No, our listener, Sean wrote
Speaker 1: into us via email and asked us, how about something
Speaker 1: on random number generators r n G S or pseudo
Speaker 1: random number generators p r n G S or p
Speaker 1: png G p r G S and the likes and
Speaker 1: what better sources of entropy might be tomorrow. I thought
Speaker 1: this was a great topic because random numbers are a
Speaker 1: fascinating subject that does not get enough love. Yeah, it
Speaker 1: actually ends up being a philosophical discussion, going to the
Speaker 1: point where you're you're starting to question the very meaning
Speaker 1: of the universe, and it sounds like I'm being flippant,
Speaker 1: but that is totally true, right, It goes sort of
Speaker 1: to the very nature, the base nature of what reality is. Yeah.
Speaker 1: So when you get to that, you know, it's saying, like,
Speaker 1: wo how can we make a true random number generator?
Speaker 1: Things get a little little whibbli wobbly and timey. Whymy Yeah?
Speaker 1: So what would it mean for a number to actually
Speaker 1: be random? Hold on? Hold on? I've got some some
Speaker 1: elementary school knowledge to drawn because when I was in
Speaker 1: fifth grade, my classmates I would do something and then
Speaker 1: one of the girls in my class would say, Joe,
Speaker 1: you're so random. So clearly that was it, right you?
Speaker 1: You drew upon an infinitely large list of potential behaviors
Speaker 1: and picked one with no predetermination of which one that
Speaker 1: would be, and that's what you went with. Well, I
Speaker 1: don't know. I think we can spend the rest of
Speaker 1: this podcast going back and forth about whether or not
Speaker 1: my fifth grade classmates were using the word random correctly.
Speaker 1: But random doesn't mean weird, and random doesn't mean what
Speaker 1: what would it be? You know? Like bad or pointless?
Speaker 1: That's the thing people often say random to mean pointless. Sure,
Speaker 1: although it does mean unpredictable, and they could have been
Speaker 1: talking about the fact that you were behaving unpredictably. You know.
Speaker 1: That's another thing, though, If somebody is consistently weird, they're
Speaker 1: not really unpredictable. You can predict what they're going to be,
Speaker 1: which is weird. Well, what depends on what kind of
Speaker 1: weird they're being. I mean, if you're being like Tim
Speaker 1: Burton weird, that all you can predict is that they
Speaker 1: will be weird. You cannot necessarily predict each individual weird
Speaker 1: action that person takes, so the general behavior might be
Speaker 1: predictable in the sense that this is generally a series
Speaker 1: of unpredictable events. My head hurts. Okay, okay, let's get
Speaker 1: back to numbers so we can do this topic. Right.
Speaker 1: So what would it mean for a number a number
Speaker 1: to truly be random? Well, for talking with computers, this
Speaker 1: simplifies things in a huge way because computers understand two
Speaker 1: numbers zero and one, right, that's a bit okay, So
Speaker 1: which one's random is zero? Okay, you're not exactly all right?
Speaker 1: Have you ever watched an American football game, Joe, I
Speaker 1: believe I've heard of this. Yeah, at the beginning of
Speaker 1: an American football game, the referee will toss a coin
Speaker 1: into the air and allow one side to pick either
Speaker 1: heads or tails, which will then allow that side to
Speaker 1: determine whether they will kick off or receive the football.
Speaker 1: Should there called sign land face up. If it's, of course,
Speaker 1: the other one, then the other team gets to make
Speaker 1: that choice. But the determination is random. It's determined by
Speaker 1: an act of chance the the side of the coin
Speaker 1: that ends up facing up right. Right. So the thing
Speaker 1: about this is maybe if we flipped a coin ten
Speaker 1: million times, we might find out that a coin flip
Speaker 1: is not actually random. Well, you would have to flip
Speaker 1: the coin a huge number of times and start to
Speaker 1: look at it and say how far does this deviate
Speaker 1: from and does that in fact suggest that there's something
Speaker 1: strange about the coin that is causing it to come
Speaker 1: up on one side more frequently than the other. Right,
Speaker 1: But it's at least random enough, right, It's unpredictable that
Speaker 1: somebody couldn't bank on heads or tails and come out
Speaker 1: right most of the time. Right. So a true random
Speaker 1: bit generator which would only be able to generate a
Speaker 1: zero or a one, would do so, uh, and you
Speaker 1: would be unable to have a greater than fifties probability
Speaker 1: of predicting whatever the next bit generated was going to be.
Speaker 1: So in other words, no matter how many bits have
Speaker 1: been generated in the past, even if you knew every
Speaker 1: single one of those, like you had a record, you
Speaker 1: have maybe a binder filled with zeros and ones that
Speaker 1: tell you every single bit this thing is generated in
Speaker 1: the past, you would not be able to use that
Speaker 1: information to guess what the next bit would be because
Speaker 1: every single time it generates something would be independent and unpredictable.
Speaker 1: All right, So let's if you do have a true
Speaker 1: random bit generator, then you are able to create these
Speaker 1: bits without being able to determine ahead of time which
Speaker 1: one it's going to be. It's unpredictable, it's truly random.
Speaker 1: So computers are not very good at that. But we'll
Speaker 1: get into that. But let's say that you harvest a
Speaker 1: series of bits from a random source, all right. Now,
Speaker 1: some of those bits may actually be guessable because they
Speaker 1: might be dependent upon other bits. So if you, for example,
Speaker 1: have a zero or a one, and you could not
Speaker 1: predict whether that was going to be a zero or
Speaker 1: a one, but an adjacent bit if you know if
Speaker 1: the first bit of zero, it's always also going to
Speaker 1: be a zero. Like if you know that, then suddenly
Speaker 1: you have a little less randomness in that number because
Speaker 1: it's dependent upon the value of an earlier bit. So
Speaker 1: the if you add up all the ones that are
Speaker 1: truly unguessable the bits within that numeral that you have,
Speaker 1: and you add up all the ones that are truly
Speaker 1: impossible to predict, that ends up being entropy. That's what
Speaker 1: we call entropy in this instance. Entropy in general means
Speaker 1: something else in physics, but in this case, that's what
Speaker 1: entropy is referring to. It sort of makes sense. The
Speaker 1: use of that term entropy is in a closed system,
Speaker 1: when everything tends towards chaos, Yeah, things break down, order
Speaker 1: breaks down, and and chaos is a form of predictability definitely. Sure. Yeah,
Speaker 1: like physics heat right, Yeah, at least chaos and at
Speaker 1: any rate, chaos ends up being complexity, which for humans
Speaker 1: tends to go towards unpredictability, although technically complexity and unpredictability
Speaker 1: are two separate things. If you have a computer system
Speaker 1: complex enough and powerful enough that that complexity within a
Speaker 1: chaolic system could potentially be predictable. But we'll get into
Speaker 1: that too. Well, that is what we need to talk
Speaker 1: about now, because I'm sure y'all have all used a
Speaker 1: computer program at some point a few times that gives
Speaker 1: you that gives you some kind of outcome that's based
Speaker 1: on a random number what should be considered a random number.
Speaker 1: But most of the time when you've done that, I
Speaker 1: bet that it has not been a true random number,
Speaker 1: but what we would call a pseudo random number. So
Speaker 1: it's random enough, it's ran him enough that it generally
Speaker 1: works for things that are low stakes, it can fill in.
Speaker 1: Let's say you're playing a computer game and it's something
Speaker 1: that calls for some random element to be like the
Speaker 1: dice roll for hit points on a on an RPG
Speaker 1: game or something. It can do that fine, But when
Speaker 1: you think about it, how could it actually be truly random?
Speaker 1: Because computers are deterministic machines. Every event in the computer
Speaker 1: unless there's some kind of like physical error that's introduced
Speaker 1: by the outside, unless there's some kind of error that's
Speaker 1: caused by I don't know, quantum tunneling or something like that,
Speaker 1: just some mechanical or electrical failure, But everything that happens
Speaker 1: as it should is deterministic. It's controlled by instructions based
Speaker 1: on what has come before, right, specific instructions that people
Speaker 1: have written that it's just following. So how would you
Speaker 1: tell a computer come up with a random number? If
Speaker 1: if you're a computer, the way you answer that is, okay,
Speaker 1: what random number should I use? Yeah? So essentially what
Speaker 1: you have to do is you have to build in
Speaker 1: some form of algorithm that's a set of instructions. Algorithm
Speaker 1: is essentially just a fancy word for saying instructions, And
Speaker 1: those instructions would be to take some form of input, uh, normally,
Speaker 1: apply some series of calculations to that input, and then
Speaker 1: the output is your random number. Right, so your input
Speaker 1: should be at least somewhat changeable, something you know, beyond
Speaker 1: just the string of four digits. That clearly wouldn't work
Speaker 1: because it would always the outcome would always be the same. Right,
Speaker 1: So you might sample something like the time. Yeah, the
Speaker 1: time of day in fact, is a very common one
Speaker 1: for simple random number generation or pseudo random number generation.
Speaker 1: So that you send in a command, it takes note
Speaker 1: of the time stamp like the date and time, exact
Speaker 1: time that you said, do this thing, converts that into
Speaker 1: the seed that's the number that will be fed through
Speaker 1: the algorithm or formula, and then you get the output,
Speaker 1: the actual quote unquote random number, which is not truly random. Again,
Speaker 1: it's dependent upon the time that you sent the command
Speaker 1: and whatever that series of steps happen to be. And
Speaker 1: it might be that that's a lot of steps, it
Speaker 1: might be very simple. It might be multiply uh, the
Speaker 1: seed by this number and then subtract this other number
Speaker 1: from it, and whatever is left that is your random number.
Speaker 1: But it's important to remember that the pseudo random tree
Speaker 1: always does grow from the seed, so it's entirely dependent
Speaker 1: on what the seed is. Yes, and if the seed
Speaker 1: is not random, then the final output can't in a
Speaker 1: mathematical sense, be said to be truly random. Well, yeah,
Speaker 1: and we often in discussions of random number generators you
Speaker 1: will often see the term attacker because a lot of
Speaker 1: random number generation centers around security and cryptography and incredi
Speaker 1: option and it's very important in those fields. And in
Speaker 1: those fields you might have a potential attacker, someone who
Speaker 1: is looking to to to exploit a vulnerability or infiltrate
Speaker 1: a system in some way, and so the the robustness
Speaker 1: of your random number generator is very important because if
Speaker 1: it's not robust, if you can start to see a
Speaker 1: pattern or you're able to predict what that next number is,
Speaker 1: then your security is compromised. Right, someone could actually end
Speaker 1: up posing as a valid user and uh compromise the system. Sure,
Speaker 1: we can talk more about the purposes and uses of
Speaker 1: random numbers in a minute, but finish making the distinction
Speaker 1: between random numbers and pseudo random numbers. Yeah, so a
Speaker 1: true random number has to be unpredictable, which, again, computer
Speaker 1: is not good at doing that because they have to
Speaker 1: follow some sort of set of instructions. So true random
Speaker 1: number generators tend to be such a thing as possible
Speaker 1: by the way, Right, we'll get to the philosophy again later,
Speaker 1: But true random numbers tend to be based on hardware approaches.
Speaker 1: So a very simple true random number generator would be
Speaker 1: a good classic one would be dice, Right, because all
Speaker 1: things being equal, assuming there's nothing wrong with the dice,
Speaker 1: any roll of the dice is just as likely to
Speaker 1: bring up one side versus any of the other sides,
Speaker 1: So it is a random event. You cannot predict which
Speaker 1: number is going to come up next. Right, Even even
Speaker 1: if you were to roll a die thirty times in
Speaker 1: a row, you wouldn't be able to predict what the
Speaker 1: thirty first role would give you, unless again, something was
Speaker 1: wrong with the dice. Sure, I mean, you know we're
Speaker 1: kind of talking about and all of this comes back
Speaker 1: to the problem of of we're talking hypotheticals and a
Speaker 1: perfect universe where the table is perfect and the dice
Speaker 1: are perfect, and the person throwing the dice is perfect,
Speaker 1: and none of this is influencing the outcome, which of
Speaker 1: course it does. Yeah, I wouldn't be surprised if you
Speaker 1: ran an experiment, or if you could, if you ran
Speaker 1: an experiment where you had somebody roll a die ten
Speaker 1: billion times, I suspect you would find that some sides
Speaker 1: of that die are actually more likely to come out
Speaker 1: on top than others. Again, it all depends upon the
Speaker 1: construction of the die, right, because if the die is
Speaker 1: truly los as close to perfect as possible, then you
Speaker 1: shouldn't have any any bias there. But so another thing
Speaker 1: you need to remember is a good pseudo random number generator,
Speaker 1: it will not have a repetitive cycle, although they all do.
Speaker 1: It's just the cycles tend to be very, very very long.
Speaker 1: So that uh two we mirror mortals, it appears like
Speaker 1: it never repeats. Um, they should have really good numeric distribution,
Speaker 1: which means it shouldn't favor any one number over any
Speaker 1: other number. You should have an equal distribution amongst them. Uh.
Speaker 1: And it shouldn't be predictable, obviously, because if it is,
Speaker 1: that it's not really useful. True random number generators are
Speaker 1: slow and inefficient, so that's why we don't tend to
Speaker 1: use them for really complex tasks, especially tasks where you
Speaker 1: have to generate a lot of random numbers in a
Speaker 1: short amount of time. Uh So the advantage though, is
Speaker 1: that they're nondeterministic and they're a periodic, so they don't repeat,
Speaker 1: and there's nothing that you can you know, you can't
Speaker 1: you can't predict the outcome because they're nondeterministic. Pseudo random
Speaker 1: numbers are deterministic and periodic, but they are also way
Speaker 1: more efficient, so it's easier to generate a lot of
Speaker 1: them in a short amount of time. And if you
Speaker 1: make a strong enough, a robust enough system, despite the
Speaker 1: fact that they're deterministic and periodic, they can still be
Speaker 1: largely unpredictable. Right there. Uh, they're so big. Basically, there's
Speaker 1: so much brain power involved in predicting them that they
Speaker 1: can be effectively thought of as random. Right. The goal
Speaker 1: is that you have to make it complex enough where
Speaker 1: a brute force attack, which is where you would just
Speaker 1: start going with, every potential answer for the problem could be,
Speaker 1: you know, used one at a time. Right, you do
Speaker 1: that thing where you throw ten million or ten billions
Speaker 1: exactly if you can make that random, that pseudo random
Speaker 1: number large enough so that the effort it would take
Speaker 1: to successfully get a brute force attack to work is
Speaker 1: greater than what most people have at their disposal. Your
Speaker 1: system is generally thought of to be pretty safe. So,
Speaker 1: in other words, let's say that it's the Hollywood version
Speaker 1: of hacking where you use a joystick. None. None of
Speaker 1: those systems are very safe. Yeah, it's your first you've
Speaker 1: got to get some eyeliner, or or your password is
Speaker 1: five letters long, it's all upper case and it's just
Speaker 1: sword or something like that, and that's that gets you
Speaker 1: into the system. Uh yeah, that would those those security
Speaker 1: systems would fail dramatically compared to what we're talking about here. Okay,
Speaker 1: so we have computers that work as pseudo random number generators.
Speaker 1: They're they're random enough even if they're not true random.
Speaker 1: Then we have some other ways of maybe creating something
Speaker 1: that might be thought of as truly random. We can
Speaker 1: debate and talk about those later, But first, why do
Speaker 1: we need random numbers? Like, what's the point other than
Speaker 1: you know, if we've got pseudo random number generators that
Speaker 1: are good enough. I mean, why do we actually have
Speaker 1: to come close as possible to true randomness. Well, if
Speaker 1: you want to play a chaotic neutral character in Dungeons
Speaker 1: and Dragons, you want to get as close to truly
Speaker 1: random as possible because that's what that's what dictates their hearts. UH.
Speaker 1: To be more serious, you would want random numbers, really
Speaker 1: good random numbers, for lots of different purposes. One is
Speaker 1: UH sampling, So sampling populations. Now this can mean anything,
Speaker 1: not just sampling populations of people, but for all sorts
Speaker 1: of types of of of scientific inquiry. But one real
Speaker 1: life example I can point to is imagine that you
Speaker 1: are at t S a secure pity agent, and your
Speaker 1: job is to stop a random stop random people for
Speaker 1: screening at the airport, and you're not supposed to act
Speaker 1: on any bias. Right, You're not supposed to stop people
Speaker 1: because of the way they look or anything along those lines.
Speaker 1: What your what your directive is, you're stopping a random person,
Speaker 1: and if you truly wanted to be random, you would
Speaker 1: need to have this kind of generator that would tell
Speaker 1: you the seventh person to go through this. This line
Speaker 1: is the one you stop the next time it says
Speaker 1: the second person, next time it says the forty seventh person,
Speaker 1: and you would just follow that instead of acting upon
Speaker 1: your own quote unquote, Oh, I'm going to stop this
Speaker 1: person because now it's time for me to do another
Speaker 1: random search. Something that goes along with sampling, though, is
Speaker 1: actually something that might be useful in science, which is simulation. Yeah,
Speaker 1: I mean in simulating trials and real world events. If
Speaker 1: you're going to try to run an experiment on your
Speaker 1: computer instead of in real life, it's very important to
Speaker 1: be able to have random inputs. Sure, even if you
Speaker 1: are incorporating a human into the testing. So let's say
Speaker 1: it's a simulation where you are simulating it's like a
Speaker 1: test pilot simulating a simulated flight where you're simulating weather
Speaker 1: patterns as well. Clearly you want those weather patterns to
Speaker 1: be as random, but still, you know, still akin to
Speaker 1: actual weather, realistic right, because otherwise what could happen is
Speaker 1: the test pilot goes through the system, perhaps things go
Speaker 1: poorly and the test pilot ends up crashing the simulated plane,
Speaker 1: and then the test pilot is told to go through
Speaker 1: it again after some adjustments have been made. But now
Speaker 1: the test pilot knows that pattern. So if the pattern
Speaker 1: was exactly the same, you wouldn't be sure that whatever
Speaker 1: changes you made were actually the things that affected the
Speaker 1: outcome of the simulation. You need that randomness so that
Speaker 1: you can ensure that the thing you are actually testing matter. Yeah,
Speaker 1: you don't want the pilot to be able to just
Speaker 1: like memorize, like like she's playing Battle Toads or something
Speaker 1: where you know, yeah, here's where the crossmen come three
Speaker 1: times and then down, yeah, and then it's the goomba
Speaker 1: and then right as a that's a heck of a
Speaker 1: mixed of video game. I mean, it would make Battletoads
Speaker 1: a lot easier. Honestly, goombas were the enemies, but the uh,
Speaker 1: you know another example. And you know, it sounds like
Speaker 1: I'm being kind of trivial with these, but these are
Speaker 1: really true. Gambling is important. It sounds trivial now if
Speaker 1: you're a gambler. I'm sure it's not trivial at all,
Speaker 1: because you you definitely you're counting on the fact that
Speaker 1: the numbers that are coming out of the system are
Speaker 1: truly random. If there is a bias somehow, I suspect
Speaker 1: if there were a bias, it would be a bias
Speaker 1: toward the house. I can't say for sure, but yeah,
Speaker 1: who knows, well it matters. Very cynical, Joe. But let's
Speaker 1: say it's a game of craps. Now, with craps, there
Speaker 1: are a lot of different ways to bet, So your
Speaker 1: bet is what is gonna matter, not not whether or
Speaker 1: not certain numbers come up more frequently frequently than others.
Speaker 1: Because if you know notice that certain numbers are coming
Speaker 1: up more frequently than others, you can place your bets
Speaker 1: toward that to try and win, which would give the
Speaker 1: incident to the house to change out those dice immediately,
Speaker 1: because otherwise they're going to start losing money if people
Speaker 1: pick up on that. So it depending upon the game.
Speaker 1: It can really be in the house's interest to make
Speaker 1: sure that this game is working exactly the way it's
Speaker 1: supposed to and things like have a house advantage. Sure, yeah,
Speaker 1: things like slot machines. I did a full episode on
Speaker 1: slot machines for tech Stuff where we talked about the
Speaker 1: various elements that introduce kind of, uh, the randomness in
Speaker 1: slot machines to make them attractive to people who want
Speaker 1: to gamble. And in fact, over the lifetime of a
Speaker 1: slot machine, most slot machines, and they guess pay out
Speaker 1: somewhere between ninety and nine of all the money that
Speaker 1: go into over the lifetime of the machine. On a
Speaker 1: day to day basis, that is not the case. So
Speaker 1: you've got to keep in mind this is a long
Speaker 1: game you're talking about. But but randomness is important in
Speaker 1: that in that realm too. It's not like there's a
Speaker 1: series of mechanical gears in that slot machine that get
Speaker 1: that tells you whether or not you're going to win.
Speaker 1: It's actually more based upon the moment that you hit
Speaker 1: the button or pull the lever to initiate it. It's
Speaker 1: more of that time stamp approach we talked about earlier
Speaker 1: in the podcast. But of course, another big use and
Speaker 1: the main one we alluded to earlier, is cryptography in
Speaker 1: keeping things secret and keeping them safe. Yeah, pretty much nice?
Speaker 1: Is it secret? Is it safe? The yeah, this is
Speaker 1: a big one. So this can be for anything, right,
Speaker 1: not just not just the super secure stuff you want
Speaker 1: like banking or or purchases. But anytime you log into
Speaker 1: any kind of web service where you're you're actually you know,
Speaker 1: you're logging in as yourself, you are assigned a unique
Speaker 1: I D for the duration of your visit to that website.
Speaker 1: It's how the server knows that this is you, even
Speaker 1: if you are navigating around the various site to the
Speaker 1: various pages within it. If you're logged in and knows, oh, well,
Speaker 1: this is Jonathan, or this is Lauren, or this is Joe,
Speaker 1: and it doesn't mix us up because we each have
Speaker 1: a unique identifier. Now, if whatever they're using to generate
Speaker 1: those unique identifiers is in fact predictable, it could allow
Speaker 1: an attacker to come in and if they have enough information,
Speaker 1: be able to guess at the unique ID of any
Speaker 1: one of the three of us and pose as us,
Speaker 1: which could be disastrous in the case of something like
Speaker 1: a bank account where they suddenly have access to all
Speaker 1: of our online banking stuff, that could be a huge problem.
Speaker 1: So you need to have a really robust system for
Speaker 1: generating random numbers to create these unique ideas. Now that's
Speaker 1: just one example. It is all over the place in cryptography.
Speaker 1: So all all of these are important reasons for us
Speaker 1: to have random numbers or pseudo random numbers at the
Speaker 1: very least. But how how have we dealt with actually
Speaker 1: creating these in in the past and right now? Well,
Speaker 1: if we want to look at the past, I think
Speaker 1: we've already been talking about one of the big ones,
Speaker 1: which is dice, dice, the roulette wheel, all kinds. They're
Speaker 1: basic analog mechanical methods for generating things that are pretty
Speaker 1: close to random. You know, they're they're probably not actually random.
Speaker 1: Like I said, I bet if you designed a machine
Speaker 1: to throw a die, you know, a hundred billion times
Speaker 1: or whatever, you would eventually determine there's some kind of
Speaker 1: slight bias based on how the dye is made, or
Speaker 1: how the machines throwing it, or even the surface upon
Speaker 1: which the die is hitting, because if you changed out
Speaker 1: the surface that would likely change the results. Yeah, all that,
Speaker 1: but generally things like these have been random enough for
Speaker 1: people they worked pretty good. Another thing that I wanted
Speaker 1: to think about was humans are brains generating random numbers consciously?
Speaker 1: Like I can say Lauren, what's a random number, Jonathan,
Speaker 1: random number pie? That strikes me as not especially random,
Speaker 1: But I like that. That's that's somehow less random than
Speaker 1: forty six. It's far less random than I don't get it,
Speaker 1: because hey, it was just pie d A three fourteen
Speaker 1: like three days ago that put the seed in your mind.
Speaker 1: If I was a hacker you were using, I would
Speaker 1: have guessed pie. I thought it is because I had
Speaker 1: pie for dessert today at lunch. That's why I think
Speaker 1: you had Mexican food for lunch, followed it up with pie.
Speaker 1: That's how I celebrate St. Patrick's days, Mexican food followed
Speaker 1: by pie. I admire your life. Okay, So the question
Speaker 1: is can humans consciously general right random numbers with any
Speaker 1: kind of success at all? I mean, when I just
Speaker 1: asked you all, I'm sure there was a somewhat predictable
Speaker 1: reason you said the number you did. Oh yeah, I
Speaker 1: think I actually picked forty six because I believe earlier
Speaker 1: you said and so that number was kind of in
Speaker 1: my head. But I didn't want to say that number
Speaker 1: because obviously that wouldn't be random. Yeah. So I've always
Speaker 1: heard the answer to this question is no, humans cannot
Speaker 1: generate random numbers with even distribution. So I looked it
Speaker 1: up just to make sure. I've seen actually some competing
Speaker 1: opinions about this pop up in the scientific literature. Uh,
Speaker 1: though strong caveat. Some of the recent papers I saw
Speaker 1: were published in the journal Medical Hypotheses, which is for
Speaker 1: much of its history in the time when these papers
Speaker 1: were published really more of a sort of playground for
Speaker 1: strange ideas than a place to publish rigorously conducted research,
Speaker 1: and like it was not pure reviews recently, right, but anyway,
Speaker 1: So with that very very strong caveat, at least one
Speaker 1: pay were published in Medical Hypotheses in two thousand and five.
Speaker 1: The author claimed that humans could consciously generate random number
Speaker 1: sequences with success. A quote from the abstract is the
Speaker 1: results suggest that humans can generate random numbers that are
Speaker 1: uniformly distributed, independent of one another, and unpredictable. I was
Speaker 1: a little skeptical of that, and actually there have been
Speaker 1: subsequent papers at least two I found in the same
Speaker 1: journal that claimed they tried to reproduce the original results
Speaker 1: and could not and found that that the results were
Speaker 1: substantially non random. It's the same kind of problem that
Speaker 1: I think has always been reported with humans trying to
Speaker 1: generate strings of random numbers, which is that they do
Speaker 1: things like repeat the same number twice in a row
Speaker 1: too often, or they they do too little of repeating
Speaker 1: the same number spaced out, and things like that. Actually,
Speaker 1: there was a funny story I think Jonathan was mentioning
Speaker 1: it earlier about John von Neuman. Yeah, yeah, no, Eman
Speaker 1: came up. Von Neuman came up with a or at
Speaker 1: least utilized a method that, uh, you know, if you
Speaker 1: were to just see a string of numbers, you would
Speaker 1: potentially be able to figure out what was going on
Speaker 1: if you were very, very observant. He used the middle
Speaker 1: square method. Here's how it works. You start with a number, usually,
Speaker 1: you know, like a four digit number. That's your seed,
Speaker 1: and you square that number. So then you're going to
Speaker 1: take the middle four digits of that number. You will
Speaker 1: actually get an eight digit number total. So you dropped
Speaker 1: the first two and you dropped the last two digits
Speaker 1: in the middle four. That becomes your new random number.
Speaker 1: When you need another random number, you square those four
Speaker 1: digits and you do the same thing. You do it
Speaker 1: over and over. But once you know this is going on,
Speaker 1: you can start to work backwards and figure out what
Speaker 1: what the methodology is, and only that you can predict
Speaker 1: what the next number is because you already have the seed, right,
Speaker 1: you know, this random number is actually the seed for
Speaker 1: the next random number, and I know the methodology used
Speaker 1: to generate the random number. Therefore I can already predict
Speaker 1: what the next one in that sequence is going to be.
Speaker 1: So the example I chose, and this was as random
Speaker 1: as I could think of. So it's not so not
Speaker 1: random at all, probably not probably not the You know,
Speaker 1: we we need to get into an episode where we
Speaker 1: really talk about the concept of free will and how
Speaker 1: how much of our actions are actually determined by external
Speaker 1: sources and other processes that we're not familiar with. So
Speaker 1: I fully admit all of those are at play. We'll
Speaker 1: save that for another day. Tell us about numbers I picked.
Speaker 1: So I picked the number five nine seven four, I
Speaker 1: squared it, took the middle four numbers that those middle
Speaker 1: four numbers were six eight eight six, I squared it.
Speaker 1: I took the middle four numbers that was four one
Speaker 1: six nine. So this was the same process. And if I,
Speaker 1: if you knew that that's what I was doing, then
Speaker 1: you would just take four, one, six, nine square. It
Speaker 1: take those middle four numbers and you would have my
Speaker 1: next quote unquote random number. So not very useful, not
Speaker 1: secure at all. You know. I love stories about John
Speaker 1: von Neumann because they're all about how he would do
Speaker 1: stuff like that in his head and and scare people
Speaker 1: sort of too smart for Earth in a kind of
Speaker 1: creepy way. I also found a great quote from him
Speaker 1: on the internet today where he said, anyone who considers
Speaker 1: arithmetical methods of producing random digits is of course in
Speaker 1: a state of sin. For as has been pointed out
Speaker 1: several times, there is no such thing as a random number.
Speaker 1: There were only methods to produce random numbers, and the
Speaker 1: strict arithmetic procedure, of course, is not such a method.
Speaker 1: So I think the point he makes is not that
Speaker 1: pseudo random numbers produced by algorithms are useless, just the
Speaker 1: folly of thinking they're truly random. Just a random is
Speaker 1: the incorrect term. Sure, right, but we've actually got a
Speaker 1: lot of ways today of producing what some would argue
Speaker 1: actually are true random numbers, and then other people would say, no,
Speaker 1: they're not. Actually Yeah, yeah, we can argue about it,
Speaker 1: but what are the truest of the true random numbers,
Speaker 1: so we can come up with Now, I'm going to
Speaker 1: give an overview of this one, because honestly, the more
Speaker 1: I looked into it to try and be able to
Speaker 1: to explain in a simple way what was going on,
Speaker 1: the more I realized I was not understanding it. So,
Speaker 1: uh that caveat out there. Uh. Makoto Matsumoto and Takuji
Speaker 1: Nishimura developed the Mersin Twister method of generating pseudo random numbers,
Speaker 1: which is based off the mathematical concept of the Mercin prime,
Speaker 1: named after Marin Mersen. Okay, So, what is a Meyerson
Speaker 1: prime number? That's a prime number that is one less
Speaker 1: than a power of two. So two to the power
Speaker 1: of two or two squared minus one is three. That's
Speaker 1: a prime number. That would be a Messson prime. But
Speaker 1: obviously you wouldn't want to use a number that small
Speaker 1: for your period of your prime number generation. That would
Speaker 1: be the essentially the the the entire span of numbers
Speaker 1: that you could use before having to repeat, and the
Speaker 1: smaller that is, the more easily it is broken. Right,
Speaker 1: So you want a big one, boy, how do they
Speaker 1: go with a big one? Uh? So for their thirty
Speaker 1: two bit word length version. Uh there is a sixty
Speaker 1: four bit as well, but for the thirty two bit version,
Speaker 1: they went too to the power of nineteen thousand seven
Speaker 1: and then you subtract one from that number. Yeah, it's
Speaker 1: a big number. Uh So the algorithm itself for generating
Speaker 1: the random number, I mean, this is the period. That's
Speaker 1: not the random number, obviously, because that's just a number.
Speaker 1: Uh the algorithm was way too complex for me to
Speaker 1: unders stand it, so there's no way I can describe it.
Speaker 1: I'm sure there's some mathematicians out there who are rolling
Speaker 1: their eyes, perhaps audibly at this point at my ignorance.
Speaker 1: But keep in mind I was a liberal arts major,
Speaker 1: and in his grave I doubt it not, nor do
Speaker 1: I blame him. Probably yes, in a random fashion. Uh So,
Speaker 1: the thing is that this is a really complex system.
Speaker 1: It does generate pseudo random numbers, it does not necessarily
Speaker 1: pass all the tests of randomness. However, it is really popular.
Speaker 1: It's used by a lot of web servers, for example,
Speaker 1: in its method of producing random numbers or pseudo random numbers.
Speaker 1: I should say, what about your standard cryptographic hash? Alright, so, uh,
Speaker 1: did did you actually know what a cryptographic hash? Was.
Speaker 1: I had to look it up because I always forget.
Speaker 1: But a cryptographic hash, it's one of those things that
Speaker 1: I know in a very loose way. Yeah, I know.
Speaker 1: When I read it on a page, I'm like, okay,
Speaker 1: and then you're so you're like, explain it to me.
Speaker 1: I'm like, uh, that's kind of that's how I am
Speaker 1: to stuff with cryptography and potatoes exactly. Yeah, it's all
Speaker 1: fried up in a pan and it's delicious. Uh yeah,
Speaker 1: unfortunately that is that's not entirely correct, but it is
Speaker 1: incredibly tasty. Uh yeah. So a hash and I have
Speaker 1: to remind myself of this all the time too, and
Speaker 1: I talk about it a lot, so I feel guilty
Speaker 1: about this. But hash is essentially a uh, fixed length
Speaker 1: alpha numeric message that is apparently random. So alpha numerica
Speaker 1: means that there's both um, you know, uh, letters and
Speaker 1: numbers represented in the hash. Uh. And it's a fixed length,
Speaker 1: meaning that no matter what the input is, you're going
Speaker 1: to get the same length of message on the output.
Speaker 1: So if it's a single word, you're going to get
Speaker 1: you know, let's say, let's say it's fifty characters long
Speaker 1: your hash, you'll get a fifty character long hash representing
Speaker 1: that single word, and it's going through a process. The
Speaker 1: hash itself is the guarded process series of of instructions
Speaker 1: that computer will uh execute upon input so that you
Speaker 1: get this output. Let's say that you do a sentence,
Speaker 1: not just a little word, and you plug it in.
Speaker 1: You're going to get a fifty character long hash. It
Speaker 1: doesn't matter what the input is. The output is always
Speaker 1: going to be a fifty character hash. Now it's gonna
Speaker 1: be unique to whatever your input is going to be.
Speaker 1: And hashes can be significantly longer than fifty characters. I
Speaker 1: just drew that number out of the air to kind
Speaker 1: of give an example. But the idea being that there's
Speaker 1: no way for you to determine what the input was
Speaker 1: based upon the output because it doesn't give you any
Speaker 1: hint as to the nature of that input. Right right,
Speaker 1: part of the hash isn't like ps, the original message
Speaker 1: was seventy eight characters long, right exactly. Okay, yeah, y'all
Speaker 1: are not satisfying me. Pause. These things we're talking about
Speaker 1: are still based their out rhythmic. Yeah. So what we
Speaker 1: really need to focus on, I think, is ways of
Speaker 1: getting a seed or a period or you know, drawing
Speaker 1: that initial number that really are random. I mean again,
Speaker 1: we're here, we're sort of like churning complexity with complexity
Speaker 1: until we get something that's really hard to an that's
Speaker 1: hard to untie. But what we want is a knot
Speaker 1: that starts untiable. Okay, you know, Like, so how about
Speaker 1: if we went for Schrodinger's random number. Yes, this is
Speaker 1: actually my very favorite method of determining of spitting out
Speaker 1: a random number, and it's based on the principle that
Speaker 1: when when radioactive stuff decays, it decays at a completely
Speaker 1: unpredictable rate. That's true, that that that point at which
Speaker 1: it flips is you can't I mean, you can make
Speaker 1: a pretty good guess it when, but the actual point
Speaker 1: predict you cannot predict. So if you set up a
Speaker 1: Geiger counter, uh, and then set up a computer to
Speaker 1: you know, uh, record when that actual flip happens, you've
Speaker 1: got a random number. Yeah. Yeah, essentially, And a lot
Speaker 1: of random number generator systems use a combination of true
Speaker 1: random number generators and pseudo random number generators. So the
Speaker 1: true random number ends up becoming the seed, and then
Speaker 1: it goes through the process of the pseudo random number generator.
Speaker 1: Until you get your quote unquote random number. But by
Speaker 1: making that seed truly random, you can't predict what the
Speaker 1: next one is going to be, right because of the
Speaker 1: nature randomness, and radioactive decay is a great way of
Speaker 1: doing that, because, like you were saying, Lauren, you can't
Speaker 1: predict when that moment happens, when that radioactive particle decays,
Speaker 1: and so as long as you have a good detector
Speaker 1: and you have a way of feeding that information into
Speaker 1: the computer, you're set. My question would be how often
Speaker 1: is this used in real life? Like how many systems
Speaker 1: do people have set up with I don't know what
Speaker 1: would they have, like a piece of uranium and a
Speaker 1: Geiger counter. That's just saying like, if there's a click,
Speaker 1: it's a one. If there's no click, it's a zero. Look,
Speaker 1: you might be able to buy plutonium at seven eleven.
Speaker 1: But um so it's not obviously not common, but there
Speaker 1: are places that use it. The hot bits service in
Speaker 1: Fermi Lab in Switzerland uses this methodology. There are other
Speaker 1: ones as well, but something guessing mostly bond villains. Probably yeah,
Speaker 1: you're not gonna you're not gonna have like when I
Speaker 1: when I'm when I'm rolling up characters so that I can,
Speaker 1: you know, play my D and D game. I am
Speaker 1: not going to be using this methodologist because you don't
Speaker 1: want to die of cancer. Yeah, I like that. Quotes
Speaker 1: on that too. I mean die of cancer. By that,
Speaker 1: I mean die of cancer, and I mean literally that's
Speaker 1: actually what I meant. No, surely, I'm sure they don't
Speaker 1: have chunks of uranium in the video poker machine that
Speaker 1: you're using at the oh, your friends are having fun.
Speaker 1: I feel reasonably I mean it is not that far
Speaker 1: from Los Alamos, but I feel reasonably confident. Okay, what
Speaker 1: about some other at least apparently random fluctuations in physical
Speaker 1: events in the world. Yeah, well, yeah, yeah. The We're
Speaker 1: always saying that the weather is random or very difficult
Speaker 1: to predict at any rate. So what about atmospheric or
Speaker 1: electromagnetic phenomena. Yeah, it's exactly one of the sources that
Speaker 1: a lot of different true random number generators will use.
Speaker 1: They'll use some sort of measuring device you and I
Speaker 1: might call it a radio crazy to pick up fluctuations
Speaker 1: in electromagnetics, you know, broadcasts, because lots of lots of
Speaker 1: stuff can cause radio waves to get picked up by
Speaker 1: a radio right, like, especially if you're on a M
Speaker 1: things like like lightning strikes that will get picked up
Speaker 1: by a M radio. In fact, that's why you get
Speaker 1: interference when you tune into an AM radio station and
Speaker 1: there's an electric storm nearby or you have you know,
Speaker 1: pass underneath the bridge, and you get that interference because
Speaker 1: it's the signals no longer getting to you, uh in
Speaker 1: a in a strong fashion. So using a radio, you
Speaker 1: can pick up these this atmospheric noise and feed them
Speaker 1: into a computer to create random numbers. That's entirely possible
Speaker 1: outcome as well, So it's pretty good. Although let's say
Speaker 1: that look at this from the point of view of
Speaker 1: an attacker. You could conceivably broadcast electro magnetic radiation to
Speaker 1: your target in an effort to influence the random number
Speaker 1: generator and then therefore creative vulnerability to get into their system.
Speaker 1: When you when you read about the actual problems people
Speaker 1: think about, and this is problems in the sense of
Speaker 1: like big, big picture, like like how impervious is this
Speaker 1: system to an attack? They get to these discussions where
Speaker 1: you think, all right, no reasonable human being would ever
Speaker 1: be able to do this, And that's not the point.
Speaker 1: We're saying it is in fact impervious. We're not saying
Speaker 1: is it. Is it practical? Well? Yeah, yeah, I mean
Speaker 1: it's seriously doubt that any hacker is going to be sitting,
Speaker 1: you know, across from your your random number generator station
Speaker 1: and going like, start up the DVD of Wayne's World.
Speaker 1: We're going to predict some numbers. Be an excellent source
Speaker 1: of it, though that movie is so random. But you
Speaker 1: you know, you can also use actual noise, like acoustic levels,
Speaker 1: that can be a way of generating random numbers. Obviously,
Speaker 1: hold on, let me discover your seed. Uh yeah again. Obviously,
Speaker 1: if you are in a if you're in an environment
Speaker 1: that has a repetitive noise, that's a problem because you've
Speaker 1: got a repeating pattern that will happen. If you are
Speaker 1: in an area that your attack or can get access
Speaker 1: to and thus introduce a noise, that's a problem. So
Speaker 1: not necessarily as secure as some other ones. My favorite
Speaker 1: really was a system that made use of lava lamps.
Speaker 1: I saw this note I'm confused. Okay, so it really
Speaker 1: did use lava lamps, and the system, by the way,
Speaker 1: is no longer in use. But the way it worked
Speaker 1: was that there was a camera pointed at lava lamps.
Speaker 1: It was like early seventies bad you know, sadly disco
Speaker 1: and randomness died out at the same time. No, it
Speaker 1: was so it was a camera pointed at the lava lamp,
Speaker 1: and lava lamps have wax essentially in them that heats
Speaker 1: up and then starts to float toward the top and
Speaker 1: it deforms in interesting ways, and the camera would take images.
Speaker 1: The images would be converted into digital information, and that
Speaker 1: would be shaped by the shape of the lava in
Speaker 1: the lava lamp or the wax in the lava lamp.
Speaker 1: So it would create random numbers based upon the shapes
Speaker 1: of the lava, which you could not predict. You couldn't
Speaker 1: predict what shape it was going to be in at
Speaker 1: any given moment, and I thought it was a brilliant
Speaker 1: way of creating random numbers. Also stylish. I would call
Speaker 1: it tubular. In fact, totally that's eighties, not seventies. But
Speaker 1: all right, I would call it groovy personally, but that's
Speaker 1: because I'm a child in the seventies. So how mixed entropy.
Speaker 1: We talked about intropy earlier. That idea of the entropy
Speaker 1: represents the truly unguessable bits in the string of bits
Speaker 1: um mixed entropy. This is a concept where you take
Speaker 1: lots of tiny bits of randomized information collectively to then
Speaker 1: feed into your you know, pseudo random number generator. Uh,
Speaker 1: this could be disc could take lots of different forms.
Speaker 1: You could have the air turbulence within a sealed disc
Speaker 1: drive as a source of entropy. So we're talking obviously
Speaker 1: about an actual physical hard drive, not a solid state
Speaker 1: hard drive, right, Like the kind of has a spinning
Speaker 1: magnetic disc in it that would create air turbulence. That
Speaker 1: air turbulence would end up becoming converted into digital information
Speaker 1: that would then be fed in as part of a
Speaker 1: seed for a pseudo random number of generator. Yeah, you'd
Speaker 1: get a much more uh steady seed from a solid
Speaker 1: state drive. Yes, that would be pretty easy. Not too
Speaker 1: much air turbulence from that. Yeah, I guess if it
Speaker 1: heated up enough, it could create some. But even so
Speaker 1: it's not much. Sorry, yes anyway, but no, you are
Speaker 1: absolutely right. Without the spinning disk, it's really not they're
Speaker 1: not getting a lot happening there. But yeah, it's the
Speaker 1: idea is to collect a lot of these different sources
Speaker 1: because individually there's not enough entropy there to create a
Speaker 1: strong random number, but collectively and mixed together you can
Speaker 1: do that. Um, it makes it much more difficult to predict.
Speaker 1: So what then, is the future of generating random numbers? Quantum?
Speaker 1: That's your answer for everything? You know? It's say that
Speaker 1: word again, quantum um? You mean quantum? Well, I mean,
Speaker 1: if you want to pronounce it correctly. Sure, I'm talking
Speaker 1: about the behavior years of the world at the sub
Speaker 1: atomic level, the world that, based upon our perceptions, is
Speaker 1: largely random and unpredictable. Well, I guess this would sort
Speaker 1: of be the same principle behind using radioactive decay to
Speaker 1: generate random seeds. Right. Yeah, uh so here's the thing.
Speaker 1: This is where we get into the philosophy argument. Right, so,
Speaker 1: quantum effects appear to be random to us, many of them,
Speaker 1: not all of them, obviously, but many of them appear
Speaker 1: to be random to us, and in fact, there seems
Speaker 1: to be a limitation on what we are able to
Speaker 1: know about any given quantum effect. For example, the whole
Speaker 1: idea of for a subatomic particle, we might know it's
Speaker 1: it's a velocity or its position, But the more we
Speaker 1: know one, the less we know the other that kind
Speaker 1: of stuff. With that limitation in mind, there at least
Speaker 1: has the appearance of randomness here. Now, it may turn
Speaker 1: out that the univer eorse itself is by and large
Speaker 1: or maybe entirely deterministic, that in fact, everything that's happening
Speaker 1: is a direct result at some point, like you could
Speaker 1: trace it all the way back to the Big Bang,
Speaker 1: and that nothing is going outside of that. That's a
Speaker 1: philosophical argument, however, because that requires knowledge of such a
Speaker 1: vast nature as to be impossible for us to to
Speaker 1: actually obtain. Right, Well, I mean, we at least observe
Speaker 1: that everything above the quantum level seems to be at
Speaker 1: least deterministic. Like if if you were able to know
Speaker 1: everything about the thing that happened before, you should be
Speaker 1: able to expect to the next thing that happens. Sort
Speaker 1: of what the project of physics is. Yeah, it kind
Speaker 1: of kind of like if you were able to know
Speaker 1: everything about a weather system, I mean, everything, which you can't.
Speaker 1: It's it's not possible, at least not possible today, and
Speaker 1: I doubt it will ever be possible. But let's say
Speaker 1: that some how you are able to have that knowledge,
Speaker 1: then presumably you'd be able to predict what was going
Speaker 1: to happen next. So let's take an electrical storm as
Speaker 1: an example. You might be able to if you know
Speaker 1: everything that's going on with that weather system, no, exactly
Speaker 1: when and where the next strike of lightning will occur.
Speaker 1: But in reality, we can't have all that information. Therefore
Speaker 1: we can't predict this. Therefore it feels random, right, Well,
Speaker 1: there are just too many factors. It's it's not that
Speaker 1: it's a truly random occurrence. It's that we uh a
Speaker 1: don't don't even know how many digits are going into creating.
Speaker 1: Uh we don't know the period, right, you know. Um,
Speaker 1: and and since we don't know the entire period, we
Speaker 1: can't possibly pick the correct answer out of it. It's
Speaker 1: you know, it would go down to being able to
Speaker 1: to know when every person turns on the heat in
Speaker 1: their homes, or or when a factory breaks down for
Speaker 1: a few hours or something like that. Yeah, it's it's
Speaker 1: it's one of those things where, again, the complexity of
Speaker 1: the system is so great as to effectively be random.
Speaker 1: Even if you could argue, yeah, that's not really random, well,
Speaker 1: it it's so complex as to effectively be random. The
Speaker 1: question is moot. In other words, uh so, and that's
Speaker 1: the macro scale, you know. Once we get down into
Speaker 1: quantum mechanics, it really is a question is this truly random?
Speaker 1: Is it contra causal? Is are these events happening without
Speaker 1: any input determining how they will turn out? And the
Speaker 1: impression I get from reading the current sciences that people think, yeah,
Speaker 1: I mean it is it is random that these quantum
Speaker 1: events cannot be predicted by knowing what happened before. Now,
Speaker 1: it may turn out one day, I mean, I don't know,
Speaker 1: but it may turn out that we find out that's
Speaker 1: not true. There is is some information, there's some kind
Speaker 1: of hidden information that we don't have access to it.
Speaker 1: If we did know, we would be able to predict
Speaker 1: what quantum outcomes will be. Yeah, but that is now
Speaker 1: in fact, right, Maybe that there is no such information exactly.
Speaker 1: It may be that the quantum world is nondeterministic and
Speaker 1: it truly is random, in which case using quantum effects
Speaker 1: to generate random numbers would be perfect because it is
Speaker 1: nondeterministic and a periodic. Uh if we would be the
Speaker 1: way to go. If we find out there is hidden
Speaker 1: information and we can discover what it is and In fact,
Speaker 1: even at the quantum level, things are deterministic. Does that
Speaker 1: mean that there is no such thing in the universe
Speaker 1: as a random number? Yeah? I would I would argue yes,
Speaker 1: even in the truest of true possible true randoms, would
Speaker 1: still be a pseudo random number. Yeah. It would just
Speaker 1: be the most complex algorithm that you'd ever seen. But that,
Speaker 1: in fact, if you were able to know all of
Speaker 1: that stuff, then you would be able to predict what
Speaker 1: the next outcome would be. Uh. I don't. I don't
Speaker 1: personally feel like that feels true to me, But that's
Speaker 1: a feeling, So I can't say that that holds any water.
Speaker 1: But there's some interesting ways that we could harvest bits
Speaker 1: from quantum uh uh phenomena. For example, the quantum effects
Speaker 1: in a semiconductor or photon polarization detection. These are things
Speaker 1: that are seemingly random, and maybe they are truly random,
Speaker 1: and that is entirely possible. However, that kind of stuff
Speaker 1: is really limited to, you know, scientific labs that have
Speaker 1: sophisticated equipment. So what hope is there for the rest
Speaker 1: of us? What if what Joe? What if what if
Speaker 1: you wanted to go out and create a random number
Speaker 1: generator that relied upon quantum phenomena. What hope do you have?
Speaker 1: Oh wait, you're referring to the cell phone cameras. I
Speaker 1: am this was a great story. Yeah no, this was
Speaker 1: really cool. I'm glad you found this story about Bruno's
Speaker 1: Seguinetti who came up and a team of researcher. It
Speaker 1: wasn't just a Mr Segwinetta. He had a team of
Speaker 1: researchers as well at the University of Geneva try to
Speaker 1: find a way of using smartphones to detect quantum data
Speaker 1: that could be then used to generate random numbers. And
Speaker 1: the quantum data with a cell phone would be through
Speaker 1: the use of the camera. Like you said, Joe, my
Speaker 1: my cellphone camera does not have the resolution to see
Speaker 1: things at a quantum level. I mean, I've only got
Speaker 1: an iPhone four. So maybe that's why you keep adding
Speaker 1: that CPA tone filter everything as the problem. But it
Speaker 1: actually your cell phone is made of atoms that do
Speaker 1: interact at the quantum level. That is true. What we're
Speaker 1: talking about here, specifically, is the way that a camera,
Speaker 1: a digital camera captures light. Right we're talking it has sensors,
Speaker 1: and the sensors end up corresponding to pixels. Those would
Speaker 1: be the individual little dots that make up your your image,
Speaker 1: and photons will collide with that sensor, and then the
Speaker 1: sensor generates the electrons necessary for this to be translated
Speaker 1: into an image that ultimately will be displayed back into
Speaker 1: photons so that your eyeballs can see it. But meanwhile
Speaker 1: you have this electron phase. And the interesting thing is
Speaker 1: that photon emission is one of these random things. We
Speaker 1: we have a probabilistic model where we can say what
Speaker 1: the average is of any given moment of photons being omitted,
Speaker 1: but it turns out that at specific instances that number varies,
Speaker 1: so there is some randomness there. It's not, you know,
Speaker 1: we just have the average. We don't necessarily know at
Speaker 1: any given time how many photons are being admitted within
Speaker 1: the view of a camera, for example, except that a
Speaker 1: camera has to translate those photons into electrons. So if
Speaker 1: we take the average of what we would expect any
Speaker 1: given pixel in a photo to generate, so let's say,
Speaker 1: you know, again, I'm going to use a ridiculous example,
Speaker 1: and this is truly ridiculous. Let's say, all right, we
Speaker 1: expect this pixel will capture ten photons and create ten electrons.
Speaker 1: This is totally wrong, by the way, just to give
Speaker 1: the example, but but instead it generated nine electrons. Well,
Speaker 1: then you know that the actual number of photons was
Speaker 1: less than what the average was, and that number, the
Speaker 1: difference there becomes your random number. Okay, and that's for
Speaker 1: one pixel. Now, the camera they used was an eight
Speaker 1: megapixel camera, so I had many, many more than just
Speaker 1: one pixel, right, millions of pixels, And so that means
Speaker 1: that the all of these different sensors are working in
Speaker 1: parallel together. So you take all of the differences of
Speaker 1: all of those pixels based upon you know what what
Speaker 1: actually hit it versus the average that you expected, and
Speaker 1: then then you have your random number. And it's all
Speaker 1: just from a cell phone. So you could literally have
Speaker 1: an app on your cell phone that would be able
Speaker 1: to turn an image captured on the camera into a
Speaker 1: random number, and you would have access to a quantum
Speaker 1: random number generator from your cell phone. That's pretty awesome.
Speaker 1: It's pretty pretty awesome. Yeah, because again this is the
Speaker 1: sort of stuff like the quantum number generators for the
Speaker 1: sort of things you would only find in labs, not
Speaker 1: something that your average person could have access to. So
Speaker 1: if you have a real need to generate random numbers
Speaker 1: for some reason, you want to open an online casino,
Speaker 1: you know, Yeah, I mean there could be any number
Speaker 1: of reasons why a person might really have need of this.
Speaker 1: I mean maybe you're a web administrator and you need
Speaker 1: to have this to generate unique ideas, and you thought
Speaker 1: this is a great way to generate those seeds that
Speaker 1: I will feed into my pseudo random number generator in
Speaker 1: order to create as unique ideas. It's a great solution, right,
Speaker 1: It's something that you don't have to worry about an
Speaker 1: attacker anticipating what the next number is going to be,
Speaker 1: because it's impossible. It's quantum, as Terry Pratchett would have said, quantum.
Speaker 1: Uh so yeah, this was you know, this is always
Speaker 1: a fun thing to talk about. I love talking about
Speaker 1: random numbers and the difficulty of generating them and whether
Speaker 1: or not they even exist. Uh. I tend to kind
Speaker 1: of get frustrated with philosophical discussions, but for some reason,
Speaker 1: this one in particular really appeals to me. Well, it's
Speaker 1: also mathematical, which helps. Yeah, and I just think you're
Speaker 1: in a good mood today. Well, I did a Mexican
Speaker 1: food and pie, so that helps. Well, thank you so
Speaker 1: much for the email, Sean. We really liked this topic. Yeah,
Speaker 1: and in fact, if any of you out there would
Speaker 1: like to follow in Sean's footsteps and send us a message,
Speaker 1: maybe you've got something else you want us to cover.
Speaker 1: There's some sort of future topic you think is really interesting,
Speaker 1: let us know. Send us an email that addresses FW
Speaker 1: Thinking at how Stuff Works dot com, or you can
Speaker 1: always drop us a note on Facebook, Twitter, or Google Plus.
Speaker 1: Twitter and Google Plus we are f W Thinking. Just
Speaker 1: search f W Thinking and Facebook. We'll pop right up,
Speaker 1: leave us a message, and we'll talk to you again.
Speaker 1: Release soon. For more on this topic in the future
Speaker 1: of technology, visit forward Thinking dot com, brought to you
Speaker 1: by Toyota. Let's Go Places,