]> git.codecow.com Git - Monocypher.git/log
Monocypher.git
5 years agoPrepared entry points for TIS-CI
Loup Vaillant [Tue, 28 Jul 2020 12:47:09 +0000 (14:47 +0200)]
Prepared entry points for TIS-CI

5 years agoSeparated basic/advanced functions in different folders
Loup Vaillant [Tue, 28 Jul 2020 00:08:28 +0000 (02:08 +0200)]
Separated basic/advanced functions in different folders

Addresses MON-01-005
Fixes #182

5 years agoBetter low/high level separation in the header.
Loup Vaillant [Mon, 27 Jul 2020 11:10:32 +0000 (13:10 +0200)]
Better low/high level separation in the header.

Partially addreses MON-01-005.  #182

Also added various warnings in comments.

Also pretend the min number of Argon2i iterations passes is 3.
It's not true, but any less would not be secure.

5 years agoArgon2i hash is now allowed to overlap with the work area
Loup Vaillant [Fri, 10 Jul 2020 22:46:38 +0000 (00:46 +0200)]
Argon2i hash is now allowed to overlap with the work area

Fixes #183

Almost all of Monocypher allows arguments to overlap. Users may come to
expect it, and misuse those who don't allow such an overlap. (Chacha20
and AEAD are an exception, but (i) portability concerns prevents us to
allow it properly, and (ii) disallowed overlaps tend to trigger visible
corruptions immediately.)

Before, having the hash coincide with the working area meant the output
was always zero.  All passwords have the same hash.  Therefore all
passwords are correct.  Oops.  For the record, I made the mistake, and
caught the bug only days later, by pure luck.

Now overlap is allowed, and gives the right result. Note that the work
area is still wiped.  The wipe just happens *before* the final hash is
computed.

5 years agoMerge pull request #184 from fscoto/master+mon-01-001
Loup Vaillant [Fri, 10 Jul 2020 22:32:33 +0000 (00:32 +0200)]
Merge pull request #184 from fscoto/master+mon-01-001

intro: macOS, illumos and Solaris have arc4random_buf(3)

Fix #180

5 years agointro: macOS, illumos and Solaris have arc4random_buf(3)
Fabio Scotoni [Fri, 10 Jul 2020 18:14:46 +0000 (20:14 +0200)]
intro: macOS, illumos and Solaris have arc4random_buf(3)

5 years agoBetter test for crypto_x25519_inverse()
Loup Vaillant [Sun, 5 Jul 2020 09:46:13 +0000 (11:46 +0200)]
Better test for crypto_x25519_inverse()

5 years agoRemoved redundant all zero test vector
Loup Vaillant [Mon, 29 Jun 2020 18:13:15 +0000 (20:13 +0200)]
Removed redundant all zero test vector

5 years agoAdded Kleshni/Elligator-2 test vectors
Loup Vaillant [Sun, 28 Jun 2020 22:40:50 +0000 (00:40 +0200)]
Added Kleshni/Elligator-2 test vectors

An auditor recently told me about the following repository on GitHub:

  https://github.com/Kleshni/Elligator-2/

I was able to steal a couple test vectors from them.  Not all of them
unfortunately:

- Some representative exceed 2^254, and Monocypher do not decode
  negative representatives.  Instead, it assumes it has a positive
  representative, and clears the two most significant bits before
  decoding.

- It is not clear yet what encoding does, and some points in the (few)
  test vectors have their most significant bit set. Monocypher ignores
  the most significant bit of curve point, basically assumes they are
  all below 2^255 - 19.  Adding those points will require tweaking
  similar to the tweaking applied to the Hash to Curve RFC draft test
  vectors.

5 years agoAdded extern "C" to optional & deprecated files
Loup Vaillant [Mon, 15 Jun 2020 21:54:21 +0000 (23:54 +0200)]
Added extern "C" to optional & deprecated files

5 years agoAdjusted changelog date
Loup Vaillant [Mon, 15 Jun 2020 21:41:29 +0000 (23:41 +0200)]
Adjusted changelog date

5 years agoUpdated changelog
Loup Vaillant [Fri, 12 Jun 2020 19:43:55 +0000 (21:43 +0200)]
Updated changelog

