Protocol++® (Protocolpp®)  v5.6.2
ProtocolPP::jikeprf Class Reference

Public Member Functions

 jikeprf ()
 Standard constructor.
 
 ~jikeprf ()=default
 Standard deconstructor.
 
void get_prf (prf_id_t prf, jarray< uint8_t > &key, jarray< uint8_t > &data, std::shared_ptr< jarray< uint8_t >> &output)
 
void get_prfplus (prf_id_t prf, jarray< uint8_t > &key, jarray< uint8_t > &data, std::shared_ptr< jarray< uint8_t >> &output, uint32_t length)
 
 jikeprf (jikeprf &jikeprf)=delete
 
 jikeprf (const jikeprf &jikeprf)=delete
 

Member Function Documentation

◆ get_prf()

void ProtocolPP::jikeprf::get_prf ( prf_id_t  prf,
jarray< uint8_t > &  key,
jarray< uint8_t > &  data,
std::shared_ptr< jarray< uint8_t >> &  output 
)

Computes the hash result for PRF for IKEPRFv1 and IKEPRFv2

Parameters
prf- PRF function to use (MD5, SHA, SHA256, SHA384, SHA512, AES_XCBC_MAC, AES_CMAC depending on IKEPRF version)
key- key for the PRF function
data- data to hash
output- pointer to hold SKEYSEED the size of the HASH output

◆ get_prfplus()

void ProtocolPP::jikeprf::get_prfplus ( prf_id_t  prf,
jarray< uint8_t > &  key,
jarray< uint8_t > &  data,
std::shared_ptr< jarray< uint8_t >> &  output,
uint32_t  length 
)

Computes the keying material for IKEPRFv1 and IKEPRFv2

Parameters
prf- PRF function to use (MD5, SHA, SHA256, SHA384, SHA512, AES_XCBC_MAC, AES_CMAC depending on IKEPRF version)
key- Child SA key generated from the SKEYSEED (SKd) or the generated SKEYSEED if generating IKEV2 key material
data- Security Parameter Indexes (SPI) SPIi and SPIr (may include seconDGRAMd ephemeral secret SECRET2|SPIi|SPIr) or for IKEV2 key material, NONCES and SPIs (Ni|Nr|SPIi|SPIr) to generate IKE connection keys
output- pointer to hold generated data
length- length of the desired output data

The documentation for this class was generated from the following file: