]> git.codecow.com Git - Monocypher.git/log
Monocypher.git
8 years agoNote Ed25519 fault injection on crypto_sign
CuleX [Fri, 6 Oct 2017 11:41:14 +0000 (13:41 +0200)]
Note Ed25519 fault injection on crypto_sign

See
https://research.kudelskisecurity.com/2017/10/04/defeating-eddsa-with-faults/
and
https://news.ycombinator.com/item?id=15415114

8 years agoFix formatting and typos in the man pages
CuleX [Fri, 6 Oct 2017 11:31:56 +0000 (13:31 +0200)]
Fix formatting and typos in the man pages

8 years agoOne quote too many
Loup Vaillant [Wed, 4 Oct 2017 21:39:26 +0000 (23:39 +0200)]
One quote too many

8 years agoMerge pull request #50 from CuleX/master+add-incr-lock-to-intro-man-page
Loup Vaillant [Wed, 4 Oct 2017 21:34:21 +0000 (23:34 +0200)]
Merge pull request #50 from CuleX/master+add-incr-lock-to-intro-man-page

Add incremental crypto_lock interface to intro TOC

8 years agoAdded a make tarball rule to generate an archive
Loup Vaillant [Wed, 4 Oct 2017 21:28:53 +0000 (23:28 +0200)]
Added a make tarball rule to generate an archive

Also updated the README.md a little: added "manual" and "contributor
notes" sections, expanded the installation section, and a couple minor
other edits.

8 years agoMerge pull request #51 from CuleX/master+fix-mandoc-invocation
Loup Vaillant [Wed, 4 Oct 2017 19:00:59 +0000 (21:00 +0200)]
Merge pull request #51 from CuleX/master+fix-mandoc-invocation

Fix mandoc invocation for recent mandoc versions

8 years agoFix mandoc invocation for recent mandoc versions
CuleX [Wed, 4 Oct 2017 18:53:48 +0000 (20:53 +0200)]
Fix mandoc invocation for recent mandoc versions

A commit in mandoc earlier this year subtly broke the -O parsing.
Multiple instances of -O do not get parsed, so all options have to be
passed into the same -O with comma separation as intended.

8 years agoAdd incremental crypto_lock interface to intro TOC
CuleX [Wed, 4 Oct 2017 18:22:59 +0000 (20:22 +0200)]
Add incremental crypto_lock interface to intro TOC

8 years agoMerge pull request #49 from CuleX/master+fix-man-xr-links
Loup Vaillant [Wed, 4 Oct 2017 08:17:42 +0000 (10:17 +0200)]
Merge pull request #49 from CuleX/master+fix-man-xr-links

Fix link generation in HTML man page conversion

8 years agoFix link generation in HTML man page conversion
CuleX [Wed, 4 Oct 2017 03:30:30 +0000 (05:30 +0200)]
Fix link generation in HTML man page conversion

We strip the ".3monocypher" from the filename, so the -Oman argument
needs to reflect that.

8 years agoGenerating an html version of the manual
Loup Vaillant [Tue, 3 Oct 2017 22:05:18 +0000 (00:05 +0200)]
Generating an html version of the manual

Now the users will be able to enjoy a readable manual even without the
man pages.

One hassle though: I expected links between the pages, and I se none.
Limitation of the converter, or bug in my script?

8 years agoCredit where credit's due
Loup Vaillant [Tue, 3 Oct 2017 20:22:46 +0000 (22:22 +0200)]
Credit where credit's due

CuleX contributed more than all others combined, it was past time we
update the author's page.

8 years agoMerge pull request #48 from CuleX/master+fix-man-pages
Loup Vaillant [Mon, 2 Oct 2017 06:24:58 +0000 (08:24 +0200)]
Merge pull request #48 from CuleX/master+fix-man-pages

Man page improvements; properly document incremental crypto_lock/unlock

8 years agoImprove the man page for incremental crypto_lock
CuleX [Mon, 2 Oct 2017 04:14:06 +0000 (06:14 +0200)]
Improve the man page for incremental crypto_lock

This fixes the function types in the SYNOPSIS section and removes a
stray macro.

This adds information about the incremental interface to the DESCRIPTION
section.  In particular, it documents the tradeoff (convenience of the
interface vs. performance loss on forged messages).

INCREMENTAL INTERFACE, which seemed to just be a subset to the EXAMPLES
section, got lowered into a second-level heading.

