The Cryb libraries
Find a file
Dag-Erling Smørgrav f6905c8edb Fix bugs in cryb_mpi_{add,sub}_abs() caused by assuming that the target is initally positive zero.
If its operands were identical, cryb_mpi_add_abs() would leave the target untouched.  Explicitly call mpi_zero() before returning.  While there, extend the “identical operands” shortcut to also cover equality.

Both cryb_mpi_add_abs() and cryb_mpi_sub_abs() would leave the target's negative flag untouched.  Explicitly clear it before returning.
2017-02-19 17:20:40 +01:00
include Bump version. 2017-02-07 10:29:03 +01:00
lib Fix bugs in cryb_mpi_{add,sub}_abs() caused by assuming that the target is initally positive zero. 2017-02-19 17:20:40 +01:00
m4 Add support for __builtin_bswap16. 2016-09-15 11:09:34 +02:00
t Additional tests for cryb_mpi_{add,sub}_abs(). 2017-02-19 17:11:02 +01:00
tools Centralize most of .gitignore. 2016-09-17 21:38:54 +02:00
.gitignore All our tests are in the test directory. 2017-01-23 11:34:42 +01:00
.travis.yml Correct YAML. 2016-09-18 21:37:52 +02:00
autogen.des Respect user's CC 2016-09-04 16:18:13 +02:00
autogen.sh Remove author and sponsor tags; we'll deal with that some other way. 2014-08-01 14:31:07 +00:00
configure.ac Add a test that ensures that our headers are compilable in C++. 2017-01-24 15:08:48 +01:00
CREDITS Differentiate between the Cryb libraries and the Cryb.to project. 2014-12-20 00:47:21 +00:00
HISTORY Standard files that "make dist" complains about. 2014-07-10 14:44:17 +00:00
INSTALL Standard files that "make dist" complains about. 2014-07-10 14:44:17 +00:00
LICENSE Bump copyright date. 2017-02-07 10:28:49 +01:00
Makefile.am Remove author and sponsor tags; we'll deal with that some other way. 2014-08-01 14:31:07 +00:00
mkpkgng.in If no SVN version is available, use today's date. 2015-02-15 09:19:25 +00:00
README typo 2015-12-14 16:05:18 +01:00
README.md Prepare for moving to Github 2015-12-14 15:55:38 +01:00
RELNOTES Standard files that "make dist" complains about. 2014-07-10 14:44:17 +00:00

The Cryb libraries

The Cryb libraries are a collection of cryptography- and security-related function libraries written with the following goals in mind:

  • Comprehensive: Cryb aims to provide a rich and flexible set of building blocks for cryptographic applications.

  • Self-contained and easily embeddable: the Cryb libraries have no external dependencies (apart from the toolchain) and few internal ones. Individual modules and algorithms can easily be extracted from Cryb and integrated into other codebases.

  • Reliable: the libraries come with an extensive test suite with a long-term goal of 100% test coverage.

  • Stable: guaranteed API and ABI stability.

  • Documented: full API documentation in the form of Unix man pages.

  • Consistently and permissively licensed: the entire collection is under the 3-clause BSD license.

Caveat

We aren't there yet. The Cryb libraries are still undeniably at the experimental stage. However, significant portions are already in production use as components in other projects (cf: easily embeddable), and we have great expectations for the future of Cryb.