20 #ifndef CRYPTOCONTEXT_H
21 #define CRYPTOCONTEXT_H
23 #include <commoncpp/config.h>
28 #define REPLAY_WINDOW_SIZE 64
40 #ifndef CRYPTOCONTEXTCTRL_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);
Implments the SRTP encryption modes as defined in RFC3711.
A base class for both IncomingRTPPkt and OutgoingRTPPkt.
int32 getMkiLength() const
Get the length of the MKI in bytes.
The implementation for a SRTP cryptographic context.
void setRoc(uint32 r)
Set the Roll-Over-Counter.
uint32 master_key_srtcp_use_nb
const int SrtpEncryptionAESF8
uint32 getRoc() const
Get the Roll-Over-Counter.
const int SrtpEncryptionTWOF8
uint32 master_salt_length
const int SrtpEncryptionTWOCM
const int SrtpAuthenticationSkeinHmac
const int SrtpEncryptionNull
int32 getTagLength() const
Get the length of the SRTP authentication tag in bytes.
const int SrtpAuthenticationSha1Hmac
Class which implements SRTP AES cryptographic functions.
uint32 getSsrc() const
Get the SSRC of this SRTP Cryptograhic context.
const int SrtpAuthenticationNull
uint32 master_key_srtp_use_nb
const int SrtpEncryptionAESCM