mcrypt
mcrypt (Message Crypto) uses NaCl to encrypt and authenticate messages using Curve25519, XSalsa20 and Poly1305. The length of messages is not hidden. Additionally it can digitally sign messages or content using the Ed25519 signature algorithm.
See http://nacl.cr.yp.to/box.html for more information on NaCl.