Pass Phrase Initialization master key calculations

The values for the master keys are calculated in this manner:
  1. ICSF appends a two-byte constant, X'AB45', to the pass phrase, and generates the MD5 hash for the string by using an initial hash value of X'23A0BE487D9BD32003424FAAA34BCE00'. The first eight bytes of the result of this calculation become the last eight bytes of the RSA master key.
  2. ICSF appends a four-byte constant, X'551B1B1B', to the pass phrase, and generating the MD5 hash for the string using the hash that results from Step 1 as the initial hash value. For system with a 16-byte DES master key, the output of this step is the master key. For a 24-byte DES master key, the last eight bytes of the results of step 1 is pre-appended to output of this step to get the master key value.
  3. ICSF appends a three-byte constant, X'2A2A88', to the pass phrase and generates the MD5 hash for the string using the output hash of Step 2 as the initial hash value. The result of this calculation becomes the first 16 bytes of RSA master key.
  4. ICSF appends a one-byte constant, X'94' to the pass phrase, and generates the MD5 hash for the string using the output hash of Step 3 as the initial hash value. The result of this calculation is not used, but is required for compatibility.
  5. ICSF appends a five-byte constant X'C1C5E2D4D2' to the pass phrase, and generates the SHA-256 hash for the string using the output hash of Step 4 as the initial hash value. The result of this calculation becomes the 32-byte AES master key.
  6. ICSF appends a seven-byte constant X'C5D3D3C9D7E2C5' to the pass phrase and generates the SHA-256 hash for the string using the output hash of Step 5 as the initial hash value. The result of this calculation becomes the 32-byte ECC master key.