19127 >> Josh Benaloh: All right. It's a pleasure...

advertisement
19127
>> Josh Benaloh: All right. It's a pleasure to welcome Ed Dawson today. Ed has probably been
with the ISCR longer than I have, which is good and sad in some ways, I guess. I don't know.
Been too long.
Ed is actually a local, went to high school around Olympia, is it? But has been at the Queensland
Institute of Technology for more than 35 years, I think.
>> Ed Dawson: Yes.
>> Josh Benaloh: So he's been in all aspects of crypto for many years in many ways. And today
he's going to be telling us about efficient elliptic curve point addition, but I think just a brief
overview of the Information Security Institute at QIT.
>> Ed Dawson: Yes. I'd like to thank Josh for inviting me here. As Josh mentioned, I originally
came from Washington State. And Josh, I guess I come here either before or after crypto over
the last 20 some years. Usually end up in Washington State to visit family and that.
I've been speaking to Josh for quite a number of times to come here. And it's my pleasure to
actually finally to be here now to visit Microsoft and that.
I should say that I was just, to age myself, I was just at my high school, just by chance, there was
a 45th high school reunion which I went to for Olympia High School on Saturday night. So born
and raised there in Olympia. I went to the University of Washington, undergraduate degree.
And then in the early '70s and probably I don't know if anybody was around here, probably not, at
that time, at that time there was a bit of a problem in this area.
The unemployment rate was 20 percent. Imagine no Microsoft, okay? And the government shut
down this SST program for the supersonic transport. And the unemployment rate was 20
percent.
And the saying was, would the last person that leaves Seattle please turn the lights off. So I took
the advice of a famous person from, American from the 19th century called Horace Greeley. And
he said go west young man. So I went west, and there was no further to go west here, except
you had to go to across the ocean, so I ended up in Australia in 1971 and I've been there, in
Australia, since that.
Okay. So I'm going to, first of all, I'm just going to give you a brief overview of our -- let me grab
this thing here -- of our institute. I'll pass these around. I've got a couple of these. I'll leave these
here, just describing, brochures describing our institute at QIT. I was the research director of this
for like 15 or 16 years. But three years ago I took a golden handshake. So I just work three days
a week, and I'm an emeritus professor and that.
So we were formed originally in 1988, which is sort of early days at universities informing centers
and information security. And originally we were just in the area of information technology, and
we had crypto, network security and trusted computing.
But in 2005, our university decided to look at the wider issues than that in information security.
And we combined research from four different faculties to do research across, because as all of
you know that we could work in our crypto world, but there's also issues, legal issues and all sorts
of other issues related into using our information security.
So that's what we looked at in terms of business, where they want us to look at a
multi-disciplinary approach. So that's what we adapted at QET in 2005. So this is sort of our
aim. I won't spend much time on that.
And this is what the size of who we are. We have a large number of -- most of those students are
Ph.D. students. About 90 percent of them are Ph.D. students.
So in size, we're equivalent in size to any other group that I know in the world at a university. The
United States, similar university to us, would be Purdue University, would be similar to what our
group at QIT is and that. And just to finish this section, then, that we work across -- my main
interest is in crypto, but I've also worked in e-business and e-government with applications.
We have a legal section. Network security is still with us. And then we also bring in -- we have a
large number in the engineering side who are working in biometrics and surveillance area. We
have like 20 Ph.D. students in that area, and we have risk and crisis management from our
business and IT people.
So that's who we are at QUT. And those brochurespy passed around, and I'll leave those here,
describes us in a little bit more detail.
Want to go to the next one?
>>: Let me switch.
>> Ed Dawson: Okay. So when Josh is getting this ready, the talk that I'm giving here is mainly
the Ph.D. thesis of my student Hussein, who is back in Turkey and ready to go into the Turkish
Army, has to spend a year in the Turkish Army.
>>: Ed has kindly left me a copy of his thesis.
>> Ed Dawson: I left his thesis there for anyone who is interested in looking at his thesis after I
leave today. The talk I am going to today is an invited talk that I presented at the Shannon
Institute conference workshop in Ireland, and I presented in May in Ireland, right before
Eurocrypt.
We'll have an overview. Look at some of the tools we developed. Look at some of our inversion
free point edition and look at some experimental results and a conclusion at the end.
So if we're looking at -- and this work is all concerned about implementing elliptic curves in
software. So there's three different areas that we would be concerned about looking for efficiency
is trying to get our finite field arithmetic done quickly.
We could look at point additions, new coordinate systems, new and faster formula and we could
also look at scalar multiplication methods.
So our work here -- what's that?
>>: The other way.
>> Ed Dawson: So our -- Hussein's thesis is mainly concerned with that part. Although we'll
bring in previous work not his new work but bring in previous work at the end when we bring in
our experimental results at the end.
So I don't have to -- it's like teaching -- everybody knows using crypto here. So we want to have
efficient methods. The aim of this thesis was to derive an addition law on arbitrary curve and
efficient adding points on this elliptic curve using the derived addition law.
We had practical speed-ups in higher level operations which depend on point additions,
particularly the contributions immediately fine applications in crypto.
So we're going to go over the five -- and these are the five different forms which are being used
quite widely in elliptic curve cryptography, and most of the work -- this is the previous work. We
mentioned that a little bit. But most of the work then was going through these four different forms
then and trying to define a complete addition formula and then also trying to find efficient methods
for doing implementations as we'll see.
So we also found a wire Strauss curve which is birationally equivalent to each of the curves in the
standard form.
And also we brought Hussein did some interesting algebraic tools using MAGMA and Maple
packages. Everybody familiar with those two packages in that? MAGMA is actually Australian
package from John Canon from the University of Sydney, who I well in that.
And we looked at group law and affine coordinates for each of the studied forms, simple way of
exception handling, so in the thesis he has a complete algebraic -- a complete algorithm for doing
the addition for each one of these forms and that.
And we have -- then we're going to have efficient inversion free algorithms that we'll talk about
and then optimize high speed software.
So some notions and assumptions that we'll use, we'll use M for multiplication. S for squaring. I
for inversion and D for multiplication by curve constant. And people can argue these. But this is
roughly the sort of measure that we take and compare in these different operations then.
>>: Multiplication and addition here? You mentioned multiplication, is that the same operation as
the curve multiplication?
>> Ed Dawson: No, that's just -- that's field operations.
>>: So when multiplication would be that curve constant, what special -- seems like ->> Ed Dawson: Like the As and the Bs here.
>>: Okay.
>> Ed Dawson: So the short wire Strauss form then, as usual when we display the elliptic curves
we actually take a real curve here just for the sake of showing the curve, just make it look nice
and that.
So this covers all -- and all elliptic curves characteristics two and three. So the work is totally
concerned with large prime characteristic that we're looking at. Before the work that -- before
2006, this was what everybody looked at because it was the most efficient form in that. We're
going to see how things have changed now over the last three or four years based on our work
and the work of others, particularly the work of Dan Bernstine and Tanya Lang as well and that.
So the next one is the extended Jacobi curve. This curve here. That covers all elliptic curves
with a point order or two characteristic not two.
This is what our -- this is the speed records that we had then for what has come out of this work
and that. And this is currently the best for doubling intensive operations. And this is the mapping
to change -- for each one of these curves then we're going to map -- we can map back and forth
between this curve and the wire Strauss curve, and this is the formula for mapping from that
curve to that curve then.
The next one is the twisted Hessian form, which is this curve here. That covers all elliptic order
curves with point of order three. These are again our speed records, as we'll see.
And this is interesting for parallel implementations. And again here's -- this is equivalent to that
wire Strauss form and here's our mapping here, then.
This is the one probably people, anybody working with elliptic curves probably heard about is this
one. This is what Tanya Lang and Dan Bernstine brought out. And then we extended theirs to
still be the most efficient. We thought one of the ones we actually had afterward, we went back
tried more tricks but this still came out the most efficient, as we'll see.
And that covers all elliptic curves covered by that Montgomery curve. And that's the form here.
And it's best for addition intensive operations. Very interesting for parallel implementations.
I'm not going to talk about parallel implementations but there's some of that work in Hussein's
thesis as well in that. And again the curve, that Edwards curve is equivalent to this wire Strauss
curve, and there's our mapping.
The next is this twisted Jacobi intersection form here, which is this curve here. That covers all
elliptic curves with exactly three points of order two. New addition for homogenous projective
coordinates, and this is our speeds here that we have in this.
And here's, again that's our mapping to map from that to that. Okay. So you can see that the
Weierstrass form. This is the number of isomorphic classes.
You can see we don't lose that much by going to these other curves and that. In particular like
the twisted Edwards, we lose about half the size in that a number of isomorphic classes but still
we have a large number of classes and that.
>>: What's the Q mean?
>> Ed Dawson: That's the field. And again -- and we're going to talk about -- we're also going to
talk about having some single curve constant, and we get more speed but we lose a little bit of
classes but we still have a large number of classes by having single curve constants. We're
going to do some of that -- we're going to have like if we put a 1 there, we get a little bit more
speed as we're going to talk about.
Okay. So that's a brief introduction to the curves. And I actually gave you all the results there.
So the results. But now we're going to go into more detail. So the part now we're going to look at
is we want to -- we're going to develop the form for, to get a complete algorithm for adding each
one of these forms.
Now, I'm not going to go through -- I'm only going to go through the twisted Edwards curve.
Actually, I'm going to go through detail through the twisted Edwards curve for each thing that
we're going to do, because the rest, the other ones are actually doing similar sort of things and it's
all in his thesis. I'll only go through the process to use the twisted Edwards ones because they're
the most efficient ones anyway.
So we wanted to automate the group law derivation to find the minimal degree point doubling and
addition forms and we use MAGMA and Maple as the tools for doing this then. And that also
allows us to verify the correctness of our derived formulas, and we also found some alternative
formulas as well.
Okay. So this is -- and I won't go through the proof of this. But this is a little theorem here, which
we're going to use here. It's that we have two different forms. We're going to use the
Weierstrass form and some other form. And assume that there's a mapping from the phi from W
to M. From the Weierstrass form to the other one, and psi which maps to M to W, such that those
maps, the competition phi and psi and psi/phi are equal to the identity maps on each of them.
And let plus W be the affine part of the unique edition law on W, which we know. Then the affine
part of the unique addition law on M is given by this composition.
So that's the result we're going to use then. Okay. So we're going to -- as I mention we're going
to let W be the Weierstrass and we'll let this be this generic form. And we know what the group -and plus W then is a group addition on W then.
So then if we have this psi and phi as we defined before mapping one to the other such that their
competition is the identity map from that theorem, then we know what the mapping on M is then,
what the addition law is.
So now we're going to apply this then to the twisted Edwards curve then. So we use this curve
then. And, oh, just briefly, some overview of this curve, then. There's two points of affinity. And
then we can blow them up to produce two other points. Omega 1, omega 2 and blow up the
other one and we get omega 3 and omega 4.
So if we apply that rule, that theorem, this rule here, using the addition, plus W was the
Weierstrass addition form, then the addition form and plus M is given by that, and you can see
there's our mappings, phi and psi. And then we do that.
And here's the addition -- there's the addition law on W. Using the standard Weierstrass addition
law. And so then here's the addition law on twisted Edwards as given by this composition, then.
>>: Sorry, you were talking about the affine part of the addition log does that mean it's just your
rules for adding affine points to one another?
>> Ed Dawson: Yes. Yes. It is. And there's some cases we'll show you how to -- I'll give you a
complete algorithm which does all of it, which will come out shortly.
>>: Okay.
>> Ed Dawson: That's at the end of this section. The answer is yes.
>>: Okay, thanks.
>> Ed Dawson: So here it is. Now, that's a mess, okay. So this is where Hussein went farther
than that, some other tools.
So we expect something nice, okay, but we ended up with something that's a mess. And it's not
going to give us sufficient arithmetic in that.
So what then was Hussein, one of my other students, former students, Ken Wong, found this
algorithm by Monagan and Pearce. He hadn't applied it to elliptic curves, but that's what we did
with our work in that.
I think it's Pearce's thesis, that finds a fraction with a minimal toll degree sum of the numerator
and denominator. And the algorithm walks up to the degrees of the numerator and denominator,
at each step attempts to solve this equation mod I, where I -- this is the elliptical curve points and
that of the X1, Y1. X2 Y2. N is the original denominator. D the original denominator and the
other two, eta and delta, are the lower degree denominator candidates.
If you apply this using a computer algebra package to do it, you get this, then.
So it reduces down without using the computer algebra package with that, using Pearce's stuff.
We didn't know anybody who actually applied this stuff to it. Hussein did this for each one of the
forms, he derived formulas by doing the same sort of trick for each one of those forms, then.
And then from there, then, using this formula then, this is the complete, then, addition law. And
for adding points in the twisted Edwards curve then, and that's a complete addition law with
using -- you can see using the singular points and that with all these else's and ifs and that and
you get the complete addition formula for the twisted Edwards curve then.
And Hussein's thesis, he's done the same thing for all of those forms then. Got the complete
addition law.
Okay. So that finishes that section then. That was the sort of computer algebra section that he
did in that.
Okay. So now I guess we're going to come to the implementation part. So we're going to look at
efficient group laws, develop new low degree inversion free formula, new and faster algorithms,
and new coordinate systems and new mixed coordinates for each of the forms.
And again I'll go through -- I'll give the results for each of the forms but I'll only go through in detail
with the twisted Edwards, but I'll give you the results of each of them with the final results.
So the twisted Edwards then, this is the work from Dan Bernstine and Tanya language, and I'm
not sure who all the other people they had with them. I've got some references at the end, who
some of their coworkers were.
What we've got is additional results. All this stuff we used projective coordinates for elliptic
curves. Because they're projected curves, we can get rid of the inversions then.
So we have additional results for inverted coordinates, a new system which extended
homogenous coordinates we call EE, a new system which is a mixed projective coordinates EX.
We have dedicated formulas which is faster than unified formulas for addition.
So this is the -- so the first two are results of Dan and Tanya. This is with their projective
coordinates and inverted coordinates. So we add another projective coordinates, and doing that
we get rid of -- you notice there's no division anymore.
So we don't have to worry about inversion anymore. And they also have an inverted coordinates.
So when we looked -- these are their speed records. We're going to find tricks to actually
improve these a little bit.
So what we observed at a high degree polynomial expressions we can further lower the degrees
by keeping the track of XY over Z separately and doing that by introducing a new variable. We
have XYT and Z then. Where T is XY over Z. And then XYTZ satisfies that equation.
And there's our formulas then for addition. I mean, by doing this we have to actually store
another variable, but in software the storage is cheap. So this is not -- this is no big deal.
So by doing that, then, the point addition now takes 9 M plus 2 D. And we could have -- if A is a
square and K and D is not a square in K, this is actually a complete addition then.
So the brackets means that was the previous work, and this is our work. And then if you put A as
minus 1 you can have a little bit more speedup as well.
This is going through -- I won't go through, I won't go through that-- but that's going through, you
can see computing this, the XYZ and T is the sort of things you do in registers and the forms you
need to go through and registers, completing the XYZ and T.
So then we added a little bit more, another little trick, just doing little tricks at the edges here. The
trick here was then to have a mixed coordinate system.
>>: Did the curves have elliptic curves each number is at least two if not three, and can they
work on the register and the articles we care about?
>> Ed Dawson: I have to ask Hussein. I'm not sure. I'm sure you can. Well, I'll give you the
implementation of software and that. He's implemented all this in software. Generally, I'll give
you the speeds and all that at the end.
So what we've got is a mixed ->>: 256 --
>> Ed Dawson: So for repeated doubleings, he used the 2 E 2 E system, which is this one up
here. If a W is followed by addition, use 2 E to the extended ones for the doubling step and then
followed by using in the extended form, to do the addition step, and output that back in the E form
then. That's sort of using a mixed trial and that gives the highest speeds then, we'll see.
As well, another a little trick that Hussein found is that the affine point addition is dependent upon
A and D given by this formula here, has both A and D in it. However, we can get rid of the -- we
can get rid of the D by doing this little trick here, doing that little change in that, and we can get rid
of the D.
Then if we go back to the projective forms, and our extended forms, then this is the new form in
this four coordinate system. And now a point addition is now nine multiplications systems plus D
that saves an extra D.
If we have a point addition with A equals minus 1, we can take that down to eight multiplications.
And if you have a base point of odd order, we don't have to worry about you know that big form I
gave, you don't have to worry about any exception points then if you have a base point of odd
order.
So then this is our final results then for doing all those tricks together and that. These give our
complete results then.
Okay. So that was the twisted Edwards. For the other forms now, there actually was not that
much implementation done before our work. This is the extended Jacobi quartic, there was an
addition in unified form but these are all of our -- we do the same trick -- we do the same sort of
tricks. Projective, extended, mixed coordinates. And you can see the sort of speeds that we
have here then.
And then this is for operation accounts for twisted Jacobi with B equal to 1 and different
coordinate systems. And again doing the same sort of tricks. You can see that was what -before our work and these are our new results then.
And the same with the Hessian form. These are the previous results and these are our new
results with all those projected modified extended and mixed coordinates again.
And finally we also looked at the -- there's a few little -- little bit of Hussein has added a little bit of
more implementations to the Weierstrass forms as well. You can see most of that work was done
previously on the Weierstrass. So he didn't spend that much time on the Weierstrass.
Okay. So the last part, then, we're going to look at some of the implementation here, then. Some
of the implementation of the curves and that. So we took the elliptic curve that -- I mean the finite
field we chose was 2 to the 5, 6, minus 5, 8, 7. And then we found -- and these are the five
different elliptic curves that we used for comparison.
What the H means here is that the order of the curve is -- well, that order of that curve is prime,
okay? And the other one is a large prime times 2, a large prime times 3 and so forth.
So these curves, then, if we look in terms of discrete log attacks then that these curves should be
secure then against any sort of discrete log attacks [indiscernible] and so forth because they have
a large prime order for each -- for each of them and that.
I'm not sure what -- RSA is -- is that 2,000 bits or something like that? Is it ->>: [indiscernible].
>> Ed Dawson: What?
>>: [indiscernible].
>> Ed Dawson: So I mean but that size there, size RSA.
>>: Very big RSA like 16 K.
>> Ed Dawson: Okay. Okay. So I mentioned at the start that I mentioned that level of doing the
scalar multiplication, that we weren't trying to actually add anything new. We were just trying to
use some of the best results there when we're actually doing the implementation. So we use this
scalar multiplication from this hands -- Alfred menses and Scott vanstone's work in '03 for the
scalar algorithm 3.38. And the energy recoding algorithm or the scalar multiplication we use this
algorithm from 2005. That runs on the fly as the main loop of the scalar multiplication is
performed.
And we also wanted to look at if we have look-up tables, and we kept all points in extended
projective coordinates. So let's look at applying to those curves then.
So before 2006 everybody said Weierstrass then. So we did this on, implemented this on core 2
computer, and you can see then that the different -- what this actually means in terms of speed
then. That the twisted Edwards then is marginally better than the Jacobi quartic then. And the
Weierstrass was the slowest of them all then in comparison then.
So we also did a comparison -- we're just going to compare the Weierstrass one and the twisted
Edwards in this slide. So we looked up -- and this is the size of the lookup table. And you can
see then again having the same size of lookup tables that again the twisted Edwards is faster
than the Weierstrass as well in that.
Okay. So the goal here was to revisit elliptic curves and that and see if we can end up with some
more efficient point additions. We applied some interesting algebraic tools to develop automated
group laws. Found a way to simplify these using that Pearce's Ph.D. thesis, applied the elliptic
curves gave us a really efficient way to give us simple statements for our addition and that then.
For each of those forms, then, we developed a complete description of the group law. I gave you
the twisted Edwards forms, but in the thesis, then, there's complete addition forms for each one of
those forms in that then.
And that was the first time for most, those forms that's actually been in the literature and that. I
should also make the statement that a lot of this stuff is actually -- he's writing the paper on this
right now. We haven't published some of this work and that.
And the part here we published the Edward stuff but some of the stuff is not published yet. And
then we developed high speed software to verify the results from our inversion free formulas as
well and that.
So this is some of the papers that we published, then, over the last two or three years. I guess
the highlight paper's this one we had in Asiacrypt in 2008 where we did the twisted Edwards
curve and that.
Okay. Thank you, then. [applause].
>>: So you used the automatic tools to derive these formulas, the packets that you showed
there? So finally with the answer you also add like these formulas saying what the computer
actually does? So ->> Ed Dawson: That wasn't automated that was ->>: That was my question. So it's still hand work, like finding these and writing down the
formulas.
>> Ed Dawson: Actually before he was using the computer software he actually derived some of
those by hand, some of that stuff too and that. And then my other former Ph.D. student, Ken
Wong, more of a computer algebra freak started working with this and got Hussein working on the
computer algebra. And then he said wow look what I can do with this stuff and that.
And he went to that. But the actual derivation of the formulas actually do it by hand and that. So
it was a bit of work to actually go through all those rules and that.
>>: And that result just gives you the minimal like degree for this?
>> Ed Dawson: Yes. He hadn't applied it for the -- first ones to apply elliptic curves. No one has
done it before with elliptic curves and that.
>>: Thanks.
>>: So have you tried to derive [indiscernible].
>> Ed Dawson: Sorry?
>>: Have you tried to derive additions from the [indiscernible] that could be used from
multiplication [phonetic]?
>> Ed Dawson: We have another -- I haven't been working on the paring work at all myself.
Hussein did work with another one of our students Craig Costello, and Craig's doing some more
work us and that. I'm not sure -- he's visiting somewhere in the United States now.
>>: We've done some of this by hand, too. Twisted Edwards.
>> Ed Dawson: But they worked, Craig and Hussein worked together for a little while so Craig
got his background from Hussein.
>> Josh Benaloh: Thank you, then.
Download