- Published: Friday, 29 May 2015 18:44
It's funny when I tell my kids and my friends that random number do protect you and your online transactions, along with your family photos, private thoughts, and treasured memories. All of these are probably stored in some encrypted form, and that encryption relies on random numbers that form the basis for encryption keys.
If you do not have random numbers, the attacker has less work to do to guess your key. If you do generate a random number on your Android device, but another device with the same configuration randomly generates the same number, then you are not truly generating random numbers.
It is very hard for a computer to generate a random number.... they are all identical, and therefore make the same "random" guesses. To help the randomness evolve, coders can look for other bits of information in the device to help seed a random number. For instance, the time of day changes every second... but that means the attacker can guess what 3 month period you generated your random number and set his or her device to the same parameters and simply let the attacking device start guessing. You can also look at CPU temperature, time since last reboot, or wireless network name... or take a combination of all of these items and then run them through a hash function to generate even more seemingly random data to seed a random number.
It's a lot of work to generate true randomness, and ideally, a particular chip in your device would contain a bit of cesium and a radiation detector. As the cesium releases electrons, the sensor converts that into numbers, which is a truly random event. But that gets expensive, and cesium isn't the best substance for commercial devices. Regardless, when money is involved, you should make a diligent attempt to generate true random numbers, else the bad guys will act rather quickly to separate you from your electronic secrets. Android users are being shown that their devices do not necessarily meet this threshold.
[image retrieved 29 May 2015 from https://en.wikipedia.org/wiki/File:Android_robot.svg]