My thoughts on libsodium, it's one of the most secure and well made crypto libraries. It is easy to use so that a newbie developer can implement secure crypto. Libsodium is used by Tezos which in my opinion is a very good choice and not a surprise.
In future posts I will provide examples of code I've written using libsodium for those who would like to learn. In this post which is more an opinion piece on the design of Tezos is to provide insight. Tezos developers so far have made very accurate design decisions and the use of libsodium is another example. At the same time, if we look at how libsodium is, it is of my opinion that Tezos itself and it's smart contract language needs a library just like libsodium so that developers can take Tezos and easily write secure crypto smart contracts.
Importantly the code of libsodium is easy to read. Just see below:
int crypto_box_easy(unsigned char *c, const unsigned char *m,
unsigned long long mlen, const unsigned char *n,
const unsigned char *pk, const unsigned char *sk);
Recommendation:
If you're interested in learning to write secure crypto then study the libsodium library. Libsodium makes writing secure crypto a lot easier. If you'd like to write secure smart contracts then keep your eye on Tezos.