Seed, Noise and undoing pseudorandomization

  • Thread starter Thread starter AtlasSniperma
  • Start date Start date
  • Tags Tags
    Noise Seed
Click For Summary
The discussion revolves around the feasibility of extracting the seed used to generate a set of floats from a pseudorandom number generator (PRNG), specifically in the context of Perlin noise. It acknowledges that while theoretically possible to reverse engineer the output of a PRNG if a sufficiently large sample is available, practical challenges arise due to the long periods of modern PRNGs. For instance, the rand() function in some implementations has a short period, while others, like GNU C, have a significantly longer period, making reverse engineering impractical. The conversation emphasizes that without prior knowledge of the data stream, determining the seed remains uncertain.
AtlasSniperma
Messages
22
Reaction score
0
Okay, title doesn't give a lot of information so please bear with me here.

Forget the why, I just need to figure out how.

I would like, given an array of floats(such as those that would be generated by perlin noise) to be able to extract what seed would be used to generate said set of numbers. I only think this is possible because perlin noise uses pseudorandom number generation, and I assume since pseudorandom numbers are generated from a seed and a process it should be possible to reverse the process.

However I understand if such a prospect is just not possible with the way modern computing works.
Thank you for your time.
 
Technology news on Phys.org
In theory, yes. You can reverse engineer the output of a PRNG if you have a large sample, generally one which is larger than the cycle (period of the PRNG).
In practice if the period of the PRNG is long enough, it becomes impractical to execute. rand() as implemented by the Knuth algorithm with RAND_MAX=32767 (on Solaris 10) has a very short period. GNU C (Linux) has a period for rand of 2147483647. Neither version is considered cryptographically sound, AFAIK.

Here is a discussion on a not technical level.
https://www.reddit.com/r/askscience/comments/m6c5d/can_pseudo_randomly_generated_numbers_be_reverse/

To answer your question - I do not know to crack your data stream a priori.
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 21 ·
Replies
21
Views
7K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
25
Views
4K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
17
Views
5K
Replies
14
Views
3K
  • · Replies 30 ·
2
Replies
30
Views
6K