Mike Hamburg
9f1cc0e2af
some more ct tests; serializeInto -> serialize_into. still need more ct tests, unification of snake vs camel case
9 years ago
Michael Hamburg
d81592ba71
make test_ct, except it probably doesnt work; definitely not on a mac with no memcheck.h installed
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
Michael Hamburg
2e23ac747b
move (some of the?) per-field code to src/per_field.c
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
6bc97fb756
need an include/arch_*/arch_intrinsics.h for other arches
9 years ago
Michael Hamburg
294eabaec7
generate f_field.h
9 years ago
Michael Hamburg
1a14abb4dd
Separate .h files for SHA/SHAKE, STROBE and sponge RNG. TODO: .hxx. Also add a lot of docs
9 years ago
Michael Hamburg
e5491b67c1
some fixes to "make todo"
9 years ago
Michael Hamburg
838fe2aa17
fix a makefile interaction on cxx headers?
9 years ago
Michael Hamburg
48aa8215f2
only include public includes now
9 years ago
Michael Hamburg
28ab1d592b
prevent regenerating all headers every make
9 years ago
Michael Hamburg
98be9a0820
now generating some headers for real
9 years ago
Michael Hamburg
26b5917bbf
remove decaf.c, to be restored later maybe
9 years ago
Michael Hamburg
facad6c2ac
unify decaf_crypto c versions, still need to unify with c++
9 years ago
Michael Hamburg
64adbd1082
split c crypto routines for now (a bit of a hack :-/)
9 years ago
Michael Hamburg
49629216f8
simplify elligator (todo: test more? eg 1/(1-d) on 25519)
9 years ago
Michael Hamburg
e95b7c7f0e
made scalar inverse WARN_UNUSED and made it throw. Small fix to sagetest. Changed some places that assumed that success is true, in case I want to adopt the proposal that success is 0
9 years ago
Michael Hamburg
cdab495338
Cross-curve compilation working! Still a bunch of FIXMEs though
9 years ago
Michael Hamburg
d703b31062
fix some PRECIOUS
9 years ago
Michael Hamburg
719fcacc58
working on multicurve build system
9 years ago
Mike Hamburg
60b14fb0f1
add FixedBuffer
9 years ago
Mike Hamburg
538fe68866
OwnedOrUnowned as base for Precomputed
9 years ago
Mike Hamburg
6bc7a3db3b
rework build hierarchy to prepare for generated headers
9 years ago
Michael Hamburg
42a561d018
some accel in for curve25519
9 years ago
Michael Hamburg
d501753648
factor common routines and data decls out into decaf_common.h. Now leaking NONNULL etc
9 years ago
Michael Hamburg
03ecad0551
it compiles, but it certainly doesnt work yet
9 years ago
Mike Hamburg
40b1f8b85e
initial replace 448->255; doesnt compile yet
9 years ago
Michael Hamburg
4fe3b9d06a
begin groundwork for sage testing
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
Mike Hamburg
45a271dc0c
fix most of SUPERCOP stuff. However, the results of `make bat` still are not portable because the generated tables use arch specific field element layout
9 years ago
Michael Hamburg
fc3be89e4c
trying to templatize
9 years ago
Michael Hamburg
e6441d0c3c
working on templatization
9 years ago
Mike Hamburg
9f7b8eb1ca
restore wno-overlength-strings (it was used for NEON)
9 years ago
Mike Hamburg
febe900161
makefile rpath settings
9 years ago
Michael Hamburg
f18cf359c6
remove files used by goldilocks/master, leaving only decaf
9 years ago
Mike Hamburg
484e05b472
shuffling permutation. tested and benched on NEON; slightly faster than goldilocks original except verification which is slightly slower
9 years ago
Michael Hamburg
469aa48079
switch to underlying field de/ser ops for portability
9 years ago
Mike Hamburg
18e7c31691
more tests and benchmarks
9 years ago
Mike Hamburg
59ab6ce535
working on c++ benchmark
9 years ago
Mike Hamburg
4d995ac1d8
Doxygenation
9 years ago
Mike Hamburg
faeb1fb092
decaf tests coming online
9 years ago
Mike Hamburg
5f919a45f2
start on c++ wrapper
9 years ago
Mike Hamburg
b2dc216b40
finish porting precomputed verify to decaf_fast. Remove tables as dependency of decaf slow
9 years ago
Michael Hamburg
59ed8f566c
change gf to a struct so that its alignment works on earlier clang
9 years ago
Mike Hamburg
3051dc4d03
precompute/precomputed sm works. needs demagication. slight perf regression in this build for some reason?
9 years ago
Michael Hamburg
ae24f96e09
copying existing decaf impl to "fast" version. not that fast yet, but uses native field mul code. Also rework precomputed tables to be agnostic of underlying impl
9 years ago
Michael Hamburg
608eb2e065
Begin work on decaf_crypto. Have an ECDH analog now. Add decaf_bzero. Remove a bunch of testing from bench.c.
10 years ago
Michael Hamburg
ade8246a3d
bench shake; API_VIS on shake
10 years ago
Michael Hamburg
f4c76b7487
SHAKE and SHA3 instances (experimental) based on code from David Leon Gil. Tested by hand but needs automatic KAT. I might also want to include Keyak or some similar duplex construction eventually.
10 years ago