CryptoSys PKI Toolkit Manual

Specifying the algorithm and mode for generic block cipher functions

The generic block cipher functions allow the block cipher algorithm and mode to specified either by a strAlgAndMode string or by using the nOptions flags, but not both. The algorithm-and-mode parameter string combines the name of the block cipher algorithm and the mode.

Valid algorithm names are:

ValueAlgorithmOption
tdeaTriple DES, a.k.a. 3DES, des-ede3PKI_BC_TDEA
3desAlternate for Triple DESPKI_BC_3DES
des-ede3Another alternate for Triple DESPKI_BC_DESEDE3
aes128AES-128PKI_BC_AES128
aes192AES-192PKI_BC_AES192
aes256AES-256PKI_BC_AES256

We have used "TDEA" consistently in CryptoSys products to refer to the Triple DES algorithm (as in its official name "Triple Data Encryption Algorithm"). In this case, we have given you the alternative ways of expressing the algorithm as any one of "tdea", "3des" or "des-ede3". These are all equivalent and all yield identical results.

Valid mode names are:

ValueModeOption
ecbElectronic Code Book mode (default)PKI_MODE_ECB
cbcCipher Block Chaining modePKI_MODE_CBC
ofbOutput Feedback mode PKI_MODE_OFB
cfb64-bit Cipher Feedback mode PKI_MODE_CFB
ctrCounter mode PKI_MODE_CTR

Some examples of valid string values for the strAlgAndMode parameter are:

strAlgAndModeDescriptionAlternative Option value
tdea-cbcTriple DES in CBC modePKI_BC_TDEA+PKI_MODE_CBC
3des-cbcditto (alternate name)PKI_BC_3DES+PKI_MODE_CBC
des-ede3-cbcditto (alternate name)PKI_BC_DESEDE3+PKI_MODE_CBC
tdea-ecbTriple DES in ECB modePKI_BC_TDEA+PKI_MODE_ECB
tdeaditto (ECB is default mode)PKI_BC_TDEA
aes128-cbcAES-128 in CBC modePKI_BC_AES128+PKI_MODE_CBC
aes256-ctrAES-256 in Counter modePKI_BC_AES2568+PKI_MODE_CTR

Punctuation and space characters and upper- and lower-case are ignored in the strAlgAndMode string, so "tdea-cbc", "TDeA---cBc", "tdea cbc", and "TDEACBC" are equivalent (as indeed is "t*D$e^A c@b!C!!")

It is an error to use both the strAlgAndMode and nOptions parameters to specify the algorithm and mode. The algorithm must be explicitly specified. There is no default algorithm. The default cipher mode is ECB mode, which is not recommended because of security issues. It is recommended to use either CBC or CTR mode with a IV value that is unique each time it is used with a given key.

[Contents] [Index]

[HOME]   [NEXT: Valid key and block sizes for block cipher algorithms...]

Copyright © 2004-9 D.I. Management Services Pty Ltd. All rights reserved.