• FooBarrington@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year 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.

    • KairuByte@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      1
      arrow-down
      1
      ·
      1 year 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@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 year 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.

        • KairuByte@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          1 year 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@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            1 year 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.

            • KairuByte@lemmy.dbzer0.com
              link
              fedilink
              arrow-up
              1
              arrow-down
              1
              ·
              1 year 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@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                1 year 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?

                • KairuByte@lemmy.dbzer0.com
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year 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?”