This package provides the classes and interfaces for cryptographic applications implementing algorithms for encryption, decryption, or key agreement.

Stream ciphers are supported as well as asymmetric, symmetric and block ciphers. Cipher implementations from different providers can be integrated using the SPI (Service Provider Interface) abstract classes. With class {@link javax.crypto.SealedObject} a programmer can secure an object by encrypting it with a cipher.

Authentication may be based on MAC (Message Authentication Code) such as HMAC (Hash MAC, i.e. with a SHA-1 hash function).