5 years agoOptimised key loading in Blake2b
Loup Vaillant [Mon, 8 Jun 2020 15:46:16 +0000 (17:46 +0200)]
Optimised key loading in Blake2b

The idea is to avoid the slow loading code in the internal
blake2b_update() function, and avoid the overhead of calling
crypto_blake2b_update().

It's a micro-optimisation that in principle shouldn't matter that much,
but it might help a bit if we repeatedly hash small messages with a key,
as can happen in authenticated key exchanges like Monokex.

5 years agoRemoved #define from vectors.h
Loup Vaillant [Fri, 29 May 2020 21:40:50 +0000 (23:40 +0200)]
Removed #define from vectors.h

Also reduced the size of vectors.h by removing indirections and printing
numbers in decimal form. Hopefully this will make the tarball a little
smaller.

5 years agoFixed various compiler warnings
Loup Vaillant [Fri, 29 May 2020 18:09:41 +0000 (20:09 +0200)]
Fixed various compiler warnings

Fixes #179

5 years agoMerge pull request #178 from fscoto/master+fix-includes
Loup Vaillant [Sun, 24 May 2020 18:48:18 +0000 (20:48 +0200)]
Merge pull request #178 from fscoto/master+fix-includes

doc: Fix .In for optional code

5 years agodoc: Fix crypto_ed25519_public_key function name
Fabio Scotoni [Sun, 24 May 2020 13:20:39 +0000 (15:20 +0200)]
doc: Fix crypto_ed25519_public_key function name

5 years agodoc: Fix .In for optional code
Fabio Scotoni [Sun, 24 May 2020 10:54:05 +0000 (12:54 +0200)]
doc: Fix .In for optional code

5 years agoREADME: Monocypher is not compatible with NaCl
Loup Vaillant [Tue, 12 May 2020 09:49:44 +0000 (11:49 +0200)]
README: Monocypher is not compatible with NaCl

Fixes #177

This removes the suggestion that we can replace Monocypher with NaCl.
We cannot, only Libsodium is compatible.

5 years agoCosmetic. compact grouping of vtables
Loup Vaillant [Sat, 2 May 2020 20:18:15 +0000 (22:18 +0200)]
Cosmetic. compact grouping of vtables

5 years agoTurned ALIGN into a function
Loup Vaillant [Sat, 2 May 2020 17:25:21 +0000 (19:25 +0200)]
Turned ALIGN into a function

5 years agoMerge pull request #173 from fscoto/master+reproball
Loup Vaillant [Wed, 22 Apr 2020 15:57:26 +0000 (17:57 +0200)]
Merge pull request #173 from fscoto/master+reproball

Make tarball generation reproducible

5 years agodist.sh: Make tarball reproducible
Fabio Scotoni [Wed, 22 Apr 2020 14:35:05 +0000 (16:35 +0200)]
dist.sh: Make tarball reproducible

5 years agoMake Elligator test vector gen deterministic
Fabio Scotoni [Wed, 22 Apr 2020 14:33:03 +0000 (16:33 +0200)]
Make Elligator test vector gen deterministic

This paves the way for reproducible tarballs.
Since the test vectors must be generated for a complete tarball,
these must agree everywhere.

The lack of actual randomness is harmless because these are test
vectors, not actual usages of Elligator.

5 years agoMore readable Blake2 round function
Loup Vaillant [Mon, 20 Apr 2020 14:29:07 +0000 (16:29 +0200)]
More readable Blake2 round function

5 years agoFixed (NULL + 0) undefined behaviour
Loup Vaillant [Mon, 20 Apr 2020 11:59:31 +0000 (13:59 +0200)]
Fixed (NULL + 0) undefined behaviour

It appears that arithmetic on NULL pointers is undefined, even when we
just add zero.

Monocypher generally allows input buffers to be NULL pointers if their
length is zero.  This is because we never dereference those pointers in
this case.  Likewise, we should not perform any arithmetic on them.

The fix is to return immediately when the input buffer length is zero.

