Function |
|
Decrypt bufferRF |
Purpose |
|
The decryption of payload data encrypted by encryptBufferRF |
Syntax |
|
void decryptBufferRF(uns8 X) |
Parameters |
|
X.0-5: Number of 16 B blocks to be decrypted (1 to 4) X.6: • 0 User key specified by setUserKey is used • 1 User key in bufferINFO[0 to 15] is used |
Input values |
|
– |
Return value |
|
– |
Output values |
|
The specified number of blocks in bufferRF is decrypted by the User key. |
Preconditions |
|
• The same User key must be used as the one used for preceding encryption. • For networking as well as non-networking communication. • It is not necessary to decrypt data within IQRF wireless. Decryption can alternatively be done e.g. by a superordinate system. |
Remarks |
|
• If blocks < 4, the rest of bufferRF remains unchanged. • Industry standard AES-128 b ECB decryption is used. |
Side effects |
|
– |
See also |
|
|
Example 1 |
|
bufferINFO[0 to 15] = ...; setUserKey(); // Must be the same key as for encryption ... if (RFRXpacket()) { decryptBufferRF(2); // 32 B decrypted, the rest remains unchanged ... // User key defined by setUserKey() } |
Example 2 |
|
bufferINFO[0 to 15] = ...; // Must be the same key as for encryption ... if (RFRXpacket()) { decryptBufferRF(0b01000000 | 2); // 32 B decrypted, the rest remains unchanged ... // User key from bufferINFO } |