OFFLOAD_ALGO_INFO structure (ntddndis.h)
The OFFLOAD_ALGO_INFO structure specifies an algorithm used for a security association (SA).
Syntax
typedef struct _OFFLOAD_ALGO_INFO {
ULONG algoIdentifier;
ULONG algoKeylen;
ULONG algoRounds;
} OFFLOAD_ALGO_INFO, *POFFLOAD_ALGO_INFO;
Members
algoIdentifier
The confidentiality or integrity algorithm used for the SA.
If the algorithm is a confidentiality algorithm (that is, if the OFFLOAD_ALGO_INFO structure is specifying a ConfAlgo), algoIdentifier can be any of the following values:
OFFLOAD_IPSEC_CONF_NONE
Specifies no confidentiality algorithm. Used for null encryption--that is, when a packet is not encrypted but its ESP header contains authentication information.
OFFLOAD_IPSEC_CONF_DES
Specifies the DES algorithm.
OFFLOAD_IPSEC_CONF_3_DES
Specifies the triple-DES algorithm.
If the algorithm is an integrity algorithm (that is, if the OFFLOAD_ALGO_INFO structure is specifying an IntegrityAlgo), algoIdentifier can be one of the following values:
OFFLOAD_IPSEC_INTEGRITY_NONE
Specifies no integrity algorithm. Used when the ESP header contains no authentication information.
OFFLOAD_IPSEC_INTEGRITY_MD5
Specifies the keyed MD5 algorithm.
OFFLOAD_IPSEC_INTEGRITY_SHA
Specifies the SHA 1 algorithm.
algoKeylen
The length, in bytes, of the key for the algorithm. The key is contained in the buffer at KeyMat¸ which is the variable-length array specified in the OFFLOAD_IPSEC_ADD_SA structure.
If only an integrity algorithm ( IntegrityAlgo) is specified in the OFFLOAD_SECURITY_ASSOCIATION structure, algoKeylen indicates the length of the key for the integrity algorithm, starting from the beginning of the buffer at KeyMat.
If both an integrity and a confidentiality algorithm ( IntegrityAlgo and ConfAlgo) are specified, algoKeylen for the integrity algorithm indicates the length of the key for the integrity algorithm, starting from the beginning of the buffer at KeyMat. The algoKeylen for the confidentiality algorithm, in this case, indicates the length of the key for the confidentiality algorithm, starting the from the end of the key for the integrity algorithm.
algoRounds
The number of transformation rounds that the encryption algorithm performs.
Remarks
The OFFLOAD_ALGO_INFO structure specifies algorithm information in the IntegrityAlgo, ConfAlgo, and Reserved members of the OFFLOAD_SECURITY_ASSOCIATION structure.
Requirements
Requirement | Value |
---|---|
Header | ntddndis.h (include Ndis.h) |