5 years agoMerge pull request #171 from stevefan1999-personal/patch-1
Loup Vaillant [Sat, 18 Apr 2020 15:41:39 +0000 (17:41 +0200)]
Merge pull request #171 from stevefan1999-personal/patch-1

Add extern C if C++ presents

5 years agoUpdate monocypher.h
Steve Fan [Sat, 18 Apr 2020 10:14:21 +0000 (18:14 +0800)]
Update monocypher.h

5 years agoTrim scalar in place
Loup Vaillant [Thu, 16 Apr 2020 18:12:32 +0000 (20:12 +0200)]
Trim scalar in place

Fixes #170

Reverts 6411aa419f113a283feac0240b736a1f7e1e8ed1

Turns out MSVC didn't like the aliasing in trim_scalar(), and managed to
break the code.

And this wasn't very elegant in hindsight anyway.

5 years agoWorked around Microsoft compiler warning
Loup Vaillant [Thu, 16 Apr 2020 17:52:50 +0000 (19:52 +0200)]
Worked around Microsoft compiler warning

Fixes #169

MSVC issues a warning when we try to negate an unsigned number.  The goal
however was to perform bit twiddling, so I used bitwise negation.
Hopefully the compiler will not complain about overflow, which is
perfectly well defined on unsigned numbers.

5 years agoReordered functions and constants
Loup Vaillant [Wed, 15 Apr 2020 20:15:56 +0000 (22:15 +0200)]
Reordered functions and constants

5 years agoInlined fe_mul121666)
Loup Vaillant [Wed, 15 Apr 2020 19:38:32 +0000 (21:38 +0200)]
Inlined fe_mul121666)

5 years agoSimplified GF(2^255-19) carry propagation
Loup Vaillant [Wed, 15 Apr 2020 19:23:42 +0000 (21:23 +0200)]
Simplified GF(2^255-19) carry propagation

There used to be two ways to perform carry propagation: a "fast" one,
used after decoding and multiplication by small numbers, and a "safe"
one, more conservative, used after full multiplications or squarings.

Using the safe carry propagation simplifies the source code and
facilitates audits.  The cost is a 1% performance hit for X25519.

5 years agoFixed shift of integers on 16 bit machines
Loup Vaillant [Fri, 10 Apr 2020 21:22:21 +0000 (23:22 +0200)]
Fixed shift of integers on 16 bit machines

5 years agoIndentation fix
Loup Vaillant [Thu, 9 Apr 2020 23:38:19 +0000 (01:38 +0200)]
Indentation fix

5 years agocomment nitpick
Loup Vaillant [Thu, 9 Apr 2020 21:16:10 +0000 (23:16 +0200)]
comment nitpick

5 years agoMerge pull request #168 from fscoto/master+argon2-doc-iter
Loup Vaillant [Wed, 8 Apr 2020 12:21:21 +0000 (14:21 +0200)]
Merge pull request #168 from fscoto/master+argon2-doc-iter

argon2i: Warn about conequences of nb_iterations < 3

5 years agoargon2i: Warn about conequences of nb_iterations<3
Fabio Scotoni [Wed, 8 Apr 2020 11:40:13 +0000 (13:40 +0200)]
argon2i: Warn about conequences of nb_iterations<3

6 years agoUpdate CHANGELOG date
Loup Vaillant [Fri, 3 Apr 2020 07:19:34 +0000 (09:19 +0200)]
Update CHANGELOG date

6 years agoFixed CHANGELOG version number
Loup Vaillant [Fri, 3 Apr 2020 06:59:24 +0000 (08:59 +0200)]
Fixed CHANGELOG version number

6 years agoVarious makefile cleanups
Loup Vaillant [Thu, 2 Apr 2020 21:22:02 +0000 (23:22 +0200)]
Various makefile cleanups

Moved the pkg-config files elsewhere, to simplify the makefile. A simple
variable substitution takes care of $(PREFIX).

Fixed missing "/" in libdir path (which somehow didn't seem to confuse
pkg-config).

Path variable no longer include $(DESTDIR). Instead, we prefix it
explicitly every time we use a path.

6 years agoMore thorough testing
Loup Vaillant [Wed, 1 Apr 2020 19:00:54 +0000 (21:00 +0200)]
More thorough testing

