Release Notes: This release extends the library to also work with reduction polynomials of degree five (pentanomials). A new method is presented to calculate the trace of an element of a binary field in constant time without the need of precalculation.
Release Notes: This release contains a major theoretical breakthrough. It brings the question of how much points there exist on an elliptic curve over a field of characteristic 2 back to the simple formula: Tr(x) = Tr(b/x^2)
Release Notes: This release added a few theory pages in which the elliptic curve parameter 'a' is fully analyzed and reduced to a single bit of significance. The added pages with general mathematical topics handle Frobenius and the Trace of an element of a field extension. There is also a new, though still 'hidden' page about Group Theory in this release. Two new methods have been added to the polynomial class: trace() and normal().
Release Notes: The brute force point counting data (of elliptic curves up to GF(2^10)) is presented and partly analysed. A start has been made in determining the relationship between the curve parameter 'a' and the structure of the elliptic curves. An in-depth theory page about the structure of Abelian groups was added. This release contains new code that allows one to determine the structure of the Abelian group from the count of points and their order as well as code that determines the normal of the hyperplane in the 'a-space' that represents curves with constant cardinality.
Release Notes: This release adds a point class, representing a point on an elliptic curve. The theory page about the polynomial field GF(2^m) has been improved, and a new theory page about elliptic curves has been added.
Release Notes: This release focuses on speed optimization. Most of the bitset code was rewritten in assembly and the polynomial division now uses the fastest algorithm in the world, also in assembly. Finally, now all irreducible and primitive trinomials with a degree of less than 1200 have been calculated, as opposed to only those with prime degree.
Release Notes: This release adds a polynomial<m, k> class, which is a polynomial representation of GF(2^m)/F(t) with the primitive reduction polynomial F(t)=t^m+t^k+1. A list of all irreducible and/or primitive trinomials of prime degree less than 1200 is provided, along with the tools used to calculate them.
Release Notes: This release adds an SHA-1 implementation for bitsets.
Release Notes: This release contains a brand new pseudo random number generator, including the mathematical background and the tools used to design it.
Release Notes: This release adds a fixed size bitset template class with template member functions for operations with fixed input parameters. This approach allows for compile time optimization, resulting in bitset operations and expressions (up to expressions involving three bitsets) with the minimum possible number of assembly instructions.