8 years agoFix spacing after list in crypto_blake2b man page
CuleX [Mon, 2 Oct 2017 04:09:30 +0000 (06:09 +0200)]
Fix spacing after list in crypto_blake2b man page

8 years agoAdded incremental interface
Loup Vaillant [Sun, 1 Oct 2017 18:40:52 +0000 (20:40 +0200)]
Added incremental interface

Fixed #29

Bonus: we now can authenticate a message without decrypting it.

8 years agoFixed code coverage checking
Loup Vaillant [Sun, 1 Oct 2017 14:05:41 +0000 (16:05 +0200)]
Fixed code coverage checking

Fixed #47

The manual was missing the `-fcoverage-mapping` option, of course we
didn't have coverage data...

Also changed `llvm-cov` to `llvm-cov-3.8` on tests/coverage.sh: some
systems don't have the versionless alias.

8 years agoAdd uninstall target.
Loup Vaillant [Wed, 27 Sep 2017 18:15:47 +0000 (20:15 +0200)]
Add uninstall target.

Fixes #46

8 years agoDon't add the .css file when installing the documentation
Loup Vaillant [Wed, 27 Sep 2017 18:07:49 +0000 (20:07 +0200)]
Don't add the .css file when installing the documentation

Fixes #45

Another option would be to move the .css file elsewhere, but this fix
is more resilient.

8 years agoMerge pull request #44 from CuleX/master+fix-css
Loup Vaillant [Wed, 27 Sep 2017 06:14:32 +0000 (08:14 +0200)]
Merge pull request #44 from CuleX/master+fix-css

Add old CSS class names; add centering

8 years agoAdd old CSS class names; add centering
CuleX [Tue, 26 Sep 2017 13:29:25 +0000 (15:29 +0200)]
Add old CSS class names; add centering

It turns out that they are still used when doing e.g. .Bf Em (yiedling a
block <div class="emph">...</div>).

I also forgot to add centering, which I've had on my GitHub Pages of
the HTML exported man pages.

8 years agoAdded a `check` target to the makefile, that means the same as `test`
Loup Vaillant [Mon, 25 Sep 2017 20:11:15 +0000 (22:11 +0200)]
Added a `check` target to the makefile, that means the same as `test`

Automake specifies that `make check` runs the test suite.  We should
respect such conventions.  `make test` still works ("test" is a good
name for such a target).

8 years agoMerge pull request #41 from CuleX/master+argon2i-man-page-fix
Loup Vaillant [Sun, 24 Sep 2017 18:27:28 +0000 (20:27 +0200)]
Merge pull request #41 from CuleX/master+argon2i-man-page-fix

Document argon2i allowing all arguments to overlap

8 years agoNo need for testing Ed25519 specificaly
Loup Vaillant [Sun, 24 Sep 2017 15:34:14 +0000 (17:34 +0200)]
No need for testing Ed25519 specificaly

EdDSA works.  SHA-512 is properly tested.  Replacing Blake2b by
SHA-512 is only a pre-processor directive away —it's foolproof.  We
don't need specific Ed-25519 tests.

8 years agoThe speed tests now run. Removed the README note.
Loup Vaillant [Sun, 24 Sep 2017 15:26:43 +0000 (17:26 +0200)]
The speed tests now run.  Removed the README note.

8 years agoRestored sanitisers based tests.
Loup Vaillant [Sun, 24 Sep 2017 15:16:44 +0000 (17:16 +0200)]
Restored sanitisers based tests.

We no longer ask the user to modify the makefile.  We instead override
the relevant variables from the command line.

8 years agoCorrected bogus EdDSA coverage test (stack smashing undefined behaviour)
Loup Vaillant [Sun, 24 Sep 2017 13:19:03 +0000 (15:19 +0200)]
Corrected bogus EdDSA coverage test (stack smashing undefined behaviour)

8 years agoRestored formal analysis scripts
Loup Vaillant [Sun, 24 Sep 2017 10:56:48 +0000 (12:56 +0200)]
Restored formal analysis scripts

8 years agoDocument argon2i allowing all arguments to overlap
CuleX [Sun, 24 Sep 2017 10:25:57 +0000 (12:25 +0200)]
Document argon2i allowing all arguments to overlap

8 years agoAdded overlapping tests for argon2i
Loup Vaillant [Sun, 24 Sep 2017 10:03:45 +0000 (12:03 +0200)]
Added overlapping tests for argon2i

Related to #32

