Michael Hamburg
55766b76c9
homogenize invsqrt code
9 years ago
Michael Hamburg
08bbb567de
dont go via asm anymore. also reduce the number of templated expressions
9 years ago
Michael Hamburg
4e57f49161
move more generation to python
9 years ago
Michael Hamburg
7ee81cf84f
move easy scalar computations to python
9 years ago
Michael Hamburg
3a5ba3e075
no more API_NS2.
9 years ago
Michael Hamburg
f6ec8b2fc8
moving to a much simpler templating system
9 years ago
Michael Hamburg
2eacff6ad6
rfc7748 implementation, but their names will probably change
9 years ago
Michael Hamburg
4de70b837c
separate out strobe and spongerng from shake. strobe is experimental. spongerng is experimental internally but the interface should be pretty good (except for any camelCase vs snake_case issues). shake should be stable
9 years ago
Michael Hamburg
64efd989d6
use SC_LIMB in generated tables. Add a new "TODO" category, UNIFY for code that might be unified with other code
9 years ago
Mike Hamburg
a5bed6b351
Working on getting cross-arch working again. Several TODOs.
Currently compiles and passes tests on x86_64 with arch_32 and
DECAF_FORCE_32_BIT=1 (as well as the native settigs of course),
so that's a start.
Want to make serialization routine cross-arch. Need to check that
perf is good enough (likely). Current routine in p25519/arch_32
is almost cross-arch, but has known bugs (FIXMEs). Needs to take
into account separate p and, for NEON, the LIMBPERM.
Want to decouple arches for each curve/field. Currently the split
between decaf_word_t and word_t makes this fraught with peril. Fix
is probably to rename decaf_word_t to decaf_api_word_t and fix it
to either uint32 or uint64, then make internal things separate per
field. That way we don't have to try arch detection in the header,
which is nice.
Need to make decaf_gen_tables use SC_LIMB. Might as well get rid
of API_NS there too.
9 years ago
Michael Hamburg
a1f5348e18
beginning to separate errors from bools. not there yet though
9 years ago
Michael Hamburg
cdab495338
Cross-curve compilation working! Still a bunch of FIXMEs though
9 years ago
Michael Hamburg
719fcacc58
working on multicurve build system
9 years ago
Michael Hamburg
5af980b85a
wipe out the multiple layers of rename between decaf_fast and field. still some serious HACKs in the include prio to avoid multiple definition of struct gf
9 years ago
Mike Hamburg
0b59ddc2bf
move config to prime directories
9 years ago
Michael Hamburg
f8c32ba53f
knock out some TODOs
9 years ago
Mike Hamburg
40b1f8b85e
initial replace 448->255; doesnt compile yet
9 years ago
Michael Hamburg
07530b4ce5
switch base points to reflect draft-irtf-cfrg-curves-01. base point now computed by gen_tables
9 years ago
Mike Hamburg
a1d33e0b6a
change decaf_gen_tables to use FIELD_LITERAL so that `make bat` makes a portable bat
9 years ago
Michael Hamburg
e6441d0c3c
working on templatization
9 years ago
Mike Hamburg
d675971fee
demagication header and general cleanup
10 years ago
Mike Hamburg
b2dc216b40
finish porting precomputed verify to decaf_fast. Remove tables as dependency of decaf slow
10 years ago
Mike Hamburg
af2502d113
code size and gcc cleanliness related changes
10 years ago
Mike Hamburg
746b050584
optimizing and cleanup; there is still a perf regression in decaf_fast but it is now smaller, and there isnt as big a space regression due to more careful noinline
10 years ago
Mike Hamburg
93491671fa
gcc cleanliness
10 years ago
Mike Hamburg
3051dc4d03
precompute/precomputed sm works. needs demagication. slight perf regression in this build for some reason?
10 years ago