The Cryb libraries
Find a file
Dag-Erling Smørgrav d419d7388a Remove an unnecessary pointer from struct aes_ctx.
The rk pointer in struct aes_ctx always pointed to the context's buffer and served no purpose whatsoever, but the compiler had no way of knowing that and could therefore not optimize away assignments to and from it.

Note that the removal of rk breaks the ABI, since it changes the size of struct aes_ctx, but we allow ourselves that because neither the API nor the ABI have been fixed yet.
2017-03-03 23:49:00 +01:00
include Remove an unnecessary pointer from struct aes_ctx. 2017-03-03 23:49:00 +01:00
lib Remove an unnecessary pointer from struct aes_ctx. 2017-03-03 23:49:00 +01:00
m4 Add support for __builtin_bswap16. 2016-09-15 11:09:34 +02:00
t Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +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 Add m4/ax_gcc_builtin.m4 to EXTRA_DIST. 2017-03-03 17:36:02 +01:00
mkpkgng.in Mechanically bump copyright dates to the date of the latest commit. 2017-02-19 20:07:43 +01: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.