Logi.Crypto is a pure-Java package for strong encryption. It includes ciphers (RSA, DES, triple-DES, Blowfish), encryption modes (ECB, CBC, CFB, OFB), Key exchange (RSA, Diffie-Hellman, etc.) hash functions (MD5, SHA1) and signatures (RSA). Key-exchange and encryption in any mode can be applied to any InputStream and OutputStream objects. logi.crypto was previously called Cryptonite.