[Cryptography] Zoom publishes draft cryptographic design for end-to-end encryption

Ray Dillinger bear at sonic.net
Tue Jun 2 16:18:35 EDT 2020


On Fri, 2020-05-29 at 11:49 -0400, Paul Wouters wrote:
> On Tue, 26 May 2020, other.arkitech via cryptography wrote:

> > I wonder why not using the same secp256k1 used by Bitcoin. It is
> > bullet proof as it is publicly able to keep safe billions in
> > capitalization.
> > I wonder why this is not the cypher suite of choice today.

First of all, Paul is right - completely different problem set, 
trying to secure a completely different set of properties.  
You're going to need some hashing for integrity checks, but the 
main problem you're looking at for your intended app is key 
management.  The hashing here is a relative detail.

Short version: secp256k1 was a very peculiar selection driven 
by paranoia about potential backdoor'd keys. It was little 
studied and not noticeably tested in practice.  But at this point,
because of its use in Bitcoin, it has become extensively tested 
and rigorously studied.  There's no problem any more with moving 
toward standardizing it.

(Long version follows)
About secp256k1, Keep in mind that Hal & Satoshi (I persist in 
thinking they were not the same person) were very paranoid about
backdoors in well-known curves and unlikely to use one that had 
been heavily promoted, or one frequently used by large 
organizations or projects whose selection of it might, in the 
paranoid view, have been because of undue influence.  The 
thinking was that "The crowd is probably wrong" leading to 
semi-deliberate selection of something odd.

The same kind of thinking leads to a lot of insecure "homebrew 
crypto."  Homebrew Crypto almost always fails, so reasonable 
people tend to advise against it.  If you're not *absolutely* 
*sure* what you're doing and why, stepping off the beaten path 
in crypto implementation almost always lands your foot (and 
often more tender parts) in a trap.  

IIRC secp256k1 was initially selected by Satoshi, and had a few 
peculiar properties that convinced both Hal and himself it was 
desirable and safe. I didn't have the insight into properties of 
different keys to offer any useful feedback on it. The important 
property was either because its constants had been selected in a 
way more constrained than the heavily used curves (hence less 
likely to contain a backdoor), or because it's defined over a 
Galois field instead of a modular integer ring.  Or both.

But virtually nothing used it, and it hadn't got any very 
extensive study at that time.  Secp256k1 was at that time 
undeniably a very peculiar beast, and while it offered some 
reassurance against a backdoor risk, its relatively unstudied 
status was different kind of insecure-key risk.  Both risks were 
very small, but it would be hard to place odds on which was 
smaller.

At this point however, largely BECAUSE of its use in Bitcoin, I 
can't consider it very peculiar anymore. On the contrary, it has 
become one of the best-studied and most extensively tested hashes 
in the world. 

Given the vast amount of completely futile effort that's been 
spent on finding any weaknesses, backdoors, or shortcuts in it, 
I'm convinced that any such things, if they exist at all, are 
demonstrably damned hard to find. I don't know of any other 
curve that has been so extensively tested or rigorously studied. 
There really isn't a problem with moving forward to making it 
a standard.

				Bear




More information about the cryptography mailing list