Yes, this is essentially a PGP-like thing based on elliptic curves instead of RSA, so the keys and the signatures (and the code!) are all much smaller.
CLMM is not even close to being as featureful as GnuPG. But it does a lot for being <1500 LOC (compare to >200 kLOC for GnuPG). If you want to look under the hood to see how things word, CLMM is a lot more accessible, which was its primary goal.
Hi, from a quick glance there seems to be a few problems
that should be easy to fix:
* You should enable -Wall and -Wextra, there are a few
other flags that are usually useful as well which I forget.
* You should pass the -std=c99 flag to the compiler, it
fails otherwise on my setup (Debian 7.x)
Despite warnings not being enabled, I get many. Implicit declarations of strlen, asprintf, getpassn. This seems to partialy be caused by including strings.h and not string.h.