Changes

6 bytes added ,  17:03, 3 September 2012
no edit summary
Line 12: Line 12:  
The gamecard savegame [[AES|keyslot]] keyY is unique per gamecard.
 
The gamecard savegame [[AES|keyslot]] keyY is unique per gamecard.
   −
All savegames, including non-gamecard savegames, are encrypted with AES-CTR. The base CTR never changes after savegame creation. The CTR used for gamecard savegames eventually repeats, while non-gamecard savegames don't use a repeating CTR. For the old gamecard CTR method, it repeated every 0x200-bytes. With the new method it repeats at least every 0x1000-bytes, but the exact period isn't known for certain. Non-gamecard savegames use a separate CTR method from the gamecard savegames, see the [[extdata]] page regarding extdata encryption.
+
All savegames, including non-gamecard savegames, are encrypted with AES-CTR. The base CTR for gamecard savegames seems to be all-zero? The CTR used for gamecard savegames eventually repeats, while non-gamecard savegames don't use a repeating CTR. For the old gamecard CTR method, it repeated every 0x200-bytes. With the new method it repeats at least every 0x1000-bytes, but the exact period isn't known for certain. Non-gamecard savegames use a separate CTR method from the gamecard savegames, see the [[extdata]] page regarding extdata encryption.
    
With system version [[2.0.0-4]] the system now uses a different gamecard CTR method, which fixed the above flaw. The CTR seems to repeat in the image but not every 0x200 bytes. The CTR may repeat every 0x1000 bytes. The system uses the new method for titles which have the [[NCSD|CCI]] NVer version set to the  [[2.0.0-4]] or above, starting with "Super Mario 3D Land". Prior to that NVer version, the system uses the old 0x200-byte CTR period.
 
With system version [[2.0.0-4]] the system now uses a different gamecard CTR method, which fixed the above flaw. The CTR seems to repeat in the image but not every 0x200 bytes. The CTR may repeat every 0x1000 bytes. The system uses the new method for titles which have the [[NCSD|CCI]] NVer version set to the  [[2.0.0-4]] or above, starting with "Super Mario 3D Land". Prior to that NVer version, the system uses the old 0x200-byte CTR period.