Difference between revisions of "FSPXI:ImportIntegrityVerificationSeed"

From 3dbrew
Jump to navigation Jump to search
 
(13 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<<8) <nowiki>|</nowiki> 4
+
| Always 0x00013006, for 0x130 size: (size<<8) <nowiki>|</nowiki> 6
 
|-
 
|-
 
| 2
 
| 2
| Pointer to 0x130-byte 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]].

Latest revision as of 12:31, 28 July 2020

Request[edit]

Index Word Description
0 Header code [0x00450002]
1 Always 0x00013006, for 0x130 size: (size<<8) | 6
2 Input IntegrityVerificationSeed pointer

Response[edit]

Index Word Description
0 Header code
1 Result code

IntegrityVerificationSeed[edit]

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[edit]

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.