The encryption functions can operate differently according to the execution platform.
Windows platforms
On the Windows platform, the algorithm can be specified in OpenSSL format (e.g. aes-256-cbc).
If it is specified in Java format, the algorithm is deduced from the Java algorithm and the length of the key indicated (e.g. AES/CBC/PKCS5Padding with a 128-bit key becomes aes-128-cbc, and padding is enabled).
On the other hand, as OpenSSL only supports the PKCS#5 algorithm for the padding, the padding algorithm is not taken into account apart from special values 'NoPadding' and 'ZeroPadding' which disable padding.
The following algorithms are available in Windows with Visual Adelia:
OpenSSL name |
Adelia code |
des |
DES |
des_ede |
DESede |
des_ede3 |
DESede3 |
desx |
DESX |
rc4 |
RC4 |
Idea |
IDEA |
rc2 |
RC2 |
bf |
Blowfish |
cast5 |
CAST5 |
aes |
AES |
camellia |
CAMELLIA |
rsa |
RSA |
The Adelia code corresponds to the name to specify if the algorithm format follows the Java standard (ALGORITHM[/BLOCKMODE/PADDING]).
Java plateforms
The Java platform provides a limited number of encryption algorithms as standard.
Furthermore, the key length is limited by default to 128 bits (16 bytes) for block encryption algorithms (export restriction, see Oracle documentation http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html).
Java supports other padding modes than PCKS#5. However, for interoperability reasons, we advise using the default padding, which is compatible with OpenSSL.
The following algorithms are available in Java (JDK 7) with the default suppliers:
Adelia code |
DES |
DESede |
RC2 |
RC4 |
Blowfish |
ARCFOUR |
AES |
RSA |
NB: in Java, additional security suppliers can be added.
Adelia Cloud is, for example, distributed with Bouncy Castle (https://www.bouncycastle.org/) which provides additional encryption algorithms (CCM, GCM, CAMELLIA, CAST5, CAST6, CHACHA, GOST28147, Grainv1, Grain128, HC128, HC256, IDEA, NOEKEON, RC5, RC5-64, RC6, RIJNDAEL, SALSA20, SEED, Serpent, Tnepres, Shacal2, SHACAL-2, SKIPJACK, SM4, TEA, Twofish, Threefish, VMPC, XTEA, XSALSA20, IES, DHIES, ECIES, ELGAMAL).
Iseries platforms
The following algorithms are available:
iSeries name |
Adelia code |
DES |
DES |
Triple DES (16 bytes long) |
DESede |
Triple DES (24 bytes long) |
DESede3 |
RC4-compatible |
RC4 |
RC2 |
RC2 |
AES |
AES |
RSA |
RSA |
Caution: where AS/400 is concerned, the RSA private keys must be encoded in PKCS #8 format (the key must contain a -----BEGIN PRIVATE KEY----- rather than -----BEGIN RSA PRIVATE KEY----- declaration).