Hi again,
MrRB:
The intended idea was to get a string of pseudo random numbers that dont repeat ever, within the space given. That's what it was intended to do, that's what it does. Another one would be x=(1+57*x) mod 128 with no other code for a quick example.
I even pointed out myself that it repeats.
I also noticed you didnt comment on the PHRNG i suggested.
So you say they can get 1000 digits or messages? Then there's no algorithm that is deterministic that will work given enough time to solve it with a computer assist unless the number of bits are increased, and then even though it is still a matter of time it might take too long to solve given a supercomputer of today. Tomorrow's computer may break any and all if all goes according to plan. That's why i assumed you were looking at hardware based algorithms/processes.
Oblivion:
Yes if you have enough time you can break any of these (geeze just guess the next number has to be 0 to 9, only 10 guesses) unless you can generate a huge database of digits. Then you can outpace any attacks, but that would take a lot of computer time.
I also noticed that you too did not comment on the PHRNG i described. Any theory out there on that technique yet?
All:
So far in my searches there's only one way to keep a cracker out...that's to reduce the time frame that they have to experiment. If they know the algorithm and they intercept messages, then i dont see any way to prevent it using PRNG's of any kind. In theory pi would work, but it could take too long to generate the data needed.
But my interest here has not only been on hardware implemented generators, but also algorithms that generate good random data that has some predictability without being not random. So i am interested in HPRNG's as well as PRNG's, probably more toward PRNG's with a little kick from the operating system just to keep it real
So if any of you have seen any theory on the date and time of day PHRNG, now would be a good time to mention it
As a side note, did anyone yet look at using smoke detector guts inside a chamber of smoke particles blowing around inside? Might not be easy to build though.
How about sand being dumped through an optical orifice and converted to analog with a photo detector and light source? Not the smallest machine but interesting
A mixture of sand and oil being stirred sampled by a light source and photo detector.
These are interesting physical phenomena but yes not just electrical.
The ultimate: The time between phone calls from telephone sales people. I get enough calls where i could generate one new PR number every 10 minutes here
More seriously, the Windows op sys (and probably others) has a built in performance counter. No two computers would have the same count over time because they would be slightly different in frequency. Pick a time frame using a regular PRNG, using that count the cycles, use that to seed the PRNG. Given enough of a time span like 10ms or maybe 100ms it would be hard for two computers to come up with the same RN.
Not only that, even the same computer with the same time frame probably wont generate the same seed every time.
As you may have noticed, i lean more toward looking for code solutions that dont required external hardware, but im still open to the ramp generator technique if i can find a really good reason for doing that but it would have to beat any code based technique (with the PC's existing hardware) for me to really be motivated to build one.
BTW sampling anything other than a ramp waveform could result in biased data. Biased because other waveforms have biased distributions over the time frame. I was going to use a resistor with cap being charged, but it has to have a long time constant to meet the requirements of a (pseudo) ramp, otherwise we'll see a trend.
MrRB:
The intended idea was to get a string of pseudo random numbers that dont repeat ever, within the space given. That's what it was intended to do, that's what it does. Another one would be x=(1+57*x) mod 128 with no other code for a quick example.
I even pointed out myself that it repeats.
I also noticed you didnt comment on the PHRNG i suggested.
So you say they can get 1000 digits or messages? Then there's no algorithm that is deterministic that will work given enough time to solve it with a computer assist unless the number of bits are increased, and then even though it is still a matter of time it might take too long to solve given a supercomputer of today. Tomorrow's computer may break any and all if all goes according to plan. That's why i assumed you were looking at hardware based algorithms/processes.
Oblivion:
Yes if you have enough time you can break any of these (geeze just guess the next number has to be 0 to 9, only 10 guesses) unless you can generate a huge database of digits. Then you can outpace any attacks, but that would take a lot of computer time.
I also noticed that you too did not comment on the PHRNG i described. Any theory out there on that technique yet?
All:
So far in my searches there's only one way to keep a cracker out...that's to reduce the time frame that they have to experiment. If they know the algorithm and they intercept messages, then i dont see any way to prevent it using PRNG's of any kind. In theory pi would work, but it could take too long to generate the data needed.
But my interest here has not only been on hardware implemented generators, but also algorithms that generate good random data that has some predictability without being not random. So i am interested in HPRNG's as well as PRNG's, probably more toward PRNG's with a little kick from the operating system just to keep it real
So if any of you have seen any theory on the date and time of day PHRNG, now would be a good time to mention it
As a side note, did anyone yet look at using smoke detector guts inside a chamber of smoke particles blowing around inside? Might not be easy to build though.
How about sand being dumped through an optical orifice and converted to analog with a photo detector and light source? Not the smallest machine but interesting
A mixture of sand and oil being stirred sampled by a light source and photo detector.
These are interesting physical phenomena but yes not just electrical.
The ultimate: The time between phone calls from telephone sales people. I get enough calls where i could generate one new PR number every 10 minutes here
More seriously, the Windows op sys (and probably others) has a built in performance counter. No two computers would have the same count over time because they would be slightly different in frequency. Pick a time frame using a regular PRNG, using that count the cycles, use that to seed the PRNG. Given enough of a time span like 10ms or maybe 100ms it would be hard for two computers to come up with the same RN.
Not only that, even the same computer with the same time frame probably wont generate the same seed every time.
As you may have noticed, i lean more toward looking for code solutions that dont required external hardware, but im still open to the ramp generator technique if i can find a really good reason for doing that but it would have to beat any code based technique (with the PC's existing hardware) for me to really be motivated to build one.
BTW sampling anything other than a ramp waveform could result in biased data. Biased because other waveforms have biased distributions over the time frame. I was going to use a resistor with cap being charged, but it has to have a long time constant to meet the requirements of a (pseudo) ramp, otherwise we'll see a trend.
Last edited: