Difference between revisions of "Nand/private/movable.sed"
Line 25: | Line 25: | ||
|} | |} | ||
− | This keyY is the console-unique portion of the 3 keyslots used for everything stored under [[SD Filesystem|sdmc/Nintendo 3DS/<ID0>/<ID1>]] and [[Flash Filesystem|nand/data/<ID0>]]. For SD this is used for encryption and AES MACs, however for NAND this is only used for AES MACs. This file is transferred to the destination 3DS during a [[System Transfer]]. | + | This keyY is the console-unique portion of the 3 keyslots used for everything stored under [[SD Filesystem|sdmc/Nintendo 3DS/<ID0>/<ID1>]] and [[Flash Filesystem|nand/data/<ID0>]]. For SD this is used for encryption and AES MACs, however for NAND this is only used for AES MACs. This file is transferred to the destination 3DS during a [[System Transfer]]. The movable.sed keyY high u64 is [[FS:InitializeCtrFileSystem|updated]] on the source 3DS during a [[System Transfer]], and when doing a system format with [[System Settings]]. |
Movable.sed always exists on retail, however if this file doesn't exist the system will fall-back to using a console-unique keyY already in [[PSPXI:GetLocalFriendCodeSeed|memory]], with the last 8-bytes being loaded from the 8-bytes following that u64. It's unknown whether movable.sed exists on development units. | Movable.sed always exists on retail, however if this file doesn't exist the system will fall-back to using a console-unique keyY already in [[PSPXI:GetLocalFriendCodeSeed|memory]], with the last 8-bytes being loaded from the 8-bytes following that u64. It's unknown whether movable.sed exists on development units. | ||
− | The keyY is hashed with SHA256, the first 0x10-bytes from the hash is used for ID0 in [[SD Filesystem|sdmc/Nintendo 3DS/<ID0>/<ID1>]] and [[Flash Filesystem|nand/data/<ID0>]]. | + | The keyY is hashed with SHA256, the first 0x10-bytes from the hash is used for ID0 in [[SD Filesystem|sdmc/Nintendo 3DS/<ID0>/<ID1>]] and [[Flash Filesystem|nand/data/<ID0>]]. The hashed data is the text output from snprintf using format string "%02x". |
Revision as of 22:42, 27 March 2013
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Magic "SEED" |
0x4 | 0x4 | This u8 must be zero |
0x8 | 0x100 | RSA-2048 signature over the 0x10-byte data at 0x108 |
0x108 | 0x8 | Usually zero |
0x110 | 0x10 | AES engine keyY for 3 keyslots (High u64 is unsigned) |
This keyY is the console-unique portion of the 3 keyslots used for everything stored under sdmc/Nintendo 3DS/<ID0>/<ID1> and nand/data/<ID0>. For SD this is used for encryption and AES MACs, however for NAND this is only used for AES MACs. This file is transferred to the destination 3DS during a System Transfer. The movable.sed keyY high u64 is updated on the source 3DS during a System Transfer, and when doing a system format with System Settings.
Movable.sed always exists on retail, however if this file doesn't exist the system will fall-back to using a console-unique keyY already in memory, with the last 8-bytes being loaded from the 8-bytes following that u64. It's unknown whether movable.sed exists on development units.
The keyY is hashed with SHA256, the first 0x10-bytes from the hash is used for ID0 in sdmc/Nintendo 3DS/<ID0>/<ID1> and nand/data/<ID0>. The hashed data is the text output from snprintf using format string "%02x".