News for hackers. Stuff that matters.
Re:Elliptic Curves by ColinWright on Saturday June 10, 2017 @11:17AM (#14527635)
Ignoring many important details ...

Many algorithms for crypto and similar can be phrased elegantly and abstractly not in terms of the actual numbers, but in terms of what are called "Groups"[0].

A group is a set of things, and a binary operation that satisfies certain rules.

At first glance a group appears to be pointless abstract nonsense, but most of the properties of numbers that we use in, say, RSA, or Diffie-Hellman-Merkle-Williamson, or in factoring via Pollard P-1, use the fact that the numbers we are using are an example of a group.

The groups being used are usually:

* For DHMW, the integers modulo a large prime, or

* For RSA, the integers that are co-prime to the product of two large primes.

In each case the operation is multiplication modulo something.

So then we can ask if the same algorithms work if we use a different group instead, and whether the result will have better or worse characteristics. The answers to that are (1) yes, the algorithms work in other groups, and (2) it depends on the particular group or groups used.

So given an elliptic curve, it turns out that the points can form a group if we define a particular operation[1]. Then it turns out that the rational points form a group. Then we can convert that to work modulo a prime, and we end up with a finite group.

And that's exactly what we need to use some of our algorithms.

The question of whether this group is better depends, and is too long to fit in a single HN comment, but the main point is that there are many possible elliptic curves to choose from, and many possible primes to use, and so we have more choice. That alone makes it worth considering.

But the answer turns out to be yes, some of the algorithms have better characteristics on these new groups. For example, using elliptic curves we can use smaller keys for RSA or DHMW, and the elliptic curve version of Pollard P-1 is now the third fastest known factoring algorithm, and probably fastest over a certain range of sizes.

I would be happy to answer any questions, either here or by email.

[0] https://en.wikipedia.org/wiki/Group_(mathematics)

[1] And augment the points, and avoid certain pathological curves

Re:Elliptic Curves by ColinWright on Saturday June 10, 2017 @11:25AM (#14527666)
As to why they are trending ...

With recent(ish) leaks about what the NSA is doing in terms of breaking widely-available crypto, the question has arising about what weaknesses might exist in current classical techniques. RSA and DHMW have been around for a long time, and much is known about specific weaknesses. Some primes need to be avoided, for example in DHMW one should avoid primes P where (P-1)/2 has lots of small factors.

But all the elliptic curve cryptography is comparatively new, and weaknesses are still being found. It's plausible that there are simple things to avoid when choosing an elliptic curve, and so perhaps we should just use the elliptic curves recommended to us by security experts.

But after Snowdon, etc., people are becoming wary of trusting experts, so they want to know more about the implications of their choices, and what options they might have. This is an on-going issues, and now, as people are starting to understand the mechanics of implementing systems that use elliptic curves instead of just Z_p, so articles are being written aimed at the non-security-community people.

And so articles appear that are readable and relevant.

Just my $0.02

Re:Elliptic Curves by tptacek on Saturday June 10, 2017 @12:40PM (#14527969)
I'm going to push back a little on "new" and "weaknesses still being found". The underlying theory of curves and their hardness has been pretty stable for awhile --- since well before 2000, I think. More progress has been made against conventional multiplicative group Diffie-Hellman than has against curves.

The complicating factor isn't the curve problems themselves, but rather implementation details, some of them particular to specific curves.

Re:Elliptic Curves by ColinWright on Saturday June 10, 2017 @12:46PM (#14527996)
That's a reasonable point and I agree with you, but I think you've read into my comment something that's not there. I said:

>> But all the elliptic curve cryptography is comparatively new, and weaknesses are still being found.

It's the elliptic curve cryptography that's comparatively new, and the weaknesses are being found in the full crypto package. That includes, and in many cases is primarily in, the implementation.

So actually I think you're not pushing back, I think you're clarifying exactly what I said.

Of course, I may yet have misunderstood you, so feel free to add more. You certainly know more about this than I do, and I'm happy to learn (or have it clarified further).

Re:Elliptic Curves by tptacek on Saturday June 10, 2017 @01:21PM (#14528182)
Sure! I think we agree.

The whole field of misuse-resistant cryptography is very new, relative to the field as a whole. We didn't even have a usage model of cryptography that was sound until the later 1990s, when the connection was made between authentication and indistinguishability. It's only in the last few years that we've begun to prioritize constructions that make implementation bugs harder to blunder into.

Which is a long way of saying, that's true, but also still an issue relevant to RSA and DH and DSA.

I think the primary reason we read a lot about elliptic curves today is that the field has, at least to the extent that it's not directly promoting post-quantum algorithms, pretty much coalesced around curves as the best modern way to implement asymmetric cryptography.

Re:Elliptic Curves by nincompope on Saturday June 10, 2017 @01:54PM (#14528328)
> More progress has been made against conventional multiplicative group Diffie-Hellman than has against curves.

How is "none" more than "none"?

Re:Elliptic Curves by tptacek on Saturday June 10, 2017 @02:13PM (#14528421)
It isn't, but that's got nothing to do with my argument.
Re:Elliptic Curves by ColinWright on Saturday June 10, 2017 @01:22PM (#14528187)
A smidgen too late to edit the comment to add this ...

One advantage of ECC (Elliptic Curve Crypto) is that the keys are smaller, and hence it's easier to implement on resources constrained devices such as smart-cards and IoT devices.