Request
Index Word
|
Description
|
0
|
Header code [0x00470104]
|
1
|
Output buffer size
|
2
|
Input buffer size
|
3
|
Block size
|
4
|
Nonce size, size 12 is used if this is >12.
|
5
|
(inputbufsize<<4) | 10
|
6
|
Input encrypted data buffer ptr
|
7
|
(outputbufsize<<4) | 12
|
8
|
Output cleartext data buffer ptr
|
Response
Index Word
|
Description
|
0
|
Header code
|
1
|
Result code
|
Description
This decrypts the input data with AES-CCM using keytype2, when the input noncesize is <12 the low 2-bits are cleared in the noncesize. The 12-byte nonce buffer used by NS is cleared to all-zero, then the nonce from inputbuf+0 with the noncesize is copied to this nonce buffer. NS then uses PS:EncryptSignDecryptVerifyAesCcm with keytype2 and with the above nonce buffer, where the inputptr is inputbuf+noncesize, outputptr is outputbuf+0, and size is inputbuffersize - noncesize - 16.
After decryption, NS copies the data at outbuf+blocksize to outbuf+blocksize+noncesize, with size inputbuffersize-blocksize-16. NS then copies the nonce from inputbuf+0 with the noncesize, to outbuf+blocksize.