2.2.11.1.1 Encrypting an NT or LM Hash Value with a Specified Key

msdn link

This section specifies how to encrypt an NT or LM hash (both 16-byte values).

Split the hash value into two blocks, Block1 and Block2. Block1 is the first 8 bytes of the hash (starting from the left); Block2 is the remaining 8 bytes.

Each block is encrypted with a different 7-byte key; call them Key1 and Key2.

If the specified key is an unsigned integer, see section 2.2.11.1.3 for the way to derive Key1 and Key2.

If the specified key is a 16-byte value, see section 2.2.11.1.4 for the way to derive Key1 and Key2.

Let EncryptedBlock1 be the result of applying the algorithm in section 2.2.11.1.2 over Block1 with Key1.

Let EncryptedBlock2 be the result of applying the algorithm in section 2.2.11.1.2 over Block2 with Key2.

The encrypted hash value is the concatenation of EncryptedBlock1 and EncryptedBlock2.

 See section 4.3 for an example.