in reply to String randomness

I'm not sure the question is really intelligible. Computers are inherently deterministic, which is why random number generators are needed to give the appearance of randomness for some applications. This means that a string generated "randomly" from a set of characters will be no more or less intrinsically random whether the characters within the set are ordered or not. A well written algorithm for generating random behavior should be convincing no matter how the starting parameters are arranged.

Replies are listed 'Best First'.
Re: Re: String randomness
by sauoq (Abbot) on Aug 16, 2002 at 10:33 UTC
    A well written algorithm for generating random behavior should be convincing no matter how the starting parameters are arranged.

    True. Not only should they be convincing (i.e. have a suitable distribution) but the sequences shouldn't be guessable either.

    Your assertion that "computers are inherently deterministic" is mostly true from our normal perspective (otherwise they wouldn't be very useful.) The assertion leaves little hope, however, that computers can generate a random sequence that doesn't suffer from guessability. Fortunately, there is more to the story. Some operating systems do provide a mechanism for generating random numbers from input which is, in practice, impossible to reproduce or guess. This is done by collecting data from hardware events such as network device and disk interrupt latencies and then generating numbers based on the contents of this pool.

    -sauoq
    "My two cents aren't worth a dime.";
    

      For that matter, some computers have hardware that creates randomness from quantum effects. The most common is probably the southbridge in the i810 and later intel chipsets.


      Confession: It does an Immortal Body good.

        Some operating systems do provide a mechanism for generating random numbers from input which is, in practice, impossible to reproduce or guess. This is done by collecting data from hardware events such as network device and disk interrupt latencies and then generating numbers based on the contents of this pool.

      /dev/random and friends are useful for seeding PRNGs, not necessarily useful for all your random number needs (they tend to run out rather quickly: try generating a key of some size with GPG, and spending half an hour tapping the ctrl key to give it sufficient randomness). If you want reasonably strong (unguessable) randomness, without waiting for the OS entropy pool to fill up, you'll need to consider which PRNG you're using.

      And for that, I refer you to chapter 16 of Bruce Schneier's Applied Cryptography.

      --
      F o x t r o t U n i f o r m
      Found a typo in this node? /msg me
      The hell with paco, vote for Erudil!