• @FooBarrington
    link
    3
    edit-2
    8 months ago

    But that’s my point: just because you apply deterministic steps to a truly random input doesn’t make the output not truly random. You use real entropy as your starting point, which is literally exactly what you call “true randomness”. This means the output has the same level of “true randomness” as your “truly random” input, because you mathematically don’t lose entropy along the way.

    To put it more simply: you’re arguing from a philosophical perspective, not a mathematical one.

    • @[email protected]
      link
      fedilink
      08 months ago

      The input is not truly random though. If it was, we could just use that input, with no other steps, and have a truly random output. You’re confusing an unknown state with randomness.

      • @FooBarrington
        link
        28 months ago

        No, it actually and literally is truly random. You’d need to know everything about the hardware itself and the environment around it in incredible detail (incl. the temperature of every individual small patch of material, air flow and the state of air in and around the case) to reliably predict the initial entropy for a given modern system, since tiny changes in e.g. temperature will completely change the input.

        It’s only a small bit of entropy, but enough to kick-start the RNG in a way that can reliably create high-quality entropy.

        • @[email protected]
          link
          fedilink
          08 months ago

          So you’re literally arguing that knowable inputs, however unlikely knowing those inputs might be, run through known deterministic calculations, results in a guaranteed unknowable output?

          • @FooBarrington
            link
            28 months ago

            No, I’m arguing that the inputs aren’t knowable to the required degree in the general case, which defines their entropy, and that entropy isn’t mathematically lost, it’s improved through deterministic calculations.

            • @[email protected]
              link
              fedilink
              08 months ago

              The same was thought about previous iterations on random number generators. The first I am aware of used an extremely precise time stamp, and ran the calculations on that. On the assumption that no one could possibly know the exact timestamp used. That was obviously untrue, which can be verified by the fact that such systems have been broken before.

              Just because you can’t conceive of a way to know the values, does not make them unknowable. It just makes it improbable to happen.

              And again, I’m not saying the random numbers we can produce now are currently breakable. But that doesn’t mean that a decade from now, or even a century, they will remain unbroken.

              • @FooBarrington
                link
                28 months ago

                Say I’m restarting my phone, and it uses details like temperature fluctuations in CPU sensors as entropy. How would you know all the required values? Since I’m holding the phone in my hand, the temperature of my hand (and consequently body temperature) are relevant, not to mention the air around my phone. How would you find those values at the exact time the sensors are read?

                • @[email protected]
                  link
                  fedilink
                  18 months ago

                  You honestly think those values aren’t possible to estimate within a range then brute force?

                  That’s like asking “say I hit a button at a very specific time, how would you find that exact time?”

                  • @FooBarrington
                    link
                    18 months ago

                    Yes, because 1) you’d need to know them with incredible precision, and 2) you can’t brute force, because you only have one chance. Otherwise you can also brute force anything that’s “truly random” as you put it.

                    That’s like asking “say I hit a button at a very specific time, how would you find that exact time?”

                    That’s the thing, it’s not like that. It’s more like “say I hit a button at a very specific time and roll hundreds of dice, how would I find that exact time and all the results of those dice”.