EXT0009: DH Key Exchange
- Extension dependencies: none
- Document status: Approved (2020-02-01)
Describes exchanging public key parameters using Diffie-Hellman algorithm for establishing encrypted sessions.
Reference: Diffie-Hellman key exchange
Commands
Section titled “Commands”0013 Public Data for New Shared Secret
Section titled “0013 Public Data for New Shared Secret”Exchange parameters and public keys. Can be sent anytime; if during encrypted session, subsequent exchanges use new key.
Request:
<TID> 3900 <LEN> 0013 <GLEN> <GKEY> <PLEN> <PKEY> <SKEY>Response:
<TID> 3900 <LEN> 0013 <DKEY>| Field | Length | Description |
|---|---|---|
GLEN | 2 bytes | Length of GKEY |
GKEY | GLEN | Radix g |
PLEN | 2 bytes | Length of PKEY |
PKEY | PLEN | Module p |
SKEY | variable | Server public key A |
DKEY | variable | Device public key B |
Errors:
| Code | Description |
|---|---|
0010 | GLEN/PLEN too small |
0011 | GLEN/PLEN too big |
0012 | Shared secret too short |
0013 | Shared secret too long |
0014 | Key exchange calculation error |