libdrmconf 0.12.1
A library to program DMR radios.
Loading...
Searching...
No Matches
RD5RCodeplug::EncryptionElement Class Reference

Implements the encoding/decoding of encryption keys for the RD-5R radio. More...

#include <rd5r_codeplug.hh>

Inheritance diagram for RD5RCodeplug::EncryptionElement:
Collaboration diagram for RD5RCodeplug::EncryptionElement:

Public Member Functions

 EncryptionElement (uint8_t *ptr)
 Constructor.
 
bool isBasicKeySet (unsigned n) const
 
QByteArray basicKey (unsigned n) const
 
void setBasicKey (unsigned n, const QByteArray &key)
 

Detailed Description

Implements the encoding/decoding of encryption keys for the RD-5R radio.

Note
The RD5R only supports a single basic DMR encryption key with a fixed value!

Encoding of encryption keys (size: 0x00088):

       7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0   7   6   5   4   3   2   1   0
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0000 | Privacy Type, 0=None, 1=basic | Unused, set to 0x00           | Key bitmap                                                    |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0004 | Unused set to 0x00000000                                                                                                      |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0008 | Key 01, 32bit, 0xffff=off                                                                                                     |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000c | Key 01 copy, 32bit, 0xffff=off                                                                                                |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0008 | Key 02, 32bit, 0xffff=off                                                                                                     |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
000c | Key 02 copy, 32bit, 0xffff=off                                                                                                |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
      ...                                                                                                                         ...
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0080 | Key 16, 32bit, 0xffff=off                                                                                                     |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
0084 | Key 16 copy, 32bit, 0xffff=off                                                                                                |
     +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+

The documentation for this class was generated from the following files: