Sealedkey: Difference between revisions
Jump to navigation
Jump to search
Line 13: | Line 13: | ||
| 0xA || 0x6 || 00 Filler | | 0xA || 0x6 || 00 Filler | ||
|- | |- | ||
| 0x10 || 0x10 || IV | | 0x10 || 0x10 || IV | ||
|- | |- | ||
| 0x20 || 0x10 || Encrypted key | | 0x20 || 0x10 || Encrypted key | ||
Line 23: | Line 23: | ||
The first step is to check the HMAC of the file. The process is to use the HMAC key <code>pfsSKKey__Secret</code> from the [[Keys#PFS_Secret_Keys]] page to check the <code>HMAC Value</code> at position 0x30 in the file. | The first step is to check the HMAC of the file. The process is to use the HMAC key <code>pfsSKKey__Secret</code> from the [[Keys#PFS_Secret_Keys]] page to check the <code>HMAC Value</code> at position 0x30 in the file. | ||
If it is correct, it proceeds to use the <code>pfsSKKey__EncKey</code> to decrypt the | If it is correct, it proceeds to use the <code>pfsSKKey__EncKey</code> from the [[Keys#PFS_Secret_Keys]] to decrypt the <code>Encrypted key</code> at offset 0x20 using the <code>IV</code> at offset 0x10. |
Revision as of 21:50, 8 December 2017
File Structure
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | magic "pfsSKKey" |
0x8 | 0x1 | major version (always 2) |
0x9 | 0x1 | minor version (always 0) |
0xA | 0x6 | 00 Filler |
0x10 | 0x10 | IV |
0x20 | 0x10 | Encrypted key |
0x30 | 0x20 | HMAC Value |
The first step is to check the HMAC of the file. The process is to use the HMAC key pfsSKKey__Secret
from the Keys#PFS_Secret_Keys page to check the HMAC Value
at position 0x30 in the file.
If it is correct, it proceeds to use the pfsSKKey__EncKey
from the Keys#PFS_Secret_Keys to decrypt the Encrypted key
at offset 0x20 using the IV
at offset 0x10.