libsodium-ada is a set of thick Ada bindings to libsodium thick bindings to libsodium. libsodium is a portable and relatively easy to use implementation of Daniel Bernstein's fantastic NaCl library.
NaCl is a great encryption, hashing, and authentication library that is designed to make proper implementation easy and straight-forward. By using it, many of the finer details including speed-optimization are abstracted away so the programmer doesn't need to worry about them. NaCl itself is less than portable C, only targeted for *nix systems. libsodium makes the library portable, and adds additional conveniences to make the library easily standardized across multiple platforms, operating systems, and languages.
Crypto is very tricky to implement correctly. With the sodium library, you are much more likely to get it correct out of the box, by implementing solid encryption standards and practices without materially effecting performance.
The testcases in the examples directory also serve to illustrate how the bindings can be used. The original libsodium documentation library written by Frank Denis (@jedisct1) is also useful.
libsodium-ada was tested with the 32-bit libsodium.a library version 1.0.10 built for mingw (since GNAT GPL 2016 is 32-bit). Click here for precompiled libsodium DLLs. It will also work with *nix versions.
NaCl has been released to the public domain to avoid copyright issues. Both libsodium and these bindings have been released under the ISC license.