What I originally wanted to do was to explain the code I posted. This was very limited in scope because it only involved Type I optimal normal basis mathematics. Nor were there any protocols, it was just math. This too proved to be much too limited, so I figured I better learn all the Type II mathematics as well as polynomial basis mathematics.
Mathematicians consider everything in this book to be "trivial." The problems solved in excruciating detail are so basic that you won't find them discussed in any math texts, other than a sentence or two or possibly in a homework problem. Mathematicians don't have secrets, but they have tricks of the trade which are simply assumed available.
One of the most exciting aspects of elliptic curve crypto is the inability of mathematicians to solve the "discreet logarithm problem." It is really the most secure mathematical crypto method human beings presently know about. This alone makes learning elliptic curve crypto worth while.
There are some who feel that the mathematics behind elliptic curve cryptography is too obscure and difficult. The main reason this book exists is to dispel that attitude. It is true there are many aspects of elliptic curve mathematics which are on the cutting edge of mathematical knowledge. This too is an exciting element of learning something state of the art. But you need no more than high school algebra to understand what is going on in this book. With luck a few readers will be motivated to charge on and learn enough to push the edge of knowledge further.
For most of you, implementing state of the art crypto for your present project (which is 2 months late) is the primary reason for picking up a book like this. You'll find complete subroutines that can be linked in with your project to get the show on the road. The IEEE P1363 draft was not finalized by the time this book got into print, so you may need to make a few changes to be fully compatible. The mathematical descriptions should help you understand the protocols in that standard.
Elliptic curve cryptography is "new" because it was first introduced to human consciousness in 1985. Public key cryptography was introduced in 1976, so by comparison elliptic curve crypto is "untested." These comparisons are not useful because the fundamental mathematics behind integer factoring schemes proposed in the 1970's and elliptic curve schemes proposed in the 1980's are all hundreds of years old. The math problems have always been difficult, elliptic curve mathematics is just exceptionally more difficult to crack, but surprisingly easy to implement.
Since first suggested, a great deal of academic interest has spawned detailed investigation into elliptic curve cryptography. What is presented in this book is just the tip of an iceberg, but it includes the most efficient mathematics and highest security protocols found so far. That the greatest minds in mathematics have trouble proving otherwise indicates that this is a good place to start for the best bang for your buck in crypto.
All the math in this book is easy. But there is a lot of it, so take your time. Unless of course, you're 6 months behind!
Mike Rosing
Madison, Wisconsin
February 1998