Struct:ttGenericKey

Jump to: navigation, search
#include trsecapi.h
 
typedef struct tsGenericKey
{
    ttUser8BitPtr keyDataPtr;
    int keyRounds;
    ttUser32Bit keyBits;
#if (defined(TM_IPSEC_USE_SW_CRYPTOENGINE) || define(TM_USE_PPP_MSCHAP))
    union
    {
        void TM_FAR * keySchedulePointer;
        void TM_FAR * keyContextPointer;
    } schd_context_ptr;
    union
    {
        ttUser16Bit keyScheduleLength;
        ttUser16Bit keyContextLength;
    } schd_context_len;
#define keySchedulePtr schd_context_ptr.keySchedulePointer
#define keyContextPtr schd_context_ptr.keyContextPointer
#define keyScheduleLen schd_context_len.keyScheduleLength
#define keyContextLen schd_context_len.keyContextLength
#endif /*TM_IPSEC_USE_SW_CRYPTOENGINE|| TM_USE_PPP_MSCHAP */
} ttGenericKey;
 
typedef ttGenericKey * ttGenericKeyPtr ;

Structure Description

ttGenericKey holds both the raw key data and the schedule data in encryption algorithm or context data in authentication algorithm. If TM_IPSEC_USE_SW_CRYPTOENGINE is not defined (i.e. use hardware accelerator), we don't need to maintain the schedule (or context)


Members

  • keyDataPtr
    Raw key data
  • keySchedulePtr
    Schedule data pointer for encryption algorithm
  • keyContextPtr
    Context data pointer for authentication algorithm. keySchedulePtr and keyContextPtr are unioned together in union schd_context_ptr
  • keyRounds
    Key rounds
  • keyBits
    Raw key length measured in bits
  • keyScheduleLen
    Schedule data length for encryption algorithm
  • keyContextLen
    Context data length for authentication algorithm. keyScheduleLen and keyContextLen are unioned together in union schd_context_len.