6 years agoNitpicks
Loup Vaillant [Wed, 1 Apr 2020 18:31:30 +0000 (20:31 +0200)]
Nitpicks

6 years agoSome more tests
Loup Vaillant [Wed, 1 Apr 2020 18:31:07 +0000 (20:31 +0200)]
Some more tests

6 years agoMerge pull request #165 from fscoto/master+license-bump
Loup Vaillant [Tue, 31 Mar 2020 13:35:07 +0000 (15:35 +0200)]
Merge pull request #165 from fscoto/master+license-bump

LICENCE.md: Bump everyone's year

6 years agoMerge pull request #164 from fscoto/master+misc-doc
Loup Vaillant [Tue, 31 Mar 2020 13:33:50 +0000 (15:33 +0200)]
Merge pull request #164 from fscoto/master+misc-doc

Sweeping manual review nitpick fixes

6 years agoLICENCE.md: Bump everyone's year
Fabio Scotoni [Tue, 31 Mar 2020 13:32:59 +0000 (15:32 +0200)]
LICENCE.md: Bump everyone's year

Non-trivial contributions by everyone.

6 years agoAddress review concerns from #164.
Fabio Scotoni [Tue, 31 Mar 2020 13:11:10 +0000 (15:11 +0200)]
Address review concerns from #164.

1. Remove recommendation for 512-bit BLAKE2b.
   32 bytes is enough, and it's not like we offer EC functions of a
   higher security level either.
   The text added in 628f027 already does enough to recommend proper
   hash output lengths.
2. Bump .Dd date in crypto_poly1305.3monocypher.
3. crypto_verify16 add "byte by byte" for both accuracy of how a MAC
   with a variable-time comparison function will be found and
   for dramatic reasons because it sounds like doom is slowly
   approaching, byte by byte.

6 years agocrypto_ietf_chacha20: Add missing section to .Xr
Fabio Scotoni [Tue, 31 Mar 2020 12:14:09 +0000 (14:14 +0200)]
crypto_ietf_chacha20: Add missing section to .Xr

While there and bumping dates, fix authorship years for the CC0 part.

6 years agocrypto_sign_init_first_pass: Swap emphasis
Fabio Scotoni [Tue, 31 Mar 2020 12:08:19 +0000 (14:08 +0200)]
crypto_sign_init_first_pass: Swap emphasis

The original emphasis, when skimmed, made the message read that the
first pass *causes* loss of all security, which is the opposite of what
we want to emphasize.

Also bump authorship notice years while there and mdoc date that we
forgot to bump when we introduced the power-analysis and glitching
example.

6 years agocrypto_sign: s/document/message/
Fabio Scotoni [Tue, 31 Mar 2020 12:03:36 +0000 (14:03 +0200)]
crypto_sign: s/document/message/

We don't need to introduce new, confusing terminology right at the end
of the page.

6 years agocrypto_curve_to_hidden: Add missing word
Fabio Scotoni [Tue, 31 Mar 2020 12:00:15 +0000 (14:00 +0200)]
crypto_curve_to_hidden: Add missing word

6 years agocrypto_argon2i: The given usages are just examples; clarify as much
Fabio Scotoni [Tue, 31 Mar 2020 11:55:22 +0000 (13:55 +0200)]
crypto_argon2i: The given usages are just examples; clarify as much

6 years agocrypto_blake2b: Harmonize description with MAC example
Fabio Scotoni [Tue, 31 Mar 2020 11:52:30 +0000 (13:52 +0200)]
crypto_blake2b: Harmonize description with MAC example

6 years agocrypto_verify: wording nitpicks
Fabio Scotoni [Tue, 31 Mar 2020 11:49:55 +0000 (13:49 +0200)]
crypto_verify: wording nitpicks

1. s/guessed a few bytes/guessed a byte/
   Nobody guesses multiple bytes per attempt except by sheer dumb luck.
2. Add missing "functions" to make one sentence not seem incomplete.

