By Charles McCown, M.S. MCSE, MCSA
When considering entropy, Lord Kelvin’s 2nd Law of Thermodynamics often comes to mind, and it should. This law states that in a closed system (i.e. the universe), matter moves from an orderly to a disorderly state and that available energy neither increases nor decreases but remains constant.
Entropy, simply put, is “disorder,” and it was designed by God for our benefit within the first few days of creation. Consider for a moment the air you breathe as an example. Without entropy one could easily find themselves suffocating by merely moving a few inches to the left or right. This disorder causes the gasses in the air to blend and form a life-sustaining solution. Without entropy, the 79% nitrogen, 20% oxygen and 1% other trace elements might clump together so that the space we occupy becomes unbalanced and unbreathable. The air surrounding you and I is both designed to sustain life and yet very random. It is that randomness which will be the focus of the remainder of the article.
For a computer programmer, creating randomness is tricky business. For example, let us consider a simple matter of the game of Klondike Solitaire found within the Microsoft Windows operating system. It might surprise you that the cards are not shuffled in a true random fashion but in a procedure known as a pseudorandom number generator (PRNG). Pseudorandom functions are lines of programming code that attempt to mimic random ordering. For most people who play solitaire on a computer, the process is transparent, but to Dr. Ronald Fricker the game posed a different challenge. After playing several rounds of solitaire in the late 1990s, he noticed cards repeating more frequently than should be expected. Upon realizing this peculiarity, he set out to determine the reliability of the procedure by looking at only the cards presented face up after the cards are dealt from the hand. He determined “out of 1040 paired comparisons there were a total of 114 matches––almost 11%.”  He went on to state that the results were “significantly larger than the expected 20 matches” if the hand dealt were truly random (Fricker, 1998).
This problem with generating numbers and letters randomly is not limited to card games. How does a programmer generate a random number and letter combination for a secure web order or bank transaction? Technically speaking most use more complex PRNGs, but for some organizations PRNGs lack the required security. In such instances those entities call for the more expensive and time-consuming option of a True Random Number Generator (TRNG).
The difference between TRNGs and PRNGs other than cost and time is that TRNGs use environmental monitors. These monitors track the entropy surrounding the device and couple that with more random number generation code. In fact the TRNG is sometimes referred to as a High-Entropy Random Number Generators (HERNG). While discussing the basic platform for HERNGs, John Dinker stated:
The starting point for an HERNG is the unpredictability associated with one or more physical processes, such as radioactive decay or thermal noise. Such physical processes are partially random, in the sense that they contain contributions which are believed to be extraordinarily difficult for anyone to predict, perturb, or replay.
“Physical processes”? “Radioactive decay” and “thermal noise”? Once again engineers have turned to the creation to address a conundrum unsolvable by human minds. By using the entropy, chaos, or randomness from the environment to generate a random number, science has offered praise, albeit unknowingly, to the Creator––yes, our God who through His will, wisdom, and knowledge designed perceived disorder. Take note of the last two words of the previous sentence. Dinker said the decay and noise “processes are partially random…which are believed to be extraordinarily difficult for anyone to predict, perturb, or replay.”  There is One who can “predict, perturb, or replay” these processes: the Designer who authored “disorder.”