The following sections list the algorithms and associated services that are supported by the NinthTest JCA Provider.
For usage scenarios and code examples that exercise these algorithms and services, please refer to Using the NinthTest JCA Provider.
Helix is a stream cipher with a built-in MAC function.
Version | Service | JCA engine class | Description |
---|---|---|---|
1.0 | Cipher | javax.crypto.Cipher | Supports encryption, decryption, and key wrapping/unwrapping operation modes. Supports the Helix built-in MAC function for all operation modes. Generated MACs can be retrieved from algorithm parameters following an encryption or key-wrapping operation. Expected MACs for decryption or key-unwrapping operations can be provided as algorithm parameters when initializing the cipher. Supports the use of Helix as a pure stream cipher (i.e. without MAC function). |
1.0 | Mac | javax.crypto.Mac | Supports the use of Helix as a pure MAC function. |
1.0 | KeyGenerator | javax.crypto.KeyGenerator | Generates random Helix keys. Allows key sizes up to a maximum of 256 bits, in multiples of eight (256 bits is recommended, and is the default). |
1.0 | SecretKeyFactory | javax.crypto.SecretKeyFactory | Creates Helix secret keys from Helix key specifications (i.e. representations of raw key bytes), and vice-versa. |
1.0 | AlgorithmParameters | java.security.AlgorithmParameters | Manages Helix parameters (nonce and MAC). Following an encryption or key-wrapping operation, the generated MAC can be retrieved from the AlgorithmParameters returned by the Cipher. |
1.1.0 | SecureRandom | java.security.SecureRandom | Supports the use of Helix as a PRNG. |