6 years agointro, crypto_poly1305: standardize "one-time"
Fabio Scotoni [Tue, 31 Mar 2020 11:46:03 +0000 (13:46 +0200)]
intro, crypto_poly1305: standardize "one-time"

6 years agodoc: crypto_xchacha20 does XChaCha20, not Chacha20
Fabio Scotoni [Tue, 31 Mar 2020 11:44:00 +0000 (13:44 +0200)]
doc: crypto_xchacha20 does XChaCha20, not Chacha20

6 years agocrypto_x25519: Note that _from_eddsa exists
Fabio Scotoni [Tue, 31 Mar 2020 11:39:37 +0000 (13:39 +0200)]
crypto_x25519: Note that _from_eddsa exists

6 years agocrypto_key_exchange: Note that _from_eddsa exists
Fabio Scotoni [Tue, 31 Mar 2020 11:37:47 +0000 (13:37 +0200)]
crypto_key_exchange: Note that _from_eddsa exists

6 years agoManual: nits & typos
Loup Vaillant [Tue, 31 Mar 2020 08:33:23 +0000 (10:33 +0200)]
Manual: nits & typos

6 years agoUpdate changelog
Loup Vaillant [Tue, 31 Mar 2020 07:34:48 +0000 (09:34 +0200)]
Update changelog

6 years agoFixed copyright year
Loup Vaillant [Mon, 30 Mar 2020 14:43:31 +0000 (16:43 +0200)]
Fixed copyright year

6 years agoAdded constant time tests with Valgrind
Loup Vaillant [Mon, 30 Mar 2020 13:28:43 +0000 (15:28 +0200)]
Added constant time tests with Valgrind

The trick is to call Monocypher API with uninitialised buffers.

If Valgrind complains about uninitialised something, that means an array
index or a conditional jump depends on secret data.

Note that crypto_check() is not tested: that's because it doesn't even
try to be constant time.

Note that a couple tested functions do have secret dependent conditional
jumps.  Those jumps however are just final checks, that just reveal
success or failure (and those are revealed anyway, as part as the
semantics of the function being tested).

Note that optimisations are disabled for the compilation of `ctgrind.c`
and the linking of `ctgrind.out`. This is an attempt to maximise
Valgrind's findings.

Also note that Valgrind seems to miss a secret dependent conditional
jump (it finds only one where we should have 2). But that may just be
Valgrind squashing the error report, instead of an actual miss.

6 years agoManual: fixed function name
Loup Vaillant [Sun, 29 Mar 2020 14:52:27 +0000 (16:52 +0200)]
Manual: fixed function name

6 years agoSqueeze some more lines of code
Loup Vaillant [Sun, 29 Mar 2020 14:47:34 +0000 (16:47 +0200)]
Squeeze some more lines of code

And we are back below 2000

6 years agoOptimised scalar inversion with Montgomery multiplication
Loup Vaillant [Sun, 29 Mar 2020 14:09:51 +0000 (16:09 +0200)]
Optimised scalar inversion with Montgomery multiplication

This causes us to overshoot the 2000 lines mark by 35 lines or so.  But
this is much faster than using the much slower mul_add() routine.

6 years agoMore accurate code examples for Blake2b MAC
Loup Vaillant [Sat, 28 Mar 2020 11:29:03 +0000 (12:29 +0100)]
More accurate code examples for Blake2b MAC

6 years agoWording nitpick
Loup Vaillant [Fri, 27 Mar 2020 21:07:18 +0000 (22:07 +0100)]
Wording nitpick

6 years agoTypos
Loup Vaillant [Fri, 27 Mar 2020 21:04:02 +0000 (22:04 +0100)]
Typos

6 years agoTest all possible key lengths for Blake2b
Loup Vaillant [Fri, 27 Mar 2020 17:16:32 +0000 (18:16 +0100)]
Test all possible key lengths for Blake2b

6 years agoFixed non-working example
Loup Vaillant [Fri, 27 Mar 2020 16:48:54 +0000 (17:48 +0100)]
Fixed non-working example

6 years agoDoc: wrong key length range in example
Loup Vaillant [Fri, 27 Mar 2020 16:47:49 +0000 (17:47 +0100)]
Doc: wrong key length range in example

