Parameters that the BBM Enterprise
key exchange uses
BBM Enterprise
key exchange usesThe description of the
BBM Enterprise
key exchange uses the following
labels:
Parameter | Description |
---|---|
A, B | The two key exchange participants (A initiator, B
recipient) |
X A , XB | Versions of X belonging to A and B |
PIN AB | BlackBerry PIN value for A and B |
Version AB | The highest supported protocol version by each
party |
S AB | Public portion of EC-SPEKE exchange
values |
S' AB | Private portion of EC-SPEKE exchange
values |
Ksign AB | Public portion of signing key |
K'sign AB | Private portion of signing key |
Kenc AB | Public portion of encryption key |
K'enc AB | Private portion of encryption key |
K enc | Symmetric encryption key protecting the
confidentiality of the key exchange |
K mac | Symmetric key protecting the integrity of the key
exchange |
nonce | Initialization Vector nonce associated with
encryption using K enc |
ENCMAC {K enc , Kmac , IV} (data) | Symmetric encryption with K enc followed by the addition of a MAC of the ciphertext
with Kmac |
DECMAC {K enc , Kmac , IV} (data) | The inverse of ENCMAC: verification of the MAC
with K mac , followed by decryption of the
authenticated ciphertext using Kenc |
KDF (aux, secret) | A standard KDF function |
EC-SPEKE-GEN (secret) | Generates a non-deterministic key pair based on a
shared secret |
EC-DH (private, public) | Generates a raw shared secret with ECDH |
EC-GEN () | Generates a new random Elliptic Curve key
pair |
K proof | A symmetric key used for proving possession of
the private key |
EC-SIGN {secret} (data) | A public key signature on a hash using
ECDSA |
MAC {secret} (data) | Calculates a MAC keyed with secret on
data |
T3, T4 | Message authentication tags for messages #3 and
#4 |
SS AB | The EC-SPEKE shared secret value between A and
B |
F | The prefix value used for cryptographic
separation between usages of the same key between different BBM applications, protocol versions, and
sessions |
S | Shared secrets, shared in-band out-of-band (for
details, see Key exchange process) |
|| | Indicates concatenation |
(X, Y) | Indicates separation of concatenated
values |