Mike Hamburg
4d995ac1d8
Doxygenation
10 years ago
Mike Hamburg
df69e59117
make copies inline
10 years ago
Mike Hamburg
20bf44ecf1
fix bug in decaf_fast double scalar mul. progressing in tests and documentation
10 years ago
Mike Hamburg
f7324fa927
fix bug in decaf_fast double scalar mul. progressing in tests and documentation
10 years ago
Mike Hamburg
faeb1fb092
decaf tests coming online
10 years ago
Mike Hamburg
5c5726850f
working on precomputed in hxx
10 years ago
Mike Hamburg
d675971fee
demagication header and general cleanup
10 years ago
Mike Hamburg
5f919a45f2
start on c++ wrapper
10 years ago
Mike Hamburg
2dacf20e3e
add scalar invert; unopt and opt; tests. It might be faster with dedicated montsqr and/or blinded egcd, but this is good enough for now
10 years ago
Mike Hamburg
023ef46b1d
make dsmul for verify always take base point to simplify api
10 years ago
Mike Hamburg
eaaebf807a
eliminate constant_time.h, though still using big_register_t :-/
10 years ago
Mike Hamburg
edb25d093c
perf improvement in keygen, sign; fix perf regression for decaf versions of these
10 years ago
Michael Hamburg
c8bf0382c5
code size related improvements
10 years ago
Michael Hamburg
59ed8f566c
change gf to a struct so that its alignment works on earlier clang
10 years ago
Mike Hamburg
3051dc4d03
precompute/precomputed sm works. needs demagication. slight perf regression in this build for some reason?
10 years ago
Michael Hamburg
e84fd3f1fd
define experimental direct_scalarmul, which can be implemented as monty ladder (at least for comparison purposes at the beginning)
10 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
10 years ago
Mike Hamburg
6c9230e398
SHAKE-based rng
10 years ago
Michael Hamburg
4eb8567730
decaf signatures, but they dont work yet
10 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
Mike Hamburg
b274e35d9a
Add "precomputed" API to decaf. It doesnt actually precompute in the mini decaf impl, but it passes tests.
10 years ago
Michael Hamburg
4c508f3670
minor doc fix
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
Mike Hamburg
994812cf14
differentiate curve
10 years ago
Mike Hamburg
c50e8e8bf1
decaf is now 32-bit clean
10 years ago
Michael Hamburg
f3c6a5a6a5
s/multilpy/multiply/g; thanks Robert Ransom
10 years ago
Michael Hamburg
294efc87f3
fuse crandom seed+buffer because they are accessed as a single object. probably needs a bit more testing though
10 years ago
Michael Hamburg
201a8a277a
moving toward field/arch independence
10 years ago
Michael Hamburg
acf4443c48
DECAF_SER_BYTES -> DECAF_SCALAR_BYTES in scalar codec
10 years ago
Michael Hamburg
c08c4f4879
scalar_copy
10 years ago
Michael Hamburg
a924ff4509
comments
10 years ago
Michael Hamburg
06be9ef253
decaf double and double-scalarmul, but needs to be tested
10 years ago
Michael Hamburg
d4f4d0ed60
ready for prime time?
10 years ago
Michael Hamburg
83c59a645a
decaf scalars work
10 years ago
Mike Hamburg
8e10a91976
remove GCC error
10 years ago
Michael Hamburg
8967a9dff2
some scalar code which is probably wrong
10 years ago
Michael Hamburg
0dc21dd9d7
negation properties for elligator
10 years ago
Michael Hamburg
d2ab89bdc5
better docs on Elligator
10 years ago
Michael Hamburg
6ae70daba4
better docs on Elligator
10 years ago
Michael Hamburg
dc1e4edc24
decaf elligator
10 years ago
Michael Hamburg
74dbbf0b0a
a few more doc points
10 years ago
Michael Hamburg
04ecdb3d3e
documentation for decaf
10 years ago
Mike Hamburg
b3f7d97977
decaf scalarmul signed w=2 working. Surprisingly only twice as slow as Goldilocks
10 years ago
Michael Hamburg
524c78cdcd
one more minor change
10 years ago
Michael Hamburg
ffb44b4c94
decaf tuning and simplification
10 years ago
Michael Hamburg
3988b1ad7f
decaf first cut
10 years ago
Mike Hamburg
1f480b0f95
Big changes for curve flexibility. For details see HISTORY.txt.
Very experimental Ed480-Ridinghood support is now in. It's not fully optimized,
but in general the current build is 8-15% slower than Goldilocks. It only works on
arch_x86_64, though arch_ref64 support ought to be easy. Support on other arches
will be trickier, which is of course why I chose Goldilocks over Ridinghood in the
first place.
Next up, E-521. Hopefully.
The code is starting to get spread out over a lot of files. Some are per field*arch,
some per field, some per curve, some global. It's hard to do much about this, though,
with a rather ugly .c.inc system.
There's currently no way to make a Ridinghood eBAT. In fact, I haven't tested eBAT
support in this commit. I also haven't tested NEON, but at least ARCH_32 works on
Intel.
10 years ago
Mike Hamburg
46c2fb4a4a
A few adjustments on contributed patches.
Undo the INTRINSIC changes from David Leon Gil.
Turn precomputed keys back on by default. Change #ifdef to #if for checking sigs.
10 years ago
Nicholas Wilson
a941e639bc
some minor changes to get the arch_32 stuff compiling, and a few tweaks for my use
10 years ago