Export (0) Print
Expand All

3.11 PasswordKeyEncryptor (Agile Encryption)

Office

00000000:  04 00 04 00 40 00 00 00  3C 3F 78 6D 6C 20 76 65
00000010:  72 73 69 6F 6E 3D 22 31  2E 30 22 20 65 6E 63 6F
00000020:  64 69 6E 67 3D 22 55 54  46 2D 38 22 20 73 74 61
00000030:  6E 64 61 6C 6F 6E 65 3D  22 79 65 73 22 3F 3E 0D
00000040:  0A 3C 65 6E 63 72 79 70  74 69 6F 6E 20 78 6D 6C
00000050:  6E 73 3D 22 68 74 74 70  3A 2F 2F 73 63 68 65 6D
00000060:  61 73 2E 6D 69 63 72 6F  73 6F 66 74 2E 63 6F 6D
00000070:  2F 6F 66 66 69 63 65 2F  32 30 30 36 2F 65 6E 63
00000080:  72 79 70 74 69 6F 6E 22  20 78 6D 6C 6E 73 3A 70
00000090:  3D 22 68 74 74 70 3A 2F  2F 73 63 68 65 6D 61 73
000000A0:  2E 6D 69 63 72 6F 73 6F  66 74 2E 63 6F 6D 2F 6F
000000B0:  66 66 69 63 65 2F 32 30  30 36 2F 6B 65 79 45 6E
000000C0:  63 72 79 70 74 6F 72 2F  70 61 73 73 77 6F 72 64
000000D0:  22 3E 3C 6B 65 79 44 61  74 61 20 73 61 6C 74 53
000000E0:  69 7A 65 3D 22 31 36 22  20 62 6C 6F 63 6B 53 69
000000F0:  7A 65 3D 22 31 36 22 20  6B 65 79 42 69 74 73 3D
00000100:  22 31 32 38 22 20 68 61  73 68 53 69 7A 65 3D 22
00000110:  32 30 22 20 63 69 70 68  65 72 41 6C 67 6F 72 69
00000120:  74 68 6D 3D 22 41 45 53  22 20 63 69 70 68 65 72
00000130:  43 68 61 69 6E 69 6E 67  3D 22 43 68 61 69 6E 69
00000140:  6E 67 4D 6F 64 65 43 42  43 22 20 68 61 73 68 41
00000150:  6C 67 6F 72 69 74 68 6D  3D 22 53 48 41 31 22 20
00000160:  73 61 6C 74 56 61 6C 75  65 3D 22 2F 61 34 69 57
00000170:  71 50 79 49 76 45 32 63  55 6F 6C 4A 4D 4B 72 49
00000180:  77 3D 3D 22 2F 3E 3C 64  61 74 61 49 6E 74 65 67
00000190:  72 69 74 79 20 65 6E 63  72 79 70 74 65 64 48 6D
000001A0:  61 63 4B 65 79 3D 22 75  77 70 41 45 46 57 31 68
000001B0:  51 79 44 32 4F 30 31 6B  7A 31 6C 68 6A 65 76 4E
000001C0:  77 30 45 43 79 41 41 30  75 32 4F 78 44 79 67 73
000001D0:  66 59 3D 22 20 65 6E 63  72 79 70 74 65 64 48 6D
000001E0:  61 63 56 61 6C 75 65 3D  22 75 66 36 48 62 4A 6A
000001F0:  74 72 79 4A 4F 6A 53 46  71 72 6B 71 6B 4E 51 59
00000200:  39 4E 6A 4E 51 55 50 49  2B 78 63 6B 38 51 38 79
00000210:  34 6D 6B 6F 3D 22 2F 3E  3C 6B 65 79 45 6E 63 72
00000220:  79 70 74 6F 72 73 3E 3C  6B 65 79 45 6E 63 72 79
00000230:  70 74 6F 72 20 75 72 69  3D 22 68 74 74 70 3A 2F
00000240:  2F 73 63 68 65 6D 61 73  2E 6D 69 63 72 6F 73 6F
00000250:  66 74 2E 63 6F 6D 2F 6F  66 66 69 63 65 2F 32 30
00000260:  30 36 2F 6B 65 79 45 6E  63 72 79 70 74 6F 72 2F
00000270:  70 61 73 73 77 6F 72 64  22 3E 3C 70 3A 65 6E 63
00000280:  72 79 70 74 65 64 4B 65  79 20 73 70 69 6E 43 6F
00000290:  75 6E 74 3D 22 31 30 30  30 30 30 22 20 73 61 6C
000002A0:  74 53 69 7A 65 3D 22 31  36 22 20 62 6C 6F 63 6B
000002B0:  53 69 7A 65 3D 22 31 36  22 20 6B 65 79 42 69 74
000002C0:  73 3D 22 31 32 38 22 20  68 61 73 68 53 69 7A 65
000002D0:  3D 22 32 30 22 20 63 69  70 68 65 72 41 6C 67 6F
000002E0:  72 69 74 68 6D 3D 22 41  45 53 22 20 63 69 70 68
000002F0:  65 72 43 68 61 69 6E 69  6E 67 3D 22 43 68 61 69
00000300:  6E 69 6E 67 4D 6F 64 65  43 42 43 22 20 68 61 73
00000310:  68 41 6C 67 6F 72 69 74  68 6D 3D 22 53 48 41 31
00000320:  22 20 73 61 6C 74 56 61  6C 75 65 3D 22 70 70 73
00000330:  36 42 31 62 6D 71 43 46  58 67 6F 70 73 6D 31 72
00000340:  57 6E 51 3D 3D 22 20 65  6E 63 72 79 70 74 65 64
00000350:  56 65 72 69 66 69 65 72  48 61 73 68 49 6E 70 75
00000360:  74 3D 22 4A 59 55 34 51  30 75 32 42 68 71 7A 51
00000370:  41 35 44 34 4A 2F 76 6F  41 3D 3D 22 20 65 6E 63
00000380:  72 79 70 74 65 64 56 65  72 69 66 69 65 72 48 61
00000390:  73 68 56 61 6C 75 65 3D  22 65 42 32 6A 58 35 6D
000003A0:  76 68 42 4A 2B 39 4F 37  66 66 43 2B 36 58 32 4D
000003B0:  79 64 7A 32 67 6C 48 4F  58 78 30 54 39 50 6E 36
000003C0:  6E 4B 2B 77 3D 22 20 65  6E 63 72 79 70 74 65 64
000003D0:  4B 65 79 56 61 6C 75 65  3D 22 32 46 38 36 48 47
000003E0:  2B 78 56 33 6E 47 61 32  37 44 45 6C 67 71 67 77
000003F0:  3D 3D 22 2F 3E 3C 2F 6B  65 79 45 6E 63 72 79 70
00000400:  74 6F 72 3E 3C 2F 6B 65  79 45 6E 63 72 79 70 74
00000410:  6F 72 73 3E 3C 2F 65 6E  63 72 79 70 74 69 6F 6E
00000420:  3E