6 years agoSeparated arithmetic moduloL from EdDSA
Loup Vaillant [Fri, 27 Mar 2020 16:07:11 +0000 (17:07 +0100)]
Separated arithmetic moduloL from EdDSA

6 years agoTiny simplification
Loup Vaillant [Fri, 27 Mar 2020 16:02:08 +0000 (17:02 +0100)]
Tiny simplification

6 years agoMerge pull request #163 from fscoto/master+eddsa-doc
Loup Vaillant [Fri, 27 Mar 2020 09:03:40 +0000 (10:03 +0100)]
Merge pull request #163 from fscoto/master+eddsa-doc

doc: more details on mitigating power side channels in EdDSA

6 years agodoc: more details on mitigating power side channels in EdDSA
Fabio Scotoni [Fri, 27 Mar 2020 06:29:47 +0000 (07:29 +0100)]
doc: more details on mitigating power side channels in EdDSA

While already there, add a very sternly worded warning about omitting
the first pass that will *appear* to work but will, in fact, just repeat
the Sony PlayStation 3 ECDSA nonce disaster with EdDSA instead.

RFC 8032 § 8.7 already hates Monocypher's guts for providing this risky
interface at all, so we might as well use it for good:
By showing how it can be used to mitigate power analysis attacks.

The wording is such that crypto_sign.3monocypher redirects to
crypto_sign_init_first_pass.3monocypher for how to mitigate
power-related side channels;
crypto_ed25519_sign_init_first_pass.3monocypher already points to
crypto_sign_init_first_pass.3monocypher wholesale anyway.

I've intentionally broken the rule that
crypto_sign_init_first_pass.3monocypher *only* talks about BLAKE2b in
this specific instance because of the redirect on the Ed25519 page so
that this content doesn't need to be duplicated.
There's no issue doing this with the example code because both hash
functions call their internal compression functions.

While I could've just *described* what to do,
I'd feel uneasy leaving implementers just guessing what it is that we
mean and overshoot or undershoot by 32 bytes (undershooting being
particularly fatal) or just be too scared to try at all,
so I've added example code nonetheless.
It's been adorned with the bare minimum of an explanation about the
magic number 128-32.
Ideally, I'd have a good place to go on at length about EdDSA nonces,
but there really isn't.

On the other hand, I have very much *intentionally* omitted the fact
that you could be okay just hashing a random nonce in (which then should
be preferably at least 32 bytes, though you might be able to get away with
less as well, I don't think there's a well-defined threshold for
randomness with hash->reduce) or other kinds of nonces in the first pass
of EdDSA in particular.
While this is interesting and sometimes very much useful knowledge,
it's also a large footgun and the whole reason why RFC 8032 § 8.7
recommends against init-update-final interfaces in APIs (unless using
Ed25519ph, but that means you need a collision-resistant hash function
as the prehash, losing the security benefits of *not* requiring
collision resistance from the hash function in EdDSA in the first
place).

6 years agoDocumentation typo
Loup Vaillant [Wed, 25 Mar 2020 14:53:51 +0000 (15:53 +0100)]
Documentation typo

6 years agocorrected symlink
Loup Vaillant [Wed, 25 Mar 2020 14:04:25 +0000 (15:04 +0100)]
corrected symlink

6 years agoMissing space
Loup Vaillant [Wed, 25 Mar 2020 14:01:33 +0000 (15:01 +0100)]
Missing space

6 years agos/dangerous/dirty
Loup Vaillant [Wed, 25 Mar 2020 14:00:31 +0000 (15:00 +0100)]
s/dangerous/dirty

6 years agoMerge pull request #162 from fscoto/master+new-doc
Loup Vaillant [Wed, 25 Mar 2020 11:25:47 +0000 (12:25 +0100)]
Merge pull request #162 from fscoto/master+new-doc

Document Elligator and related plus X25519 inverse

6 years agodoc: Re-insert accidentally omitted "otherwise"
Fabio Scotoni [Wed, 25 Mar 2020 11:09:04 +0000 (12:09 +0100)]
doc: Re-insert accidentally omitted "otherwise"