8 years agoRearranged directory creation for makefile installation target
Loup Vaillant [Sun, 24 Sep 2017 09:21:16 +0000 (11:21 +0200)]
Rearranged directory creation for makefile installation target

Tweaking #40 pull request.  Have the `mkdir` on several lines because
of my 80 columns OCD.  It also makes prettier printouts at runtime.

Also removed the spurrious creation of the man directory (it was
already done on the `install-doc:` target).

8 years agoMerge pull request #40 from CuleX/master+fix-install
Loup Vaillant [Sun, 24 Sep 2017 09:14:44 +0000 (11:14 +0200)]
Merge pull request #40 from CuleX/master+fix-install

Create all installation directories

8 years agoCreate all installation directories
CuleX [Sat, 23 Sep 2017 17:55:58 +0000 (19:55 +0200)]
Create all installation directories

This is required for the DESTDIR variable to actually work and create
the necessary tree.

8 years agoAdded installation instructions to README.md
Loup Vaillant [Sat, 23 Sep 2017 17:14:50 +0000 (19:14 +0200)]
Added installation instructions to README.md

8 years agoAdded a separate install-doc target
Loup Vaillant [Sat, 23 Sep 2017 17:07:17 +0000 (19:07 +0200)]
Added a separate install-doc target

Since Monocypher can be used without any installation (just copy the
source files to your project), some users may want the man pages
without an actual installation.

`make install` still installs everything, documentation included.

8 years agoMake pkg-config file location $PREFIX compliant
Loup Vaillant [Sat, 23 Sep 2017 17:01:28 +0000 (19:01 +0200)]
Make pkg-config file location $PREFIX compliant

It was previously semi-hard coded, presumably because I was tired.

8 years agoMerge pull request #39 from CuleX/master+update-man-pages
Loup Vaillant [Sat, 23 Sep 2017 12:37:28 +0000 (14:37 +0200)]
Merge pull request #39 from CuleX/master+update-man-pages

Add overlapping argument info to the man pages

8 years agoAdd overlapping argument info to the man pages
CuleX [Sat, 23 Sep 2017 10:37:50 +0000 (12:37 +0200)]
Add overlapping argument info to the man pages

8 years agoRemoved "crypto_sign() buffers can't overlap" from the man page.
Loup Vaillant [Sat, 23 Sep 2017 10:30:49 +0000 (12:30 +0200)]
Removed "crypto_sign() buffers can't overlap" from the man page.

8 years agoNo need to run mandb after installing the man pages
Loup Vaillant [Sat, 23 Sep 2017 10:10:54 +0000 (12:10 +0200)]
No need to run mandb after installing the man pages

Turns out users don't need to run that program to read freshly
installed man pages.  Plus, that program doesn't seem to exist outside
of GNU systems.

The mandb program just refreshes a cache. Users can read the freshly
installed man pages without running it.

8 years agoMan pages belong to $(DESTDIR)/$(PREFIX)/share/man/man3 folder
Loup Vaillant [Sat, 23 Sep 2017 10:07:24 +0000 (12:07 +0200)]
Man pages belong to $(DESTDIR)/$(PREFIX)/share/man/man3 folder

They were originally sent to the man3monocypher folder instead, but we
don't need that: their .3monocypher extension already takes care of
the disambiguation.  It also has the advantage of allowing the user to
search for the man page in section 3 directly.

8 years agoAdd tests about overlapping input/output buffers.
Loup Vaillant [Fri, 22 Sep 2017 23:03:24 +0000 (01:03 +0200)]
Add tests about overlapping input/output buffers.

Chacha20 plaintext and cypher text memory buffers may be the same
(they cannot be different *and* overlaping).

Poly1305 input and tag buffer may overlap.
Blake2b input and hash buffers may overlap.
SHA-512 input and hash buffers may overlap.
Argon2i input and hash buffers may overlap.
EdDSA message and signature buffers may overlap.

8 years agoAllows crypto_sign() to overlap its message and output
Loup Vaillant [Fri, 22 Sep 2017 22:59:13 +0000 (00:59 +0200)]
Allows crypto_sign() to overlap its message and output

Fixes #32

The signature output buffer was set before the last message read.  If
they overlaped, we would have a bogus signature.

8 years agoInstall man pages with the library
Loup Vaillant [Fri, 22 Sep 2017 20:31:51 +0000 (22:31 +0200)]
Install man pages with the library