0

1

2

3

4

5

6

7

8

9
1
0

1

2

3

4

5

6

7

8

9
2
0

1

2

3

4

5

6

7

8

9
3
0

1

EncryptionVersionInfo.vMajor

EncryptionVersionInfo.vMinor

Reserved

XmlEncryptionDescriptor (variable)

...

EncryptionVersionInfo.vMajor (2 bytes): 0x0004 specifies the major version.

EncryptionVersionInfo.vMinor (2 bytes): 0x0004 specifies the minor version.

Reserved (4 bytes): 0x00000040 is a reserved value.

XmlEncryptionDescriptor (variable): An XML block that specifies the encryption algorithms used and that contains the following XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<encryption 
  xmlns="http://schemas.microsoft.com/office/2006/encryption" 
  xmlns:p="http://schemas.microsoft.com/office/2006/keyEncryptor/password">
  <keyData 
    saltSize="16"      
    blockSize="16"     
    keyBits="128"     
    hashSize="20"     
    cipherAlgorithm="AES"      
    cipherChaining="ChainingModeCBC"     
    hashAlgorithm="SHA-1"     
    saltValue="/a4iWqPyIvE2cUolJMKrIw=="/>

  <dataIntegrity     
    encryptedHmacKey="uwpAEFW1hQyD2O01kz1lhjevNw0ECyAA0u2OxDygsfY="        
    encryptedHmacValue="uf6HbJjtryJOjSFqrkqkNQY9NjNQUPI+xck8Q8y4mko="/>

  <keyEncryptors>
    <keyEncryptor uri="http://schemas.microsoft.com/office/2006/keyEncryptor/password">
      <p:encryptedKey      
        spinCount="100000"      
        saltSize="16"      
        blockSize="16"      
        keyBits="128"      
        hashSize="20"       
        cipherAlgorithm="AES"       
        cipherChaining="ChainingModeCBC"      
        hashAlgorithm="SHA-1"       
        saltValue="pps6B1bmqCFXgopsm1rWnQ=="         
        encryptedVerifierHashInput="JYU4Q0u2BhqzQA5D4J/voA=="       
        encryptedVerifierHashValue="eB2jX5mvhBJ+9O7ffC+6X2Mydz2glHOXx0T9Pn6nK+w="       
        encryptedKeyValue="2F86HG+xV3nGa27DElgqgw=="/>
    </keyEncryptor>
  </keyEncryptors>
