As human beings, we have misconceptions of the nature of randomness. Try it and write down a sequence of random digits. You’ll notice that certain numbers tend to be repeated, or that no two consecutive digits are the same. Maybe your numbers tend to go up and then down and then up again, or that you’ll use all the digits before repeating any. It’s simply our natural tendency to look for patterns where there may not be any. All cell phone numbers appear, to the human mind, to exhibit patterns. Some follow a circular path around the keypad and the digits of others are contained within an unnaturally small subset of the ten possible digits. It is the same reason why we cannot at first understand how a group of only twenty-three people have a 50% probability of containing two with the same birthday1. Not withstanding, we usually have no problem distinguishing between a human-generated sequence from a truly random one, the same way we can form preconceptions of the natural versus the artificial. So why is it that synthesizing such sequences seems so strenuous? The inability to unbiasedly create randomness isn’t an innate cognitive fault in humans, but a result of the overwhelming complexity of true randomness.
Computer security researchers in the field of cryptography spend a lot of time examining the features of randomness. Programs are based around logic and well-defined instructions, so it is inherently difficult for a computer to create unpredictability. The ability of a program to create unpredictable numbers is very important. Consider a thousand different programs running simultaneously that tend to drift into resonance, so that the most taxing parts of their cycles align to create immense stress to their system. Consider picking a totally random number from a key space of 18 quintillion possible choices as a method of securing secrets. Presently, random numbers are created using either a pseudo-random number generator which recursively applies a well-defined mathematical function to an initial number (called a seed), usually the time stamp, to generate a sequence of ostensibly random but ultimately predictable numbers, or an outside device that detects cosmic radiation or atmospheric noise to transform external randomness into usable forms.
A number generator that is good (unpredictable) enough to be used for sensitive purposes is designated a cryptographically-secure pseudorandom number generator, or csprng for short. Achieving a high ‘quality’ of randomness is a serious topic of constant research and development2. By quality, they mean the inability to predict possible (and also impossible) outcomes despite having full knowledge of the algorithm. Every couple of years, a popular hash function is phased out of use because the randomness from which it derives its security is broken or hampered by further research. Therefore, it’s no joking matter to flippantly declare oneself to be “so random”! How irreverent to this research are those people who think their capricious hipster hedonism amounts to true randomness, as if humans could really achieve such a thing.
Okay, actually, I just find it a bit amusing how quickly I’m so random! gets thrown around, and it’s not just something pretentious hipsters came up with. Randomness is indeed difficult to achieve as human beings, but like other difficult things, it can be attained through persistence and hard work. Bruce Lee says “If it kills you, it kills you. A man must constantly exceed his level3.” To be unpredictably unpredictable and to constantly change everything about you including your change itself is to do justice to the meaning of random, for randomness is not a characteristic that can be easily doled out to the weak-hearted. If only more people understood the significance of the concept, this moral excellence could be better realized. So I implore you, go be random but be it correctly.