5.3.4.3 GenDig - Data
Data from the Data zone slots can be included in the GenDig calculation. Data
are always included in 32-byte blocks and only the lowest block of a slot is included in
the GenDig calculation. The Nonce
command must be run prior to the
first GenDig
command to load a value into TempKey. If the slot requires
a random nonce, then the data must be generated by the Nonce
command
versus passing it into the device. Subsequent GenDig
commands will use
the value from the previous GenDig operation.
If a slot is set for NoMAC, then it is not allowed to use the output of this
GenDig in a MAC
command. If multiple GenDigs are run, if any slot has
NoMAC set, then the output in TempKey cannot be used in executing a MAC
command.
Opcode |
Mode |
KeyID(1) |
Data | Description |
---|---|---|---|---|
0x15 | 0x02 | 0x00 0[Slot] | — | Use data from slot # in the calculation. |
0x00 0[Slot] | 4 bytes | Use data from slot # in the calculation and other data when using a NoMAC key slot |
- KeyId specifies the Data zone slot to be used in the TempKey calculation. Only the lowest 32 bytes will be used.
Name | Size | Description |
---|---|---|
Response | 1 byte |
0x00 - If successful. Error code - If the command fails. |
- TempKey.Valid flag will be set to 1 if successful, otherwise it is 0.
- TempKey.GenDigData will be set to 1 indicating a DataZone slot was used in the calculation.
- TempKey.KeyID will set to the slot specified in the command.
- TempKey.NoMacFlag will be set to
0 if the
MAC
command is allowed and 1 if it is not.
Size | Parameters - MAC | Parameters - NoMAC |
---|---|---|
32 bytes | DATA.slot[KeyID] | DATA.slot[KeyID] |
4 byte | Opcode, Mode, KeyID = 0x15, 0x02, 0x0[Slot] 0x00 | OtherData[0:3] |
1 byte | SN[8] = Varies by vendor | SN[8] = Varies by vendor |
2 bytes | SN[0:1] = 0x01 0x23 | SN[0:1] = 0x01 0x23 |
25 bytes | All Zeros | All Zeros |
32 bytes | TempKey.Value | TempKey.Value |