#boringssl

mundane

Cryptography which is easy to use and hard to misuse

8 releases

Uses old Rust 2015

0.4.4 Mar 4, 2021
0.4.3 Mar 27, 2020
0.4.2 Oct 5, 2019
0.4.1 Sep 27, 2019
0.1.0 Aug 9, 2018

#214 in Cryptography

Download history 15/week @ 2021-02-26 11/week @ 2021-03-05 4/week @ 2021-03-12 27/week @ 2021-03-19 22/week @ 2021-03-26 21/week @ 2021-04-02 11/week @ 2021-04-09 40/week @ 2021-04-16 6/week @ 2021-04-23 13/week @ 2021-04-30 10/week @ 2021-05-07 553/week @ 2021-05-14 683/week @ 2021-05-21 448/week @ 2021-05-28 723/week @ 2021-06-04 739/week @ 2021-06-11

80 downloads per month

Custom license

13MB
299K SLoC

C++ 86K SLoC // 0.2% comments C 74K SLoC // 0.2% comments Perl 56K SLoC // 0.1% comments Go 47K SLoC // 0.1% comments GNU Style Assembly 16K SLoC // 0.0% comments Rust 15K SLoC // 0.0% comments Python 5K SLoC // 0.4% comments Shell 422 SLoC // 0.3% comments Prolog 210 SLoC

Mundane

Mundane is a Rust cryptography library backed by BoringSSL that is difficult to misuse, ergonomic, and performant (in that order).

Issues and Contributions

We use GitHub issues for issue tracking, and Gerrit for code reviews. See CONTRIBUTING.md for more details.

Dependencies

Rust 1.36 or newer is required.

Mundane vendors a copy of the BoringSSL source, so BoringSSL does not need to be installed locally in order to build. However, the BoringSSL build system has the following dependencies:

  • CMake 2.8.11 or later
  • Perl 5.6.1 or later. See BoringSSL's build instructions for what to do if CMake fails to find Perl on your system.
  • Either Make or Ninja. Ninja is preferable, as it makes compilation significantly faster; if both are present, Ninja will be used. On Windows, Ninja is required.
  • A C++ compiler
  • Go 1.10 or later
  • To build the x86 and x86_64 assembly, your assembler must support AVX2 instructions and MOVBE. If using GNU binutils, you must have 2.22 or later.

In order to avoid errors at link time due to conflicting symbols, we build BoringSSL with a custom prefix for all of its symbols which is based on the name and version of this crate. That way, even if multiple different versions of Mundane are present in the same dependency graph, none of the symbols from one version's BoringSSL will conflict with the symbols from another version's BoringSSL.

Supported platforms

Mundane supports being built on and for Linux and Mac. Windows support is under development. Cross-compilation is not supported.

License

Everything outside of the boringssl/boringssl directory is licensed under an MIT license which can be found in the LICENSE file. Everything in the boringssl/boringssl directory is licensed with a license that can be found in the boringssl/boringssl/LICENSE file.

Disclaimer: Mundane is not an officially supported Google product.

No runtime deps