Line 294:
Line 294:
|-
|-
| 0x00-0x03
| 0x00-0x03
−
| TWL keyslots.
+
| TWL keys.
| NATIVE_FIRM hard-boot.
| NATIVE_FIRM hard-boot.
| NATIVE_FIRM hard-boot.
| NATIVE_FIRM hard-boot.
Line 301:
Line 301:
|-
|-
| 0x04..0x07
| 0x04..0x07
−
| These are the [[Flash_Filesystem|NAND]] encryption keyslots, which keyslot gets used is determined by the [[NCSD]] partition FS type and the partition encryption type.
+
| [[Flash_Filesystem|NAND]] partition keys.
−
The New3DS Process9 sets the keyY for keyslot 0x05(New3DS CTRNAND) to a key from .(ro)data.
+
−
| Bootrom.
+
Keyslot is determined by [[NCSD]] partition FS type and encryption type. The New3DS Process9 sets the keyY for keyslot 0x05 (New3DS CTRNAND) to a key from .(ro)data.
−
| Bootrom.
−
| -
−
| Yes
−
|-
−
| 0x08..0x0B
−
| These keyslots use the same console-unique keyX. Each keyslot has a separate keyY.
| Bootrom.
| Bootrom.
| Bootrom.
| Bootrom.
Line 316:
Line 310:
|-
|-
| 0x0A
| 0x0A
−
| This is the console-unique keyslot used for encrypting the all-zero 0x10-byte block in the [[DSiWare_Exports|DSiWare_Exports]] header.
+
| DSiWare export key.
+
+
Used for encrypting the all-zero 0x10-byte block in the [[DSiWare_Exports|DSiWare_Exports]] header. Console-unique.
| See above keyslot info.
| See above keyslot info.
| See above keyslot info.
| See above keyslot info.
| -
| -
−
| Yes
−
|-
−
| 0x0C..0x0F
−
| All of these keyslots are set to the same key-data, which is a regular normal-key. The keyX written before the normal-key is console-unique, this keyX is the same for all of these keyslots.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
| Yes
| Yes
|-
|-
| 0x0D
| 0x0D
−
| SSL-certificate key. See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
+
| SSL-certificate key.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
| -
| -
| -
| -
−
| Bootrom.
−
| Yes
−
|-
−
| 0x10
−
| The console-unique keyX is set before the normal-key.
−
| Bootrom.
−
| Bootrom?
| Bootrom.
| Bootrom.
| Yes
| Yes
|-
|-
| 0x11
| 0x11
−
| This is used for general normal-key crypto, where the normal-key is set by FIRM. This keyslot is also used by the New3DS [[FIRM]] arm9 binary loader.
+
| Temporary keyslot.
+
+
Used by FIRM for general normal-key crypto. Also used by the New3DS [[FIRM]] arm9 binary loader.
| Arm9Loader.
| Arm9Loader.
| Arm9Loader.
| Arm9Loader.
| NATIVE_FIRM.
| NATIVE_FIRM.
| Yes
| Yes
−
|-
−
| 0x12
−
| Unused
−
| -
−
| -
−
| -
−
| -
−
|-
−
| 0x13
−
| Unused
−
| -
−
| -
−
| -
−
| -
|-
|-
| 0x14
| 0x14
Line 369:
Line 341:
| NATIVE_FIRM boot.
| NATIVE_FIRM boot.
| -
| -
−
| Yes
−
|-
−
| 0x15..0x16
−
| The console-unique keyX is set before the normal-key.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
| Yes
| Yes
|-
|-
Line 391:
Line 356:
| See previous info for this keyslot.
| See previous info for this keyslot.
| No
| No
−
|-
−
| 0x17
−
| The console-unique keyX is set before the normal-key.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
−
|-
−
| 0x18..0x1B
−
| All of these keyslots are set to the same key-data, which is a regular normal-key. The console-unique keyX is set before the normal-key, this keyX is the same for all of these keyslots.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
−
|-
−
| 0x1C..0x1F
−
| All of these keyslots are set to the same key-data, which is a regular normal-key. The console-unique keyX is set before the normal-key, this keyX is the same for all of these keyslots.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
|-
|-
| 0x18..0x1F
| 0x18..0x1F
Line 421:
Line 365:
|-
|-
| 0x18
| 0x18
−
| New3DS [[NCCH]] keyslot, starting with [[9.3.0-21|9.3.0-X]].
+
| New3DS [[NCCH]] key.
−
| See above keyslot info.
+
+
Starting with [[9.3.0-21|9.3.0-X]].
+
| Arm9Loader.
| NATIVE_FIRM
| NATIVE_FIRM
| -
| -
−
| Yes
+
| No
|-
|-
| 0x19
| 0x19
−
| New3DS gamecard [[Savegames|savedata]] keyslot equalivant of keyslot 0x33, used when a [[NCSD]] flag is set to a certain value(implemented with [[9.3.0-21|9.3.0-X]]).
+
| New3DS gamecard [[Savegames|savedata]] AES-MAC key.
−
| See above keyslot info.
+
+
Equivalent of keyslot 0x33, used when a [[NCSD]] flag is set to a certain value (implemented with [[9.3.0-21|9.3.0-X]]).
+
| Arm9Loader.
| NATIVE_FIRM
| NATIVE_FIRM
| -
| -
−
| Yes
+
| No
|-
|-
| 0x1A
| 0x1A
−
| New3DS gamecard [[Savegames|savedata]] keyslot equalivant of keyslot 0x37, used when a [[NCSD]] flag is set to a certain value(implemented with [[9.3.0-21|9.3.0-X]]).
+
| New3DS gamecard [[Savegames|savedata]] actual key.
−
| See above keyslot info.
+
+
Equivalent of keyslot 0x37, used when a [[NCSD]] flag is set to a certain value (implemented with [[9.3.0-21|9.3.0-X]]).
+
| Arm9Loader.
| NATIVE_FIRM
| NATIVE_FIRM
| -
| -
−
| Yes
+
| No
−
|-
−
| 0x20..0x23
−
| All of these keyslots are set to the same key-data, which is a regular normal-key. The keyX written to these keyslots before writing the normal-key by the bootrom, is console-unique.
−
| Bootrom.
−
| -
−
| Bootrom.
−
| Yes
−
|-
−
| 0x24
−
| This is set to a normal-key by bootrom. The keyX written to this keyslot before writing the normal-key by the bootrom, is console-unique.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
|-
|-
| 0x25
| 0x25
| [[7.0.0-13|v7.0]] [[NCCH]] key.
| [[7.0.0-13|v7.0]] [[NCCH]] key.
−
<!--
−
The keyX and keyY initialized by bootrom for this keyslot are console-unique.
−
-->
| NATIVE_FIRM [[Savegames#6.0.0-11_Savegame_keyY|boot]].
| NATIVE_FIRM [[Savegames#6.0.0-11_Savegame_keyY|boot]].
| NATIVE_FIRM.
| NATIVE_FIRM.
−
| -
−
| Yes
−
|-
−
| 0x26
−
| Unused
−
| -
−
| -
−
| -
−
| Yes
−
|-
−
| 0x27
−
| Unused
−
| -
−
| -
−
| -
−
| Yes
−
|-
−
| 0x28
−
| Unknown. The normal-key for this is the same as keyslot 0x24, the console-unique keyX written before the normal-key is different from keyslot 0x24.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
−
|-
−
| 0x29
−
| Unknown. The keyX written before the normal-key is console-unique.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
−
|-
−
| 0x2A
−
| Unknown. The keyX written before the normal-key is console-unique.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
−
|-
−
| 0x2B
−
| Unknown. The keyX written before the normal-key is console-unique.
−
| Bootrom.
−
| Bootrom?
−
| Bootrom.
−
| Yes
−
|-
−
| 0x2C..0x2F
−
| All of these keyslots use the same keyX initialized by bootrom. During key-init in arm9 bootrom, keyslots 0x2D and 0x2F are set to the same keyY.
−
| Bootrom.
−
| Bootrom, then NATIVE_FIRM for keyslots 0x2C and 0x2F on >=v6.0 FIRM.
| -
| -
| Yes
| Yes
|-
|-
| 0x2C
| 0x2C
−
| [[NCCH|NCCH]] key. Keyslots 0x2C..0x2F all use the same keyX, set by bootrom.
+
| [[NCCH|NCCH]] key.
| Bootrom.
| Bootrom.
| Process9.
| Process9.
Line 522:
Line 406:
|-
|-
| 0x2D
| 0x2D
−
| UDS local-WLAN CCMP key. See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
+
| UDS local-WLAN CCMP key.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
| Bootrom.
| Bootrom.
| Bootrom.
| Bootrom.
Line 529:
Line 415:
|-
|-
| 0x2E
| 0x2E
−
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
+
| Unknown key.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
| Bootrom.
| Bootrom.
| NATIVE_FIRM.
| NATIVE_FIRM.
Line 538:
Line 426:
| [[Savegames#6.0.0-11_Savegame_keyY|v6.0]] save key.
| [[Savegames#6.0.0-11_Savegame_keyY|v6.0]] save key.
| Bootrom.
| Bootrom.
−
| Bootrom, then later NATIVE_FIRM.
+
| NATIVE_FIRM.
−
| -
−
| Yes
−
|-
−
| 0x30-0x33
−
| All of these keyslots use the same keyX. The keyY for keyslots 0x32 and 0x33 are set to the same keyY by bootrom.
−
| Bootrom.
−
| Bootrom, then later NATIVE_FIRM except for keyslot 0x32.
| -
| -
| Yes
| Yes
|-
|-
| 0x30
| 0x30
−
| This keyY is initialized via [[Nand/private/movable.sed|movable.sed]]. This is used for calculating the AESMACs under SD [[SD_Filesystem|/Nintendo 3DS/<ID0>/<ID1>/]](except [[DSiWare_Exports]]) and [[Flash_Filesystem|NAND]] /data/.
+
| SD/NAND AES-MAC key.
+
+
This keyY is initialized via [[Nand/private/movable.sed|movable.sed]]. This is used for calculating the AESMACs under SD [[SD_Filesystem|/Nintendo 3DS/<ID0>/<ID1>/]] (except [[DSiWare_Exports]]) and [[Flash_Filesystem|NAND]] /data/.
| Bootrom.
| Bootrom.
−
| Bootrom(?), then later NATIVE_FIRM.
+
| NATIVE_FIRM.
| -
| -
| Yes
| Yes
|-
|-
| 0x31
| 0x31
−
| APT wrap key. See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]
+
| APT wrap key.
−
NATIVE_FIRM sets this keyY to the same one used for keyslot 0x2E.
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]. NATIVE_FIRM sets this keyY to the same one used for keyslot 0x2E.
| Bootrom.
| Bootrom.
| Bootrom(?), then later NATIVE_FIRM.
| Bootrom(?), then later NATIVE_FIRM.
Line 566:
Line 449:
|-
|-
| 0x32
| 0x32
−
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
+
| Unknown.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
| Bootrom.
| Bootrom.
| Bootrom.
| Bootrom.
Line 573:
Line 458:
|-
|-
| 0x33
| 0x33
−
| This is the keyslot for the gamecard [[Savegames|savedata]] AESMAC.
+
| Gamecard [[Savegames|savedata]] AES-MAC.
| Bootrom.
| Bootrom.
−
| Bootrom, then later NATIVE_FIRM.
+
| NATIVE_FIRM.
−
| -
−
| Yes
−
|-
−
| 0x34-0x37
−
| All four of these keyslots use the same keyX. Keyslots 0x35, 0x36, and 0x37 use the same bootrom keyY. See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]] for keyslot 0x36.
−
| Bootrom.
−
| Bootrom, then NATIVE_FIRM for keyslot 0x37.
| -
| -
| Yes
| Yes
|-
|-
| 0x34
| 0x34
−
| This keyY is initialized via [[Nand/private/movable.sed|movable.sed]]. This is used for encrypting *all* SD card data under [[SD_Filesystem|/Nintendo 3DS/<ID0>/<ID1>/]].
+
| SD key.
+
+
This keyY is initialized via [[Nand/private/movable.sed|movable.sed]]. This is used for encrypting *all* SD card data under [[SD_Filesystem|/Nintendo 3DS/<ID0>/<ID1>/]].
| Bootrom.
| Bootrom.
−
| Bootrom(?), then later NATIVE_FIRM.
+
| NATIVE_FIRM.
| -
| -
| Yes
| Yes
|-
|-
| 0x35
| 0x35
−
| This is the keyslot used for movable.sed encryption + AESMAC with the import/export [[FSPXI:ImportIntegrityVerificationSeed|commands]].
+
| Movable.sed key.
+
+
This is the keyslot used for movable.sed encryption + AES-MAC with the import/export [[FSPXI:ImportIntegrityVerificationSeed|commands]].
| Bootrom.
| Bootrom.
| Bootrom.
| Bootrom.
Line 602:
Line 484:
| 0x36
| 0x36
| Unknown.
| Unknown.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
| Bootrom.
| Bootrom.
| Bootrom.
| Bootrom.
Line 608:
Line 492:
|-
|-
| 0x37
| 0x37
−
| This is the keyslot for the actual gamecard [[Savegames|savedata]] encryption.
+
| Gamecard [[Savegames|savedata]] actual key.
| Bootrom.
| Bootrom.
−
| Bootrom, then later NATIVE_FIRM.
+
| NATIVE_FIRM.
−
| -
−
| Yes
−
|-
−
| 0x38-0x3B
−
| All of these keyslots use the same keyX. Keyslot 0x3B uses an unique keyY initialized by bootrom.
−
| Bootrom.
−
| Bootrom, then NATIVE_FIRM for keyslot 0x3A.
| -
| -
| Yes
| Yes
|-
|-
| 0x38
| 0x38
−
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
+
| Unknown.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]].
| Bootrom.
| Bootrom.
| Bootrom.
| Bootrom.
Line 629:
Line 508:
|-
|-
| 0x39
| 0x39
−
| See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]. NATIVE_FIRM sets this keyY to the same one used for keyslot 0x2E.
+
| Unknown.
+
+
See [[PSPXI:EncryptDecryptAes|EncryptDecryptAes]]. NATIVE_FIRM sets this keyY to the same one used for keyslot 0x2E.
| Bootrom.
| Bootrom.
−
| Bootrom, then NATIVE_FIRM.
+
| NATIVE_FIRM.
| -
| -
| Yes
| Yes
|-
|-
| 0x3A
| 0x3A
−
| This keyY is initialized via [[Nand/private/movable.sed|movable.sed]]. This is used for calculating the AESMACs for SD [[DSiWare_Exports]].
+
| DSiWare export key.
−
| Bootrom.
+
−
| Bootrom(?), then later NATIVE_FIRM.
+
This keyY is initialized via [[Nand/private/movable.sed|movable.sed]]. This is used for calculating the AESMACs for SD [[DSiWare_Exports]].
−
| -
−
| Yes
−
|-
−
| 0x3B
−
| Unknown.
−
| Bootrom.
−
| Bootrom.
−
| -
−
| Yes
−
|-
−
| 0x3C
−
| Unknown. The keyX for this is unique for this keyslot. The keyY for this initialized by bootrom is the same as keyslot 0x38.
−
| Bootrom.
| Bootrom.
| Bootrom.
+
| NATIVE_FIRM.
| -
| -
| Yes
| Yes
|-
|-
| 0x3D
| 0x3D
−
| Common key. Used to decrypt title keys in [[Ticket]]. Used by Gateway.
+
| Common key.
+
+
Used to decrypt title keys in [[Ticket]]. Used by Gateway.
| Bootrom.
| Bootrom.
| NATIVE_FIRM.
| NATIVE_FIRM.
−
| -
−
| Yes
−
|-
−
| 0x3E
−
| Unknown. This keyslot uses an unique keyX/keyY.
−
| Bootrom.
−
| Bootrom.
−
| -
−
| Yes
−
|-
−
| 0x3F
−
| Unknown. This keyslot uses an unique keyX/keyY.
−
| Bootrom.
−
| Bootrom.
| -
| -
| Yes
| Yes