27 June 2017 minor changes to the comments in timing.out, no code changes --- 24 June 2017 compile timing.c with no optimize for closer comparison with PLC code --- 23 June 2017 timing.c: added tests using 17 16-bit pieces --- 22 June 2017 timing.c: changed compile-time options into run-time options; improved efficiency of the 24- and 32-bit routines upgraded the compiler and generated new timing results --- 21 June 2017 timing.c: implemented 11 24-bit pieces without using 64-bit data. for timing results see timing.out --- 20 June 2017 timing.c: added optional Comba product-scanning multiply order. It makes mul() slower, but makes mul32() and mul24() faster. fixed bug in timing.c cpu() CPU time measurement. --- 19 June 2017 timing.c: added USE64 option .c to use unsigned long long for intermediate multiply results. added test using 11 24-bit pieces with 64-bit intermediate results. --- 18 June 2017 added timing.c to compare speed of multiply for 22 12-bit pieces, with reduce at the end, vs. 8 32-bit pieces, with reduction during the multiply, assuming no 64-bit data type --- 12 June 2017 added signature verification: verify() in impl.c, tested at end of key.c removed unnecessary calls to adjust() at end of Point_mul() --- 11 June 2017 fixed bug in Point_decode(): was setting result point t = 0, should be t = x*y --- 9 May 2017 added print_P() to print a Point, from Ken Fischer --- 28 April 2017 improvements and bug fixes to Point_decode() added ltm() to check if u < m, used by adjust() and Point_decode() added dec() to decrement a value, used by Point_decode() added decode.c and test_decode.sh to test Point_decode() with some large y values made default n=1024 in keytest.sh to run all test cases --- 26 April 2017 added Point_decode() and neg() added constants: m1 = m-1, m58 = (m-5)/8, sqrtm1 = 2^((m-1)/4), d modified Point_encode() to optionally test Point_decode() modified key.c to test Point_decode() --- 2 January 2017 added Point_double(), used by Point_mul() to perform p+p added sqr2(), used in Point_double() --- June 2016 initial version