All SpotPass content uses this container to encrypt the payload and sign it. The cleartext payload is stored in [[extdata]]. This header format is big-endian.
+
All SpotPass content uses this container to encrypt the payload and sign it. The cleartext payload is stored in [[extdata]]. The format of these headers is big-endian.
+
=== BOSS Header ===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 60:
Line 61:
|}
|}
−
Data following the header is encrypted with AES-CTR. The first 12 bytes of the CTR are from offset 0x1C of the header, while the last word of the CTR in big-endian is 0x1. The cleartext data begins with another unknown SpotPass header which contains the RSA-2048 signature. Following that header is the actual content.
+
Data following the header is encrypted with AES-CTR. The first 12 bytes of the CTR are from offset 0x1C of the header, while the last word of the CTR in big-endian is 0x1. The cleartext data begins with another header. Following that header is the actual content.
+
+
=== Content Header ===
+
{| class="wikitable"
+
|-
+
! Offset
+
! Length
+
!
+
|-
+
| 0x0
+
| 0x10
+
| ?
+
|-
+
| 0x10
+
| 0x2
+
| ?
+
|-
+
| 0x12
+
| 0x20
+
| SHA-256 hash
+
|-
+
| 0x32
+
| 0x100
+
| RSA-2048 signature over the above hash
+
|}
+
+
The hash at offset 0x12 hashes the 0x10-byte data at offset 0x0 followed by a zero u16.