FSPXI:ImportIntegrityVerificationSeed: Difference between revisions

Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00460002] |- | 1 | Always 0x00013004, for 0x130 size: (size<<4) <nowiki>|</nowik..."
 
No edit summary
 
(15 intermediate revisions by 3 users not shown)
Line 6: Line 6:
|-
|-
| 0
| 0
| Header code [0x00460002]
| Header code [0x00450002]
|-
|-
| 1
| 1
| Always 0x00013004, for 0x130 size: (size<<4) <nowiki>|</nowiki> 4
| Always 0x00013006, for 0x130 size: (size<<8) <nowiki>|</nowiki> 6
|-
|-
| 2
| 2
| Pointer to input buffer
| Input IntegrityVerificationSeed pointer
|}
|}


Line 26: Line 26:
| 1
| 1
| Result code
| Result code
|}
=IntegrityVerificationSeed=
{| class="wikitable" border="1"
|-
!  Offset
!  Size
!  Description
|-
|  0x0
|  0x10
|  AES-CBC MAC over a SHA256 hash, which hashes the first 0x110-bytes of the cleartext SEED.
|-
|  0x10
|  0x120
|  The [[nand/private/movable.sed]], encrypted with AES-CBC using the above MAC for the counter.
|}
|}


=Description=
=Description=
This might import the SEED from the specified buffer, to [[nand/private/movable.sed]]?
This decrypts the input SEED and verifies it with the input AES-CBC MAC, verifies the RSA-signature, then writes the data to [[nand/private/movable.sed]].