PSPXI:EncryptDecryptAes: Difference between revisions
No edit summary |
TimmSkiller (talk | contribs) No edit summary |
||
(20 intermediate revisions by 2 users not shown) | |||
Line 15: | Line 15: | ||
|- | |- | ||
| 6 | | 6 | ||
| Algorithm Type (0..5) | | u8 Algorithm Type (0..5) | ||
|- | |- | ||
| 7 | | 7 | ||
| Key Type (0..7) | | u8 Key Type (0..7) | ||
|- | |- | ||
| 8 | | 8 | ||
Line 46: | Line 46: | ||
|- | |- | ||
| 2-5 | | 2-5 | ||
| | | Output IV / CTR: this is the IV/CTR which would be used if the crypto operation were to continue. | ||
|} | |} | ||
==Algorithm Types== | ==Algorithm Types== | ||
Line 81: | Line 78: | ||
|- | |- | ||
! Type | ! Type | ||
! [[AES]] Engine Keyslot | |||
! Description | ! Description | ||
|- | |- | ||
| 0 | | 0 | ||
| Used to decrypt the SSL client cert/ | | 0x0D | ||
| Used to decrypt the SSL client cert/private-key stored in [[ClCertA]]. | |||
|- | |- | ||
| 1 | | 1 | ||
| Used to | | 0x2D | ||
| Used to generate the UDS [[NWM_Services|local-WLAN]] CCMP key. | |||
|- | |- | ||
| 2 | | 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 | | 3 | ||
| 0x38 | |||
| [[SpotPass|BOSS]] | | [[SpotPass|BOSS]] | ||
|- | |- | ||
| 4 | | 4 | ||
| 0x32 | |||
| ? | | ? | ||
|- | |- | ||
| 5 | | 5 | ||
| | | 0x39 | ||
| 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 | ||
| 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= | |||
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. |