1. Actual cryptographers usually design with a set of constraints that make their crypto work: those might be about compute power, or memory bandwidth, or what have you, that make an algorithm difficult to brute force.
2. The algorithm will typically be peer-reviewed to try to weed out mistakes, either fundamental mathematical ones, or in the assumptions.
3. The implementation then needs to be high quality.
There are certainly no shortage of examples where systems which pass 1 & 2 are undermined by failures in 3. All algorithms are susceptible to the context around 1 changing (changes in compute power or whatever).
When you go it alone, you're assuming that you won't make any mistakes any of these. That seems a pretty tall order.
In machine learning, a model that works 90%, 95% of the time is pretty good.
A glitchy video game can still be fun as long as the glitches don't happen too often or cause a loss of too much progress.
Even a filesystem that doesn't lose most people's data, most of the time, will have a lot of adherents.
But if your cryptography implementation isn't completely perfect, it's frequently just 100% useless for its intended purpose.
But a bad crypto implementation will work. For all intents and purposes, it will appear completely fine. Users will get their messages. The bitstream will appear completely random. At least, until somebody with expertise in breaking crypto systems digs into it.
And that applies even if they're using AES but wrong mode of operation. That applies even if they're using best practices like AES-GCM but the CPU doesn't support AES-NI and a cache timing attack allows key exfiltration.
Like Swiftonsecurity wrote:
"Cryptography is nightmare magic math that cares what kind of pen you use. Should math care what kind of pen you use to implement it? No, but Fuck You, this is Cryptography."
The attacks are incredibly subtle for even the best systems, and Telegram is so far away from even adaquate it's difficult to emphasize it so I'll try with my best restraint:
TELEGRAM FUCKING LEAKS EVERY GROUP MESSAGE TO THE SERVER WHICH IS THE EXACT EQUIVALENT OF A FUCKING BACK DOOR.
I hope that didn't leave anything unambiguous.
> The reason why that statement exists is because there are _countless_ examples of teams coming up with their own, new cryptographic mechanisms that either break...
But aren't there _countless_ examples of this in crypto made by cryptographers?
I'm not playing devil's advocate, I don't really have a stake here. :)