The Cryb libraries
Find a file
Dag-Erling Smørgrav 95ab26f82c Major cleanup of the MD and SHA digests.
- Use the new vector byte-order conversion functions where appropriate.
- Use memset_s() instead of memset() where appropriate.
- Use consistent names and types for function arguments.
- Reindent, rename and reorganize to conform to Cryb style and idiom.

SHA224 and SHA256 were left mostly unchanged.  MD2 and MD4 were completely rewritten as the previous versions (taken from XySSL) seem to have been copied from RSAREF.

This breaks the ABI as some context structures have grown or shrunk and some function arguments have been changed from int to size_t.
2017-03-21 14:57:19 +01:00
include Major cleanup of the MD and SHA digests. 2017-03-21 14:57:19 +01:00
lib Major cleanup of the MD and SHA digests. 2017-03-21 14:57:19 +01:00
m4 Replace pkg-config's pkg.m4 with pkgconf's extended version. 2017-03-14 15:14:12 +01:00
t Major cleanup of the MD and SHA digests. 2017-03-21 14:57:19 +01:00
tools
.gitignore Start using pkg-config / pkgconf. 2017-03-07 00:54:46 +01:00
.travis.yml Install pkg-config before building on Travis. 2017-03-07 02:14:32 +01:00
autogen.des
autogen.sh
configure.ac Define vector versions of the endianness conversion functions. 2017-03-21 14:57:18 +01:00
CREDITS Implement the ChaCha family of stream ciphers. 2017-03-16 18:02:56 +01:00
HISTORY
INSTALL
LICENSE Order by year of last contribution. 2017-03-15 10:14:24 +01:00
Makefile.am Include pkg.m4 from the latest version of pkg-config. 2017-03-07 02:28:04 +01:00
mkpkgng.in Fix versioning when PACKAGE_VERSION is in dotted-decimal form. 2017-03-07 00:24:52 +01:00
README
README.md
RELNOTES

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.