// ntddndis.h
typedef struct _OFFLOAD_ALGO_INFO {
ULONG algoIdentifier;
ULONG algoKeylen;
ULONG algoRounds;
} OFFLOAD_ALGO_INFO, *POFFLOAD_ALGO_INFO;
View the official Windows Driver Kit DDI referenceNo description available.
The OFFLOAD_ALGO_INFO structure specifies an algorithm used for a security association (SA).
algoIdentifierThe 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:
Specifies no confidentiality algorithm. Used for null encryption--that is, when a packet is not encrypted but its ESP header contains authentication information.
Specifies the DES algorithm.
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:
Specifies no integrity algorithm. Used when the ESP header contains no authentication information.
Specifies the keyed MD5 algorithm.
Specifies the SHA 1 algorithm.
algoKeylenThe 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.
algoRoundsThe number of transformation rounds that the encryption algorithm performs.
Note This member is only used for IPsec Offload Version 1.
The OFFLOAD_ALGO_INFO structure specifies algorithm information in the IntegrityAlgo, ConfAlgo, and Reserved members of the OFFLOAD_SECURITY_ASSOCIATION structure.