If I have a uniformly distributed random number generator of up to 32 bits in length, can I generate a uniformly distributed 128 bit number by rolling my 32-bit random number generator multiple times and combining the results in some way?
My thoughts are as follows:
If I throw multiple 6-sided die and add them up, it's not uniformly distributed - the distribution is gaussian. So I can't add up four of my 32 bits to get a 128 bit number that's uniform.
If I do a whole bunch of coin tosses, one for each bit, then I can generate a 128 bit binary number. Since I'm essentially picking one of two and then replacing it each time, then each possible sequence of 128 picks has the same probability.
If I generate four 32-bit random numbers and concatenate them, then would that be uniformly distributed? Is that not what I'm doing for the coin toss example above?
I did this in reality in my code (concatenated four 32-bit numbers) and found that all of the results were > 2^96 purely because the most significant 32-bit roll was very rarely zero (naturally). This makes sense, but it makes me wonder if it truly is a uniform distribution or or if there is a skewing of the distribution to the numbers bigger than 2^96.
If it is a skewed distribution, how do I create a uniform distribution?