Fixes $24 (hopefully, nothing is missing this time).

8 years agoAdd installation target to the makefile
Loup Vaillant [Fri, 22 Sep 2017 07:34:54 +0000 (09:34 +0200)]
Add installation target to the makefile

Fixes #24

Defines and uses the $DESTDIR and $PREFIX variables. They can be
overriden from the command line. By default, they are set to "" and
"usr/local" respectively.

Defines and uses a $PKGCONFIG variable to set the location of the
pkgconfig configuration file (monocypher.pc).  That variable depends
on $PREFIX.

Copies libmonocypher.a, libmonocypher.so and monocypher.h to their
respective destinations, and creates the pkgconfig configuration file.

8 years agoFix last variable length array warning
Loup Vaillant [Thu, 21 Sep 2017 07:24:59 +0000 (09:24 +0200)]
Fix last variable length array warning

All gone now. Fixed #37

8 years agoCorrected timing computation for the speed benchmark
Loup Vaillant [Wed, 20 Sep 2017 22:32:59 +0000 (00:32 +0200)]
Corrected timing computation for the speed benchmark

I intended to take the best timing out of several tries.  Turned out I
only took the *last* timing, which defeats the purpose.

Now we take the fastest try as intended.  The results are now a bit
more stable.

8 years agoMore robust timing tests, based on ratios.
Loup Vaillant [Wed, 20 Sep 2017 21:39:43 +0000 (23:39 +0200)]
More robust timing tests, based on ratios.

Fixes #25

Note: I noticed something iffy about comparing against all zeroes: for
big buffers, the timings were way off (small buffers were okay).  This
suggest they were *not* constant time, which is worrying.

The generated assembly is too big for me to review.  I can't tell
whether there's a variable time optimisation in there.  Thankfully, we
rarely use crypto_memcmp() to compare big zeroed buffers in practice.
Instead, we compare small, pseudo random data such as hashes or
authentication tags.  So I used pseudo-random data for the tests.

While we should be good in practice, I'm a bit worried.  Someone may
want to check that compilers haven't become too clever.

