Difference between revisions of "PSPXI:EncryptSignDecryptVerifyAesCcm"

From 3dbrew
Jump to navigation Jump to search
(Created page with "=Request= {| class="wikitable" border="1" |- ! Index Word ! Description |- | 0 | Header code [0x00050284] |- | 1 | Input buffer size |- | 2 | Output buffer size |- | 3 | Total ...")
 
 
Line 59: Line 59:
  
 
=MAC=
 
=MAC=
For AES-CCM encryption, the output MAC is written to outputbufptr+(outputbuf_size-16). For AES-CCM decryption, the input MAC is located at inputbufptr+(inputbuf_size-16). For AES-CCM decryption when the calculated MAC is invalid, error-code 0xC9010401 is returned.
+
For AES-CCM encryption, the output MAC is written to outputbufptr+(totaldatasize). For AES-CCM decryption, the input MAC is located at inputbufptr+(totalassocdata+totaldatasize). For AES-CCM decryption when the calculated MAC is invalid, error-code 0xC9010401 is returned.
  
 
=Description=
 
=Description=
 
This is similar to [[PSPXI:EncryptDecryptAes]], except this command is only used for AES-CCM. For AES-CCM encryption, the output buffer size must include the MAC, for AES-CCM decryption the input buffer size must include the MAC.
 
This is similar to [[PSPXI:EncryptDecryptAes]], except this command is only used for AES-CCM. For AES-CCM encryption, the output buffer size must include the MAC, for AES-CCM decryption the input buffer size must include the MAC.

Latest revision as of 05:11, 31 May 2013

Request[edit]

Index Word Description
0 Header code [0x00050284]
1 Input buffer size
2 Output buffer size
3 Total CBC-MAC associated data, in bytes.
4 Total data size, in bytes.
5 MAC size in bytes.
6-8 Nonce
9 Algorithm Type (0..5)
10 Key Type (0..7)
11 (inbufsize<<8) | 0x4
12 Source pointer
13 (outbufsize<<8) | 0x14
14 Destination pointer

Response[edit]

Index Word Description
0 Header code
1 Result code

MAC[edit]

For AES-CCM encryption, the output MAC is written to outputbufptr+(totaldatasize). For AES-CCM decryption, the input MAC is located at inputbufptr+(totalassocdata+totaldatasize). For AES-CCM decryption when the calculated MAC is invalid, error-code 0xC9010401 is returned.

Description[edit]

This is similar to PSPXI:EncryptDecryptAes, except this command is only used for AES-CCM. For AES-CCM encryption, the output buffer size must include the MAC, for AES-CCM decryption the input buffer size must include the MAC.