Security services provided by the NinthTest JCA Provider

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

Helix is a stream cipher with a built-in MAC function.

Helix services provided by the NinthTest JCA Provider
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.