2.7	Password-Based Encryption Algorithms

2.7.1	PKCS#5-based password-based encryption algorithms

The algorithms specified in this section derive keys (and IV’s for block ciphers) for their symmetric algorithms using the PBES2 scheme specified in section 6.2 of PKCS#5[a] with the PBKDF2 key derivation technique specified in section A.2 of PKCS#5[a].  Part of their name contains the symmetric encryption algorithm used.  Each of the algorithms specified in this section requires a single parameter, containing the value of the initialization vector, which should be specified using a newly defined element subordinate to EncryptionMethodType, to be known as “InitVector”, whose type is base64Binary.  For variable key length algorithms such as RC2, the KeySize element must be used to specify the length of the key.
   Identifiers:
       http://www.w3.org/2002/06/xmlenc-pbe#P5DESEDE3_CBC
       http://www.w3.org/2002/06/xmlenc-pbe#P5RC2_CBC

   An example of use is

<EncryptionMethod
              Algorithm="http://www.w3.org/2002/06/xmlenc-pbe#P5DESEDE3_CBC">
<??:InitVector”>ABCDEFGHIJK=”</??:InitVector>
</EncryptionMethod>

2.7.2	PKCS#12-based password-based encryption algorithms

The algorithms specified in this section derive keys (and IV’s for block ciphers) for their symmetric algorithms using the techniques specified in section B of PKCS#12 [b].  Part of their name contains the symmetric encryption algorithm used. For variable key length algorithms such as RC2 or RC4, the KeySize element must be used to specify the length of the key.

Identifiers:
       http://www.w3.org/2002/06/xmlenc-pbe#P12SHA_3KeyDES_CBC
       http://www.w3.org/2002/06/xmlenc-pbe#P12SHA_RC2_CBC
       http://www.w3.org/2002/06/xmlenc-pbe#P12SHA_RC4_CBC

References:

[a] RSA Laboratories, PKCS #5 v2.0: Password-Based Cryptography Standard, Mar. 1999.
[b] RSA Laboratories, PKCS #12 v1.0: Personal Information Exchange Syntax, Jun. 1999.