</encryption>

keyData: The cryptographic attributes used to encrypt the data.

saltSize: 16 specifies that the salt value is 16 bytes in length.

blockSize: 16 specifies that 16 bytes were used to encrypt each block of data.

keyBits: 128 specifies that the key used to encrypt the data is 128 bits in length.

hashSize: 20 specifies that the hash size is 20 bytes in length.

cipherAlgorithm: "AES" specifies that the cipher algorithm used to encrypt the data is AES.

cipherChaining: "ChainingModeCBC" specifies that the chaining mode to encrypt the data is CBC.

hashAlgorithm: "SHA-1" specifies that the hashing algorithm used to hash the data is SHA-1.

SaltValue: "/a4iWqPyIvE2cUolJMKrIw==" specifies a randomly generated value used when generating the encryption key.

dataIntegrity: Specifies the encrypted copies of the salt and hash values used to help ensure that the integrity of the encrypted data has not been compromised.

encryptedHmacKey: "uwpAEFW1hQyD2O01kz1lhjevNw0ECyAA0u2OxDygsfY=" specifies the encrypted copy of the randomly generated value used when generating the encryption key.

encryptedHmacValue: "uf6HbJjtryJOjSFqrkqkNQY9NjNQUPI+xck8Q8y4mko=" specifies the encrypted copy of the hash value that is generated during the creation of the encryption key.

keyEncryptors: Specifies the key encryptors used to encrypt the data.

keyEncryptor: "http://schemas.microsoft.com/office/2006/keyEncryptor/password" specifies that the schema used by this encryptor is the schema specified in section 2.3.4.10 for password-based encryptors.

p:encryptedKey: The attributes used to generate the encrypting key.

spinCount: 100000 specifies that there are 100000 iterations on the hash of the password.

saltSize: 16 specifies that the salt value is 16 bytes long.

blockSize: 16 specifies that 16 bytes were used to encrypt each block of data.

keyBits: 128 specifies that the key is 128 bits in length.

hashSize: 20 specifies that the hash is 20 bytes in length.

cipherAlgorithm: "AES" specifies that the cipher used to encrypt the data is AES.

cipherChaining: "ChainingModeCBC" specifies that the chaining mode used for encrypting is CBC.

hashAlgorithm: "SHA-1" specifies that the hashing algorithm used is SHA-1.

saltValue: "pps6B1bmqCFXgopsm1rWnQ==" specifies the randomly generated value used for encrypting the data.

encryptedVerifierHashInput: "JYU4Q0u2BhqzQA5D4J/voA==" specifies the VerifierHashInput attribute encoded as specified in section 2.3.4.13.

encryptedVerifierHashValue: "eB2jX5mvhBJ+9O7ffC+6X2Mydz2glHOXx0T9Pn6nK+w=" specifies the VerifierHashValue encoded as specified in section 2.3.4.13.

encryptedKeyValue: "2F86HG+xV3nGa27DElgqgw==" specifies the KeyValue encoded as specified in section 2.3.4.13.

Show:
© 2014 Microsoft