LoupVaillant / Monocypher

An easy to use, easy to deploy crypto library
https://monocypher.org
Other
614 stars 80 forks source link

MON-01-005 Monocypher: Safe/unsafe functions not differentiated #182

Closed LoupVaillant closed 4 years ago

LoupVaillant commented 4 years ago

The function names in Monocypher do not clearly differentiate between low-level primitives that probably shouldn't be used directly, and high-level constructions meant for users.

The naming convention will not be fixed. Unfortunately, a choice has to be made between making function names as safe as possible, and backwards compatibility. Backwards compatibility wins.

Some measures however can still be taken.

I acknowledge that this won't be enough for everyone. Some users will manage to grab the prototype of advanced functions without reading the documentation and without noticing the (upcoming) warnings in the header. Sorry about them.