Skip Navigation

Parameters that the
BBM Enterprise
key exchange uses

The 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
, X
B
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
, K
mac
, IV} (data)
Symmetric encryption with K
enc
followed by the addition of a MAC of the ciphertext with K
mac
DECMAC {K
enc
, K
mac
, IV} (data)
The inverse of ENCMAC: verification of the MAC with K
mac
, followed by decryption of the authenticated ciphertext using K
enc
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