PSPXI:EncryptDecryptAes: Difference between revisions

TimmSkiller (talk | contribs)
No edit summary
 
(11 intermediate revisions by 2 users not shown)
Line 46: Line 46:
|-
|-
| 2-5
| 2-5
| MAC
| Output IV / CTR: this is the IV/CTR which would be used if the crypto operation were to continue.
|}
|}
==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==
==Algorithm Types==
Line 90: Line 87:
| 1
| 1
| 0x2D
| 0x2D
| Used to generate the [[NWM_Services|local-WLAN]] CCMP key.
| Used to generate the UDS [[NWM_Services|local-WLAN]] CCMP key.
|-
|-
| 2
| 2
Line 106: Line 103:
| 5
| 5
| 0x39
| 0x39
| This is used by the [[Download Play]] module.
| This is used by the [[Download Play]] module for calculating a 32bit checksum over the entire UDS application data-fames, stored in the DLP data-frame header.
|-
|-
| 6
| 6
| 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
| Used by the [[Friend_Services|the friends module]] for [[Friend_Services#Approach_Contexts|ApproachContext]] encryption. See [[FRDU:GetMyApproachContext]].
Support for this keytype was added with the NATIVE_FIRM updated with [[2.2.0-X]]. When the running NATIVE_FIRM doesn't support this keytype, the result is the same as using keytype7.
|-
| 9
| 0x39
| This is used by the NFC module.
Support for this keytype was added with the NATIVE_FIRM updated with [[9.3.0-21|9.3.0-X]]. When the running NATIVE_FIRM doesn't support this keytype, the result is the same as using keytype7. Before selecting this keyslot, Process9 writes a keyY from the Process9 .(ro)data section(keydata is different for retail/dev units) to this keyslot. Once finished with crypto, Process9 restores the original keyY to this keyslot.
|-
| >=10
|
| 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.