Line 271:
Line 271:
| 0x00
| 0x00
| ECC-233
| ECC-233
−
| IOSC_DEV_SIGNING_KEY_HANDLE (Wii U NG private key)
+
| IOSC_DEV_SIGNING_KEY_HANDLE (Wii U device private key)
|-
|-
| 0x01
| 0x01
| NONE
| NONE
−
| IOSC_DEV_ID_HANDLE (Wii U NG ID)
+
| IOSC_DEV_ID_HANDLE (Wii U device ID)
|-
|-
| 0x02
| 0x02
| AES-128
| AES-128
−
| IOSC_FS_ENC_HANDLE (Wii U SLC key)
+
| IOSC_FS_ENC_HANDLE (SLC key)
|-
|-
| 0x03
| 0x03
| HMAC SHA-1
| HMAC SHA-1
−
| IOSC_FS_MAC_HANDLE (Wii U SLC HMAC)
+
| IOSC_FS_MAC_HANDLE (SLC HMAC)
|-
|-
| 0x04
| 0x04
Line 291:
Line 291:
| 0x05
| 0x05
| AES-128
| AES-128
−
| IOSC_BACKUP_ENC_HANDLE (Wii U RNG key)
+
| IOSC_BACKUP_ENC_HANDLE (Backup key)
Used by commands 0x15, 0x16, 0x17 and 0x18.
Used by commands 0x15, 0x16, 0x17 and 0x18.
|-
|-
Line 300:
Line 300:
| 0x07
| 0x07
| AES-128
| AES-128
−
| IOSC_BOOTOSVER_ENC_HANDLE (Wii U SEEPROM key)
+
| IOSC_BOOTOSVER_ENC_HANDLE (SEEPROM key)
|-
|-
| 0x08
| 0x08
Line 316:
Line 316:
| 0x0B
| 0x0B
| AES-128
| AES-128
−
| IOSC_COMMON2_ENC_HANDLE (Wii Korean key)
+
| IOSC_COMMON2_ENC_HANDLE (Wii common2 key)
|-
|-
| 0x0C
| 0x0C
| AES-128
| AES-128
−
| Wii U drive key
+
| Drive key
−
This key is generated by decrypting the SEEPROM drive key with the Wii U SEEPROM key.
|-
|-
| 0x0D
| 0x0D
| AES-128
| AES-128
−
| Wii U Starbuck [[Ancast_Image|ancast image]] key
+
| Starbuck [[Ancast_Image|ancast]] key
|-
|-
| 0x0E
| 0x0E
| RSA-2048
| RSA-2048
−
| Wii U Starbuck [[Ancast_Image|ancast image]] modulus
+
| Starbuck [[Ancast_Image|ancast]] modulus
|-
|-
| 0x0F
| 0x0F
| RSA-2048
| RSA-2048
−
| Wii U boot1 [[Ancast_Image|ancast image]] modulus
+
| Boot1 [[Ancast_Image|ancast]] modulus
|-
|-
| 0x10
| 0x10
Line 341:
Line 340:
| 0x11
| 0x11
| AES-128
| AES-128
−
| Wii U MLC (eMMC) key
+
| MLC key
|-
|-
| 0x12
| 0x12
| AES-128
| AES-128
| USB WFS and WagonU key
| USB WFS and WagonU key
−
This key is generated by ECB-encrypting the SEEPROM USB key seed with a key from the OTP.
+
This key is generated by ECB-encrypting the IVS seed from SEEPROM with the IVS key from the OTP.
−
The SEEPROM USB key seed must start with the same first 0x04 bytes as the Wii U NG ID.
|-
|-
| 0x13
| 0x13
| AES-128
| AES-128
−
| Wii U SLCCMPT (vWii NAND) key
+
| SLCCMPT key
|-
|-
| 0x14
| 0x14
| HMAC SHA-1
| HMAC SHA-1
−
| Wii U SLCCMPT (vWii NAND) HMAC
+
| SLCCMPT HMAC
|-
|-
| 0x15
| 0x15
Line 363:
Line 361:
| 0x16
| 0x16
| AES-128
| AES-128
−
| Key to encrypt/decrypt DRH WLAN data
+
| DRH WLAN data key
|-
|-
| 0x17
| 0x17
| AES-128
| AES-128
| UDS local-WLAN CCMP key
| UDS local-WLAN CCMP key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-NET).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-NET).
This key is shared with the 3DS.
This key is shared with the 3DS.
|-
|-
Line 374:
Line 372:
| AES-128
| AES-128
| DLP key
| DLP key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-NET).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-NET).
This key is shared with the 3DS.
This key is shared with the 3DS.
|-
|-
Line 380:
Line 378:
| AES-128
| AES-128
| APT wrap key
| APT wrap key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-ACP).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-ACP).
This key is shared with the 3DS.
This key is shared with the 3DS.
|-
|-
Line 389:
Line 387:
| 0x1B
| 0x1B
| AES-128
| AES-128
−
| Key to encrypt/decrypt SSL RSA key
+
| SSL RSA kek
|-
|-
| 0x1C
| 0x1C
| ECC-233
| ECC-233
−
| Wii U private key for NSS device certificate
+
| Wii U NSS device certificate private key
|-
|-
| 0x1D
| 0x1D
| ECC-233
| ECC-233
−
| vWii private key for NSS device certificate
+
| Wii NSS device certificate private key
|-
|-
| 0x1E
| 0x1E
| AES-128
| AES-128
−
| Key to encrypt/decrypt APPSTORE objinfo/objdata
+
| APPSTORE objinfo/objdata key
−
This key is the first 0x10 bytes of the Wii U private key for NSS device certificate.
+
This key is the first 0x10 bytes of the Wii U NSS device certificate private key.
|-
|-
| 0x1F
| 0x1F
| AES-128
| AES-128
−
| Key to encrypt/decrypt SpotPass data files
+
| SpotPass data file key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-NIM-BOSS).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-NIM-BOSS).
|-
|-
| 0x20
| 0x20
| HMAC SHA-256
| HMAC SHA-256
| SpotPass data file HMAC key
| SpotPass data file HMAC key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (0x40 bytes, used by IOS-NIM-BOSS).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (0x40 bytes, used by IOS-NIM-BOSS).
|-
|-
| 0x21
| 0x21
| UNK
| UNK
| Unknown
| Unknown
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (0x20 bytes).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (0x20 bytes).
|-
|-
| 0x22
| 0x22
| AES-128
| AES-128
| Amiibo HMAC key 1
| Amiibo HMAC key 1
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-PAD).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-PAD).
This key is used to generate a SHA-256 HMAC for the Amiibo data.
This key is used to generate a SHA-256 HMAC for the Amiibo data.
|-
|-
Line 428:
Line 426:
| AES-128
| AES-128
| Amiibo HMAC key 2
| Amiibo HMAC key 2
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-PAD).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-PAD).
This key is used to generate a SHA-256 HMAC for the Amiibo data.
This key is used to generate a SHA-256 HMAC for the Amiibo data.
|-
|-
Line 434:
Line 432:
| AES-128
| AES-128
| NFC key
| NFC key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-PAD).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-PAD).
This key is shared with the 3DS.
This key is shared with the 3DS.
|-
|-
| 0x25
| 0x25
| AES-128
| AES-128
−
| Key to encrypt/decrypt Wii U NFC key block
+
| Wii U NFC key block key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-PAD).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-PAD).
This key is used to decrypt a block of 0x70 bytes inside IOS-PAD.
This key is used to decrypt a block of 0x70 bytes inside IOS-PAD.
Once decrypted, this block contains the Wii U specific "unfixed infos" and "locked secret" keys.
Once decrypted, this block contains the Wii U specific "unfixed infos" and "locked secret" keys.
Line 447:
Line 445:
| AES-128
| AES-128
| Unknown
| Unknown
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (0x10 bytes).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (0x10 bytes).
|-
|-
| 0x27
| 0x27
| AES-128
| AES-128
−
| Key to encrypt/decrypt "pushmore" links
+
| Pushmore link key
−
Generated by XORing the Wii U XOR key and static data inside IOS-CRYPTO (used by IOS-NIM-BOSS).
+
Generated by XORing the XOR key with static data inside IOS-CRYPTO (used by IOS-NIM-BOSS).
|-
|-
| 0x28
| 0x28
| AES-128
| AES-128
| Wii U extra storage key
| Wii U extra storage key
−
In debug hardware with an internal HDD (Kiosk and certain DevKits) this key is generated by decrypting the SEEPROM SHDD key with a key from the OTP.
+
In debug hardware with an internal HDD (Kiosk and certain DevKits) this key is generated by decrypting the SHDD seed from SEEPROM with the SHDD key from the OTP.
−
In debug hardware without additional internal storage, this is the same as the Wii U MLC (eMMC) key.
+
In debug hardware without additional internal storage, this is the same as the MLC key.
In retail hardware this key is never set.
In retail hardware this key is never set.
|-
|-