Michael Hamburg
c227424384
make doc now mostly works
7 years ago
Michael Hamburg
45eb0e14d3
change the misleading mul_by_cofactor functions to mul_by_ratio, and create ENCODE_RATIO and DECODE_ratio constants to represent this
7 years ago
Michael Hamburg
98bfcb0196
IsoE25519 is now better known as Ristretto
7 years ago
Michael Hamburg
2bcccebd8d
expose mul_by_cofactor_and_encode_like_x, but need to adjust clearing ratios
7 years ago
Michael Hamburg
2d04fa7b43
working out sign bugs; then on to invert elligator ristretto
7 years ago
Michael Hamburg
c82e7ae7a7
add ristretto widget. elligator is correct, but inverse is not yet
7 years ago
Michael Hamburg
263d454903
ristretto patched in, except elligator. still need to test against vectors though
7 years ago
Michael Hamburg
b29565fdfd
fix assertion on x25519/x448(0), thanks Olivier Cheron
7 years ago
Michael Hamburg
dd9bcf2355
remove dynamic throw lists, since theyre deprecated
7 years ago
Michael Hamburg
e69e00269f
rename publicly-visible macros to DECAF_ namespace
7 years ago
Michael Hamburg
beba37006a
deprecated macros, thanks Olivier Chéron and Tomi Ollila
7 years ago
Michael Hamburg
bd2a516210
generator should now be python3 clean
7 years ago
Michael Hamburg
af606fb195
x448 generate_key -> derive_public_key to match ed448 nomenclature
7 years ago
Michael Hamburg
bc80c744bf
decaf/decaf_[field].h[xx] -> decaf/point_[field].h[xx]
9 years ago
Michael Hamburg
e22c967171
change eddsa encoding names to show that they multiply_by_cofactor
9 years ago
Michael Hamburg
83cfd6cae1
change x### function names again, this time to decaf_x###, decaf_x###_generate_key
9 years ago
Michael Hamburg
714a5db7a0
decaf_###_x_direct_scalarmul -> decaf_x###_direct_scalarmul
9 years ago
Michael Hamburg
f1df5e4714
lowerCamelCase -> snake_case. Put decaf_ in front of all (most?) identifiers, except for SHAKE which is being removed before 1.0 release (for future refactoring)
9 years ago
Michael Hamburg
595855b434
move eddsa.hxx to its own header. sha512.hxx; rework shake.hxx header; create prehash object. TODO: test prehash
9 years ago
Michael Hamburg
798b189a77
minor changes; clear a few TODOs
9 years ago
Michael Hamburg
9d0bac672f
move context arguments to the end of hash functions. Ed25519 doesnt support contexts.
9 years ago
Michael Hamburg
b1c6de6309
EdDSA 448 seems to be working. Needs more testing, code moved around. EdDSA 255 not working yet; needs SHA512
9 years ago
Michael Hamburg
fffb77ac2d
eddsa sign seems to work for ed448. needs more testing of course
9 years ago
Michael Hamburg
d0e74a585a
eddsa key generation, at least for goldilocks. needs parameterized hash function; sign/verify; rename; put in right place
9 years ago
Michael Hamburg
650356c5f5
elligator overflow bits.
Before, invert_elligator would invert to a gf, which wouldnt be a uniformly
random string because, eg, curve25519 gfs only have 255 bits out of 256.
Now add a random multiple of p. This still wont work for future curves
that have a field size of 1 mod 8, because those curves use elligator with
no high bit set, but its a start
9 years ago
Michael Hamburg
a585d7f148
factor out elligator, decaf, scalar code. scalar_halve is now public
9 years ago
Michael Hamburg
08bbb567de
dont go via asm anymore. also reduce the number of templated expressions
9 years ago
Michael Hamburg
d94a147194
move everything over to more-tolerable templating
9 years ago
Michael Hamburg
3a5ba3e075
no more API_NS2.
9 years ago
Michael Hamburg
c9abcef055
add some pathological test cases, clearing a few TODO items. Also scalar_set_unsigned now takes a uint64_t instead of a word_t
9 years ago
Michael Hamburg
2eacff6ad6
rfc7748 implementation, but their names will probably change
9 years ago
Mike Hamburg
24e33a2f86
reasonable suite of ct tests now. also change scalar randomizer to generate +128 bits
9 years ago
Mike Hamburg
9f1cc0e2af
some more ct tests; serializeInto -> serialize_into. still need more ct tests, unification of snake vs camel case
9 years ago
Mike Hamburg
3d0c6a6c28
typedef Wrapped is no longer private for scalar and point
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
47d4b080e9
generator is almost ready to drop in
9 years ago
Michael Hamburg
72399d53d7
working on python generation
9 years ago
Michael Hamburg
a0b4bc5099
beginning of header generation technology
9 years ago
Michael Hamburg
55450fa852
respace
9 years ago
Michael Hamburg
6e95e69368
trying to make C++ headers the same, for future unified generation
9 years ago
Mike Hamburg
704b424982
dual scalarmul because of TLS discussion
9 years ago
Michael Hamburg
a1f5348e18
beginning to separate errors from bools. not there yet though
9 years ago
Michael Hamburg
88a60a294d
add Group::FIELD_MODULUS_TYPE for testing purposes
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
0f78ec28fc
fix bug in tagforget
9 years ago
Michael Hamburg
b35f966cf4
add serializable class, though i might repent of this because i dont want a vtable
9 years ago
Michael Hamburg
4dd77e0149
switch SecureBuffer to vector
9 years ago
Mike Hamburg
b849d2cd91
working on securebuffer problems, might just switch things to vector
9 years ago
Mike Hamburg
1bda5ed34a
XOPEN_SOURCE defines fixed
9 years ago