Difference between revisions of "PSPXI:EncryptDecryptAes"

From 3dbrew
Jump to navigation Jump to search
Line 111: Line 111:
 
| 0x2E
 
| 0x2E
 
| This is used by the [[StreetPass]] CECD module to generate the CCMP key passed to [[NWM_Services|nwm::CEC]] commands, when beginning StreetPass communications.
 
| This is used by the [[StreetPass]] CECD module to generate the CCMP key passed to [[NWM_Services|nwm::CEC]] commands, when beginning StreetPass communications.
 +
|-
 +
| 7
 +
|
 +
| Invalid
 +
|-
 +
| 8
 +
| 0x36
 +
| Unknown, support for this keytype was added in newer a NATIVE_FIRM version. When the running NATIVE_FIRM doesn't support this keytype, the result is the same as using keytype7.
 +
|-
 +
| >=9
 +
|
 +
| Invalid, same as keytype7.
 
|}
 
|}
  
 
=Description=
 
=Description=
 
This is used to encrypt/decrypt data via the [[AES]] engine. AES-CCM is not supported by this command, [[PSPXI:EncryptSignDecryptVerifyAesCcm]] must be used for AES-CCM instead.
 
This is used to encrypt/decrypt data via the [[AES]] engine. AES-CCM is not supported by this command, [[PSPXI:EncryptSignDecryptVerifyAesCcm]] must be used for AES-CCM instead.

Revision as of 17:57, 3 June 2013

Request

Index Word Description
0 Header code [0x000401C4]
1 Size in bytes
2-5 IV / CTR
6 u8 Algorithm Type (0..5)
7 u8 Key Type (0..7)
8 (size<<8) | 0x4
9 Source pointer
10 (size<<8) | 0x14
11 Destination pointer

Response

Index Word Description
0 Header code [0x00040140]
1 Result code
2-5 MAC

MAC

For CBC mode, the output MAC is the last 16-bytes of the ciphertext. For the other modes, this field is the same as the input IV/CTR.

Algorithm Types

Type Description
0 CBC Encrypt
1 CBC Decrypt
2 CTR Encrypt
3 CTR Decrypt
4 CCM Encrypt
5 CCM Decrypt

Key Types

Type AES Engine Keyslot Description
0 0x0D Used to decrypt the SSL client cert/private-key stored in ClCertA.
1 0x2D Used to generate the UDS local-WLAN CCMP key.
2 0x31 This is used by NS for the APT AES-CCM Wrap/Unwrap commands. These two NS commands are used by the Mii Maker application for the encrypted Mii data in the Mii QR codes.
3 0x38 BOSS
4 0x32 ?
5 0x39 This is used by the Download Play module.
6 0x2E This is used by the StreetPass CECD module to generate the CCMP key passed to nwm::CEC commands, when beginning StreetPass communications.
7 Invalid
8 0x36 Unknown, support for this keytype was added in newer a NATIVE_FIRM version. When the running NATIVE_FIRM doesn't support this keytype, the result is the same as using keytype7.
>=9 Invalid, same as keytype7.

Description

This is used to encrypt/decrypt data via the AES engine. AES-CCM is not supported by this command, PSPXI:EncryptSignDecryptVerifyAesCcm must be used for AES-CCM instead.