6 years agoAddress review concerns in #162
Fabio Scotoni [Wed, 25 Mar 2020 10:25:37 +0000 (11:25 +0100)]
Address review concerns in #162

6 years agodoc intro: Xr the EdDSA->25519 conversion functions
Fabio Scotoni [Wed, 25 Mar 2020 06:45:36 +0000 (07:45 +0100)]
doc intro: Xr the EdDSA->25519 conversion functions

6 years agoDocument the EdDSA->X25519 functions
Fabio Scotoni [Wed, 25 Mar 2020 06:43:38 +0000 (07:43 +0100)]
Document the EdDSA->X25519 functions

6 years agoMerge branch 'master' into master+new-doc
Fabio Scotoni [Wed, 25 Mar 2020 06:21:02 +0000 (07:21 +0100)]
Merge branch 'master' into master+new-doc

6 years agodoc: s/dangerous/fast/g
Fabio Scotoni [Tue, 24 Mar 2020 19:41:45 +0000 (20:41 +0100)]
doc: s/dangerous/fast/g

Matching 491a026.

6 years agoAdded EdDSA to X25519 conversions
Loup Vaillant [Tue, 24 Mar 2020 19:40:48 +0000 (20:40 +0100)]
Added EdDSA to X25519 conversions

6 years agoTypos
Loup Vaillant [Tue, 24 Mar 2020 18:06:31 +0000 (19:06 +0100)]
Typos

6 years agos/dangerous/dirty
Loup Vaillant [Tue, 24 Mar 2020 18:05:28 +0000 (19:05 +0100)]
s/dangerous/dirty

Those functions are not that dangerous, and such a scary word
would send the wrong message.  The manual though will make clear
this is not for everyone

6 years agodoc: address review concerns from #162
Fabio Scotoni [Tue, 24 Mar 2020 15:05:33 +0000 (16:05 +0100)]
doc: address review concerns from #162

6 years agocurve_to_hidden: Note it is intended for ephemeral only
Fabio Scotoni [Tue, 24 Mar 2020 13:57:40 +0000 (14:57 +0100)]
curve_to_hidden: Note it is intended for ephemeral only

6 years agoMerge branch 'master' into master+new-doc
Fabio Scotoni [Tue, 24 Mar 2020 12:40:56 +0000 (13:40 +0100)]
Merge branch 'master' into master+new-doc

6 years agoDocument Elligator and related plus X25519 inverse
Fabio Scotoni [Tue, 24 Mar 2020 12:40:07 +0000 (13:40 +0100)]
Document Elligator and related plus X25519 inverse

6 years agoForgot to wipe buffers
Loup Vaillant [Tue, 24 Mar 2020 12:34:55 +0000 (13:34 +0100)]
Forgot to wipe buffers

6 years agoAdded dangerous X25519 speed benchmarks
Loup Vaillant [Tue, 24 Mar 2020 12:34:29 +0000 (13:34 +0100)]
Added dangerous X25519 speed benchmarks

6 years agoMerge pull request #161 from fscoto/master+new-doc
Loup Vaillant [Tue, 24 Mar 2020 07:54:06 +0000 (08:54 +0100)]
Merge pull request #161 from fscoto/master+new-doc

doc: contributory behavior may be required sometimes

6 years agodoc: contributory behavior may be required sometimes
Fabio Scotoni [Tue, 24 Mar 2020 07:41:48 +0000 (08:41 +0100)]
doc: contributory behavior may be required sometimes

While already there, hoist the explanation about contributory behavior
from RETURN VALUES to the main DESCRIPTION section.
The only reason it was in RETURN VALUES is because of historical
reasons; we used to justify why the return value was deprecated there,
so the position of the explanation made sense before removal of the
return value.

6 years agoRefined the Elligator interface
Loup Vaillant [Mon, 23 Mar 2020 19:46:43 +0000 (20:46 +0100)]
Refined the Elligator interface

Also added a new lightweight (but slower) path for embedded devices

6 years agoElligator script: alternate way to co-clear
Loup Vaillant [Mon, 23 Mar 2020 15:36:27 +0000 (16:36 +0100)]
Elligator script: alternate way to co-clear