strobe
STROBE cryptographic protocol framework
...It supports encryption/decryption, hashing, pseudorandom generation and message authentication. It integrates these components in an innovative way that makes secure protocol design relatively simple.
With the included elliptic curve code, STROBE additionally supports asymmetric key exchange and digital signature creation and verification.