What do computer geeks know that allows them to trust in cyber currencies? Misunderstanding this technology and trusting in 3rd party services also explains why they haven’t been safe for some investors.
Cryptocurrencies are stored out in the open. Therefore, their location must be known only to the people who own them. When I think of hiding something, when you think of hiding something, when our dog wants to hide something, don’t we all think alike? We’re going to go out in the woods, walk a certain length of distance, then bury our treasure. Indeed, I remember the old movies of my youth where old treasure maps would have instructions like “walk 20 paces to the weeping rock”.
Imagine a ship-yard of 5,000 containers. Each contains 5,000 6-inch boxes. Someone hid 3,000 100-dollar bills in one of those boxes, or about $3 million worth. If you can find it, you can have it.
Assuming it takes you 15 seconds to open each box, it might take you 30 years to look in each of those 25 million boxes. Would you bother? What if each box contained paper that looked like currency, but it would take an extra 30 minutes to determine if it was real. Now we’re talking 3,600 years.
The point is, even when we know that something valuable is hidden in a large space, it isn’t the secret-ness of the location that stops us from finding it, it’s the amount of time we need to look in every possible hiding spot. It’s simply not worth spending one’s entire life searching for one little box.
Computer encryption, or hiding, is no different than searching for small boxes in large shipping yards. We don’t try to hide a cryptocurrency like Bitcoin as much as make sure the cost of finding it vastly outweighs the value of what’s hidden. Consider that, every year someone finds a million dollar piece of art sitting in a bin at Goodwill. Are you going to spend all your time looking for the next one?
Now think of all these containers and boxes and thrift shops and replace them with really, really, really large numbers.
That’s how Internet security works, it hides your digital possessions in a vast universe of other numbers. The computer does this for you, but this is what happens. And it is what you can do if you want to hide a secret on the Internet. Two super-large prime numbers are picked, which, when you multiply them, create another super large number. Your possession is in that super large number, but is not that number itself. You have the key, buried in it, the two large primes.
It’s like you know which box contains the hundred dollar bills. People can guess your key, but it would take their computer millions of years.
What this means is that your cryptocurrency is safe because people can’t find your secret prime numbers in their lifetime. To make sure no one doubts this, a large cyber security company offers a reward to anyone who can do it. For example, here’s a 306 digit long number that if you can figure out the two prime numbers that make it, you can collect $75,000 today. RSA Systems doesn’t care how you do it. You can guess. Seriously. You can visit your local fortune teller and ask them to look into the future and tell you the two numbers. If the numbers are right, RSA will write you a check.
CRYPTOCURRENCIES USE CRAZY NUMBERS
In order for all this to really sink in, we need to divide all numbers into two almost completely different worlds, like separating people who are real doctors with those who play doctors on TV. We want to separate the kind of numbers you use to make a reservation for 8 at a restaurant, and the kind of numbers you’d use to encrypt data. The cryptologists make-believe world has absolutely nothing to do with our world.
When I started this research, I was shocked that the world of useful numbers is rather small. I had no idea that almost nothing is measured past 3 decimal points; that is, a number like 10.792. We might get that number by dividing expenses in our checking account, but it doesn’t mean anything on its own. We could never access that specific amount of money from our bank, right? I couldn’t write you a check for $10.792. Same thing for just about anything in real life. Give me 10.792 inches, ounces, grams? I’ve never asked for any amount like that, have you?
Even scientists and engineers never weigh anything past 20 numbers of precision. Consider this, to measure the weight of a neutron, you only need 24 zeroes on a scale. A yoctogram is 10²⁴ of a gram, about 60 per cent of the mass of a neutron. That’s right, even scientists seldom measure anything past 3 zeroes.
What about distances? If you take Pi out to 39 digits, it allows you to measure the circumference of the observable universe to within the width of a single hydrogen atom. I would have thought it a gazillion digits. What about counting? The number of atoms in the universe are estimated at 10 plus 82 zeroes. Or time, when did the Universe begin? 10 plus 43 zero seconds ago.
All those numbers are significantly less than the 300+-zeros number RSA offers $75 grand if you factor it.
So, if the number of atoms in the Universe is a number 83 digits long what kind of number is a prime number, or any number, 300 digits long!? Imaginary, fantastical, unbelievable, fake? All those things.
My next question was, how can a computer work with numbers that are greater than the number of atoms in the Universe? In a sense, it can’t. Understanding the answer to that question is what made cryptography easier for me. A hint is that there is a huge difference between a entering a few large numbers into your computer and processing the universe of all numbers up to 300 decimal digits.
Like us, a computer deals with super large numbers by breaking them apart. The same way we do addition. We add up single digits, carry and remainder, and continue that process through the length of the number. A child can add two 300-digit numbers together with a piece of paper and pencil. Most could even sort ten 300-digit numbers on a piece of paper But that’s not the same as writing all 300-digit numbers on a piece of paper and sorting them! Obviously, if there aren’t enough atoms there aren’t enough pieces of paper.
Remember when I said that, even in real life, the trick to hiding isn’t about the secret-ness of the location, it’s about the number of places you’d need to look to find the treasure? It’s the same concept for hiding information on your computer, or the Internet. If you pick two random numbers that are larger than all the atoms in the Universe and you say, these numbers are the coordinates to my secret data (but if you can multiply them and get a number I’m going to give you, then you have found my secret). Can you or the computer do it? Can your computer look through all numbers with up to 300 digits and find those two numbers? Yes. The question how long will it take. Almost forever.
In the shipping yard you could time yourself looking in a few boxes and extrapolate how long you it will take to search all the boxes. Similarly, you’d probably find that it only takes a fraction of a second for your computer to load two numbers and test them. But if you multiply those fractions of a second by a number that is greater than all the seconds on the Universe timeline, then, well, your computer won’t look so fast anymore.
All calculations, even the simplest ones, take time, whether by hand or computer.
So where are we? We pick two large prime numbers out in a universe of large numbers that are so large they could account for a few universe’s worth of atoms. We multiply these numbers together. We’re not even really multiplying them because the largest prime number your computer can hold in its short-term memory is 18,446,744,073,709,551,557 (20 digits long). Your computer simply calculates like a child, digit by digit.
Cutting out a lot of details, suffice it to say that we add a couple of other numbers to our secret primes. One number is used to store how we get to that secret (make it) and the second number is how we get back to our location (decrypt it).
Remember our containers with all the little boxes that might contain $3 million. It isn’t enough to say it’s in box 3,477,989. We have to know from where that number is counted. All secrets must have two points of reference. Where we start and where we end.
Now onto some questions
Why can’t you create a lookup table of all these prime number pairs and when someone uses one on the Internet just look up the result?
There are so many of these large numbers that no amount of storage on Earth could hold all their possible combinations. These numbers are larger than all the known atoms in the Universe, There are certainly more atoms in the Universe than computers.
Since you know the ingredients are prime numbers, can’t some smart mathematician figure out a faster way to work on them?
To a point. The root problem is a mathematician must figure out the order of prime numbers. As it stands, prime number appear randomly in the universe of numbers, just like the number Pi’s trailing digits. There are some modest shortcuts, but in the final analysis, the only way to find prime numbers that multiply into another number is to test each combination. What’s important to bear in mind here is the randomness of prime numbers. Remember, the secret isn’t in the prime number itself, but in how it works with another, to build our yard of “containers”.
What if we look at good pop songs as secrets? Popular music is mostly made from three chords, 12 notes and an infinity of rhythms. Do you believe people will run out of combinations that make a song seem original and great?
Computers allow us to calculate super large numbers that we can hide in the universe of randomly populated prime numbers. Most explanations of encryption look at how the proverbial needle is produced inside of the haystack. In this essay, I hope I’ve conveyed why the creation of large hiding places is more important than the spot one’s possession has been buried in.