I would love an analogy or simple explanation of how someone can design a system that is locked/unlocked using a number string, but also have no possible way to reverse engineer or figure out that number string, having intimate understanding of how that system works.

Is there a way to illustrate this using like, simple math or boxes with padlocks or coloured balls in a bag etc.

In: Technology

Take the formula Z x Y = 100. If we don’t know what either Z or Y is then you there’ s no way to solve that problem. You can come up with a list of possible solutions – Z = 2 if Y = 50 is a possible solution, for example. But we have no way to know if that’s actually the case. And its only practical to come up with that list of solutions because 100 is a small number. If we change the 100 to 100 trillion then the list of possible solutions is so big as to be meaningless.

So imagine that Z is the data on the phone. The phone encrypts that data by running it through the formula where Y is a really big randomly chosen number. This produces an even bigger number as the solution. If you don’t know what Y is, then the best you can do is produce a list of solutions that is so gigantic that its totally meaningless.

If your follow up question is “but isn’t all but one of those solutions garbage data?” The answer to that is yes. Only one solution to that problem will produce coherent data. So if you just started plugging numbers into Y, the phone would eventually turn on and function normally and then you would know you had solved for Y (and by extension, also solved for Z).

The problem with that is that the only way to solve for Y like that is to solve the formula for every possible number that Y could be. To counteract this Apple has made it so that there are so many possibilities as to what Y is that running through all of them would take millions of years – even with the most powerful computers on the planet.

Even if you get *really* lucky and just happen upon the correct value of Y after having gone through 10% of the calculations, you’re still looking at tens of thousands to hundreds of thousands of years to be able to unlock that phone.

Encryption is beautiful.

Take a word. Change every letter into its numbered position in the alphabet. Multiply each number by the number in the next position of that particular word.

Put those numbers in ascending order.

Remove anything below 50 and above 300.

Keep just the first 50 digits and fill with zeros if needed.

Ok?

Now I give you the another result only.

What was the new original word?

That’s the password to decrypt the rest of the data.

Apple knows the recipe, but not the ingredients.

Summary: the only way to make sure the original word is the same is by doing the same recipe and getting the exact same result. Any small change will result in a vastly different outcome.

Going backwards (generate random or probable values to match the initial word) would take forever. There are mathematical ways to ensure that it is safely above current and foreseeable computing power.