20 #ifndef CRYPTOCONTEXT_H 21 #define CRYPTOCONTEXT_H 23 #include <commoncpp/config.h> 28 #define REPLAY_WINDOW_SIZE 64 40 #ifndef CRYPTOCONTEXTCTRL_H 45 #include <ccrtp/crypto/SrtpSymCrypto.h> 174 int32 masterKeyLength,
176 int32 masterSaltLength,
229 void srtpEncrypt(
RTPPacket* rtp, uint64 index, uint32 ssrc );
247 void srtpAuthenticate(
RTPPacket* rtp, uint32 roc, uint8* tag );
260 void deriveSrtpKeys(uint64 index);
274 uint64 guessIndex(uint16 newSeqNumber);
291 bool checkReplay(uint16 newSeqNumber);
302 void update( uint16 newSeqNumber );
353 CryptoContext* newCryptoContextForSSRC(uint32 ssrc,
int roc, int64 keyDerivRate);
365 int64 key_deriv_rate;
368 uint64 replay_window;
371 uint32 master_key_length;
372 uint32 master_key_srtp_use_nb;
373 uint32 master_key_srtcp_use_nb;
375 uint32 master_salt_length;
396 SrtpSymCrypto* cipher;
397 SrtpSymCrypto* f8Cipher;
The implementation for a SRTP cryptographic context.
Definition: CryptoContext.h:82
const int SrtpEncryptionTWOF8
Definition: CryptoContext.h:38
const int SrtpEncryptionAESF8
Definition: CryptoContext.h:36
const int SrtpAuthenticationNull
Definition: CryptoContext.h:30
A base class for both IncomingRTPPkt and OutgoingRTPPkt.
Definition: rtppkt.h:72
uint32 getSsrc() const
Get the SSRC of this SRTP Cryptograhic context.
Definition: CryptoContext.h:329
int32 getTagLength() const
Get the length of the SRTP authentication tag in bytes.
Definition: CryptoContext.h:310
uint32 getRoc() const
Get the Roll-Over-Counter.
Definition: CryptoContext.h:210
int32 getMkiLength() const
Get the length of the MKI in bytes.
Definition: CryptoContext.h:320
const int SrtpEncryptionTWOCM
Definition: CryptoContext.h:37
const int SrtpAuthenticationSkeinHmac
Definition: CryptoContext.h:32
const int SrtpAuthenticationSha1Hmac
Definition: CryptoContext.h:31
const int SrtpEncryptionAESCM
Definition: CryptoContext.h:35
void setRoc(uint32 r)
Set the Roll-Over-Counter.
Definition: CryptoContext.h:198
const int SrtpEncryptionNull
Definition: CryptoContext.h:34