8 years agoTry to fix variable length array warnings (#37)
Loup Vaillant [Wed, 20 Sep 2017 19:54:34 +0000 (21:54 +0200)]
Try to fix variable length array warnings (#37)

8 years agoExplain what to do if test vectors are missing
Loup Vaillant [Wed, 20 Sep 2017 11:59:28 +0000 (13:59 +0200)]
Explain what to do if test vectors are missing

Users who try to `make test` without the test vectors will have a nice
error message explaining how to actually perform the tests (either
generate those test vectors, or grab an official release.

It should thus be clear what libsodium is for, and why end users don't
need it.

8 years agoMove everything back from the dist/ directory
Loup Vaillant [Wed, 20 Sep 2017 07:11:39 +0000 (09:11 +0200)]
Move everything back from the dist/ directory

Making a separate dist/ folder was stupid, we can use tar's exclusion
patterns to take care of clean archiving.  It's simpler for everyone
without the indirection.

8 years agoRestored the speed benchmark
Loup Vaillant [Tue, 19 Sep 2017 22:16:25 +0000 (00:16 +0200)]
Restored the speed benchmark

The benchmark now gives absolute speeds instead of comparisons against
other libraries.  This is more useful that way: the important
information is whether Monocypher is fast *enough*.  This also
increases portability, so end users can actually run the benchmark
themselves.

Besides, we can always add Libsodium and TweetNaCl benchmarks later.

8 years agoprintf() shall use %z for size_t
Loup Vaillant [Tue, 19 Sep 2017 06:48:03 +0000 (08:48 +0200)]
printf() shall use %z for size_t

8 years agoRemoved redundant initialization
Loup Vaillant [Tue, 19 Sep 2017 06:43:37 +0000 (08:43 +0200)]
Removed redundant initialization

8 years agoWe no longer need dist.sh
Loup Vaillant [Tue, 19 Sep 2017 06:38:30 +0000 (08:38 +0200)]
We no longer need dist.sh

We do need a make_tarball.sh script however

8 years agoCleaner generation of test vectors.
Loup Vaillant [Mon, 18 Sep 2017 21:13:36 +0000 (23:13 +0200)]
Cleaner generation of test vectors.

The makefile that generates the test vectors directly puts the
vectors.h header in the dist/tests/ directory.  No more weird script
to do half that work.

As a side effect, BSD users can now switch to gmake more easily (they
don't depend on a script to do stuff like `make || gmake`.

Closes #33, though not satisfactorily (the makefiles still rely on GNU
make, because portable makefiles are just crippled).

8 years agovectors.h is generated. It belongs to the tarball
Loup Vaillant [Sun, 17 Sep 2017 18:21:56 +0000 (20:21 +0200)]
vectors.h is generated.  It belongs to the tarball

8 years agoFixed #34. The README has been split in 2
Loup Vaillant [Sun, 17 Sep 2017 18:18:27 +0000 (20:18 +0200)]
Fixed #34. The README has been split in 2

8 years agoCreated a dedicated dist/ directory for end user releases
Loup Vaillant [Sat, 16 Sep 2017 20:43:32 +0000 (22:43 +0200)]
Created a dedicated dist/ directory for end user releases

Related to #14 and #24.  The repository is now unfit for distribution
to end users.  We must first execute the dist.sh script to generate
test vectors and move the relevant files to the dist/ directory, which
can then be archived and distributed.  This archive will contain a
makefile to compile and test Monocypher.

Stuff left to do:

- Review and finalise the tests.
- Generate html files for the manual.
- Revise the frama-c.sh and coverage.sh scripts
- Have the makefile install Monocypher
- Automate archive generation (and print the archive's blake2 hash).

8 years agoMerge pull request #31 from CuleX/master+man-page-type-fix
Loup Vaillant [Thu, 14 Sep 2017 07:24:00 +0000 (09:24 +0200)]
Merge pull request #31 from CuleX/master+man-page-type-fix

crypto_sign man page improvements

8 years agoDocument that message and signature cannot overlap
CuleX [Wed, 13 Sep 2017 12:27:45 +0000 (14:27 +0200)]
Document that message and signature cannot overlap

The signature variable gets overwritten halfway through the crypto_sign
function and that value is then reused in multiple places.

8 years agoFix function type on man page for crypto_sign
CuleX [Wed, 13 Sep 2017 12:24:03 +0000 (14:24 +0200)]
Fix function type on man page for crypto_sign

8 years agoClarified why we need to hash the message twice in EdDSA
Loup Vaillant [Sat, 9 Sep 2017 11:02:27 +0000 (13:02 +0200)]
Clarified why we need to hash the message twice in EdDSA

The code isn't crystal clear about the fact we reuse the result of the
first hash in the second hash.  A little comment makes sure reviewers
don't miss it.

8 years agoMerge pull request #30 from CuleX/master+man-page-fixes
Loup Vaillant [Sat, 9 Sep 2017 18:41:05 +0000 (20:41 +0200)]
Merge pull request #30 from CuleX/master+man-page-fixes

Man page fixes

8 years agoAdd note to intro page that getrandom() is new
CuleX [Sat, 9 Sep 2017 11:51:58 +0000 (13:51 +0200)]
Add note to intro page that getrandom() is new

8 years agoImprove the crypto_sign man page
CuleX [Sat, 9 Sep 2017 11:09:46 +0000 (13:09 +0200)]
Improve the crypto_sign man page

1. Reorder the arguments so that crypto_sign_public_key() comes directly
   after crypto_sign().  This harmonizes the order of the public key
   generation functions with crypto_key_exchange(3monocypher).
2. Move implementation details and complaints about SHA-512 to the
   IMPLEMENTATION DETAILS section.
3. Note that there is no incremental interface available in the
   DESCRIPTION and explain it in the IMPLEMENTATION DETAILS section.
4. Add an example for key generation.  Key generation using straight
   random bytes may come as a surprise to people not used working with
   Curve25519.

8 years agoImprove the intro man page
CuleX [Sat, 9 Sep 2017 10:51:25 +0000 (12:51 +0200)]
Improve the intro man page

1. This adds the crypto_memcmp and crypto_zerocmp functions to the index
   and the SEE ALSO section.
2. SEE ALSO got reordered from mirroring the topical index to an
   alphabetical index.  Having the same list twice is to nobody's
   benefit and makes searching alphabetically (e.g. when the reader
   already has a vague idea what the function is supposed to be called)
   more difficult.

8 years agoFix example for crypto_argon2i
CuleX [Sat, 9 Sep 2017 10:47:55 +0000 (12:47 +0200)]
Fix example for crypto_argon2i

It actually did not have a password and password length parameter.

The invocation line was thus split up into logical blocks to avoid
confusing the reader.  A similar layout can be observed in
tests/self.c:argon2i().

8 years agoImprove the man page for crypto_key_exchange
CuleX [Sat, 9 Sep 2017 10:27:13 +0000 (12:27 +0200)]
Improve the man page for crypto_key_exchange

1. Improve wording in the section on public keys that yield an all-zero
   result.
2. Fix casing (HCHacha20 -> HChacha20).
3. Resolve contraction to keep the manual style.
4. Add example for key generation and key exchange.  It's not quite
   obvious that you just use straight random bytes.  If coming from
   other X25519 implementations, it may be a surprise not having to
   trim the key.  If coming from other public key cryptographic systems,
   it may be a surprise that key generation is this straightforward.

8 years agoMerge pull request #28 from CuleX/master+key-exchange-man-page
Loup Vaillant [Sat, 9 Sep 2017 09:37:53 +0000 (11:37 +0200)]
Merge pull request #28 from CuleX/master+key-exchange-man-page

Minor improvements to crypto_key_exchange man page

8 years agoClarify function argument to crypto_x25519
CuleX [Thu, 7 Sep 2017 04:52:11 +0000 (06:52 +0200)]
Clarify function argument to crypto_x25519

1. Change param "shared_secret" in crypto_x25519 to "raw_shared_secret"
   to aid quick identification of the difference between it and
   crypto_key_exchange; the "key" vs. "secret" gets lost easily because
   of the shared prefix "shared_".
   This change was traced everywhere in the source code where the old
   name was used as well as the man page.
2. Fix not having punctuation as a separate word in man page macro.

8 years agoadded test vector generators
Loup Vaillant [Tue, 5 Sep 2017 18:06:28 +0000 (20:06 +0200)]
added test vector generators

8 years agoMerge pull request #26 from njlr/docs/buck-port
Loup Vaillant [Tue, 5 Sep 2017 14:45:48 +0000 (16:45 +0200)]
Merge pull request #26 from njlr/docs/buck-port

Note about the Buck port to the README

8 years agoMerge pull request #27 from CuleX/master+man-page-fix-formatting
Loup Vaillant [Tue, 5 Sep 2017 14:44:05 +0000 (16:44 +0200)]
Merge pull request #27 from CuleX/master+man-page-fix-formatting

Fix formatting on man page for crypto_chacha20_*

8 years agoFix formatting on man page for crypto_chacha20_*
CuleX [Tue, 5 Sep 2017 11:28:47 +0000 (13:28 +0200)]
Fix formatting on man page for crypto_chacha20_*

Missing .Pp after .Ed.

8 years ago * Added a note about the Buck port to the README
njlr [Tue, 5 Sep 2017 10:14:00 +0000 (11:14 +0100)]
 * Added a note about the Buck port to the README

8 years agoProperly initialise libsodium for the speed benchmarks
Loup Vaillant [Mon, 4 Sep 2017 06:55:05 +0000 (08:55 +0200)]
Properly initialise libsodium for the speed benchmarks

Without this initialisation, libsodium can't select the fastest
implementation for the platform, and has to revert to a portable,
slower one.  This leads to misleading benchmarks.

8 years agoMerge pull request #22 from CuleX/master+man-pages
Loup Vaillant [Tue, 29 Aug 2017 06:58:47 +0000 (08:58 +0200)]
Merge pull request #22 from CuleX/master+man-pages

Add man pages

8 years agoFix centering in style.css
CuleX [Mon, 28 Aug 2017 13:17:55 +0000 (15:17 +0200)]
Fix centering in style.css

8 years agoRemove Xr to system man pages
CuleX [Mon, 28 Aug 2017 13:11:29 +0000 (15:11 +0200)]
Remove Xr to system man pages

These create broken links when generating the manual page and there is
no way to selectively disable link generation in mandoc.

This change should not create much of an impact to readers on console,
who would enter a man command for the respective page regardless.

This also fixes a small usage error of the Xr macro in
crypto_aead_lock.3monocypher.

8 years agoAdd symbolic links
CuleX [Mon, 28 Aug 2017 12:50:02 +0000 (14:50 +0200)]
Add symbolic links

Generated with:

find . -name '*.3monocypher' -not -type l -and -not -type d | \
grep -v '^\./?' | \
xargs grep '^\.Nm' | \
sed -e 's/^\([^:]*\):\.Nm \([a-zA-Z0-9_]*\).*$/
[ ! -f \2.3monocypher ] \&\& ln -s \1 \2.3monocypher/'

8 years agoAdd style.css for HTML manual generation
CuleX [Mon, 28 Aug 2017 12:25:12 +0000 (14:25 +0200)]
Add style.css for HTML manual generation

8 years agoAdd man pages
CuleX [Sat, 26 Aug 2017 10:09:19 +0000 (12:09 +0200)]
Add man pages

They've been given a custom section 3monocypher to avoid potential
clashes with the system.  This also allows having a custom intro
page, which would otherwise clash or need a different name.

8 years agoMerge pull request #21 from CuleX/master+fix-tests-typo
Loup Vaillant [Sat, 26 Aug 2017 02:17:05 +0000 (04:17 +0200)]
Merge pull request #21 from CuleX/master+fix-tests-typo

Fix typo in "Property based tests tests"

8 years agoFix typo in "Property based tests tests"
CuleX [Fri, 25 Aug 2017 15:26:11 +0000 (17:26 +0200)]
Fix typo in "Property based tests tests"

8 years agoMerge pull request #20 from CuleX/master+fix-solaris-32bit
Loup Vaillant [Fri, 25 Aug 2017 14:24:08 +0000 (16:24 +0200)]
Merge pull request #20 from CuleX/master+fix-solaris-32bit

Fix Chacha20 ctr test when size_t < u64

8 years agoFix Chacha20 ctr test when size_t < u64
CuleX [Fri, 25 Aug 2017 13:00:43 +0000 (15:00 +0200)]
Fix Chacha20 ctr test when size_t < u64

This can happen on 32-bit platforms and was reproduced on a 32-bit build
of Solaris 11.

8 years agoExplained key and ad arguments for Argon2i
Loup Vaillant [Fri, 25 Aug 2017 04:56:25 +0000 (06:56 +0200)]
Explained key and ad arguments for Argon2i

8 years agoadded memory locking advice
Loup Vaillant [Mon, 21 Aug 2017 05:54:54 +0000 (07:54 +0200)]
added memory locking advice

8 years agoMerge pull request #17 from occivink/master
Loup Vaillant [Sun, 20 Aug 2017 05:30:02 +0000 (07:30 +0200)]
Merge pull request #17 from occivink/master

Change vocabulary in manual to match the header's

8 years agoChange vocabulary in manual to match the header's
Olivier Perret [Thu, 17 Aug 2017 18:02:49 +0000 (20:02 +0200)]
Change vocabulary in manual to match the header's

8 years agoreferenced AUR package for Arch Linux
Loup Vaillant [Wed, 16 Aug 2017 04:29:46 +0000 (06:29 +0200)]
referenced AUR package for Arch Linux

8 years agomore readable one liners
Loup Vaillant [Fri, 11 Aug 2017 07:46:58 +0000 (09:46 +0200)]
more readable one liners

8 years agoadded edDSA test for invalid public key rejection
Loup Vaillant [Wed, 9 Aug 2017 12:23:02 +0000 (14:23 +0200)]
added edDSA test for invalid public key rejection

8 years agoadded link to lua bindings
Loup Vaillant [Tue, 8 Aug 2017 06:55:24 +0000 (08:55 +0200)]
added link to lua bindings

8 years agoMore sensitive constant timing test
Loup Vaillant [Sun, 6 Aug 2017 21:33:44 +0000 (23:33 +0200)]
More sensitive constant timing test

32 bytes buffers weren't big enough to make a difference if crypto_memcmp
and crypto_zerocmp don't run in constant time.  Increased to 64Kib instead.

8 years agoadded a language bindings section to the README
Loup Vaillant [Sun, 6 Aug 2017 21:16:23 +0000 (23:16 +0200)]
added a language bindings section to the README

8 years agocosmetic
Loup Vaillant [Sun, 6 Aug 2017 19:33:13 +0000 (21:33 +0200)]
cosmetic

8 years agoMerge branch 'master' of github.com:LoupVaillant/Monocypher
Loup Vaillant [Sun, 6 Aug 2017 19:28:07 +0000 (21:28 +0200)]
Merge branch 'master' of github.com:LoupVaillant/Monocypher

8 years agoMerge pull request #13 from CuleX/master+cmp-tests
Loup Vaillant [Sun, 6 Aug 2017 19:25:33 +0000 (21:25 +0200)]
Merge pull request #13 from CuleX/master+cmp-tests

Test constant-timeness of comparison functions