mcrypt/ openssl/ gnupg/ etc
Forgive me for not reading up enough on crypto - I am hoping someone can help me get this right in my mind.What is the difference between what mcrypt provides and what openssl provides?
From reading the docs, it appears that:
libmcrypt - mcrypt lib, other "frontends" can use it to generate crypto (like the php mcrypt stuff).
mcrypt - CLI frontend to generate crypto, uses libmcrypt
openssl - can generate public/private keypairs, certs, and symmetric encryption
gnupg - public/private keypairs
Why are all these projects necessary? It seems to me that several of them overlap in terms of what one could use it for. Someone has explained to me that gnupg is similar to openssl, but its the reverse way.
Argh. Does anyone have a 'newbies guide to crypto' link or info that could help me get this straight?
In short - I know how to use these, but I am not sure WHY I would use one or the other.
thanks


