Data Authentication Functions

DAA is widely used in applications to detect both intentional and accidental unauthorized data modifications. DAA specification can be found in [FIPS PUB 113].

The Intel IPP Data Authentication (DAA) primitive functions are designed for applications to use various DAA schemes based on the set of symmetric cryptography functions described in the Symmetric Cryptography Primitive Functions.

The implementation of each DAA scheme is presented as a set of primitive functions.

The full list of Intel IPP DAA Functions is given is Table “Intel IPP Data Authentication Functions”.

Intel IPP Data Authentication Functions  

Function Base Name

Operation

DAADESGetSize

Gets the size of the IppsDAADESState context.

DAADESInit

Initializes user-supplied memory as IppsDAADESState context for future use.

DAADESUpdate

Digests the current input message stream of the specified length.

DAADESFinal

Completes computation of the DAC value.

DAADESMessageDigest

Computes the DAC value of the message.

DAATDESGetSize

Gets the size of IppsDAATDESState context.

DAATDESInit

Initializes user-supplied memory as IppsDAATDESState context for future use.

DAATDESUpdate

Digests the current input message stream of the specified length.

DAATDESFinal

Completes computation of the DAC value.

DAATDESMessageDigest

Computes the DAC value of the message.

DAARijndael128GetSize

Gets the size of the IppsDAARijndael128State context.

DAARijndael128Init, DAASafeRijndael128Init

Initialize user-supplied memory as IppsDAARijndael128State context for future use.

DAARijndael128Update

Digests the current input message stream of the specified length.

DAARijndael128Final

Completes computation of the DAC value.

DAARijndael128MessageDigest

Computes the DAC value of the message.

DAARijndael192GetSize

Gets the size of the IppsDAARijndael192State context.

DAARijndael192Init

Initializes user-supplied memory as IppsDAARijndael192State context for future use.

DAARijndael192Update

Digests the current input message stream of the specified length.

DAARijndael192Final

Completes computation of the DAC value.

DAARijndael192MessageDigest

Computes the DAC value of the message.

DAARijndae256GetSize

Gets the size of the IppsDAARijndael256State context.

DAARijndael256Init

Initializes user-supplied memory as IppsDAARijndael256State context for future use.

DAARijndael256Update

Digests the current input message stream of the specified length.

DAARijndael256Final

Completes computation of the DAC value.

DAARijndael256MessageDigest

Computes the DAC value of the message.

DAABlowfishGetSize

Gets the size of the IppsDAABlowfishState context.

DAABlowfishInit

Initializes user-supplied memory as IppsDAABlowfishState context for future use.

DAABlowfishUpdate

Digests the current input message stream of the specified length.

DAABlowfishFinal

Completes computation of the DAC value.

DAABlowfishMessageDigest

Computes the DAC value of the message.

DAATwofishGetSize

Gets the size of the IppsDAATwofishState context.

DAATwofishInit

Initializes user-supplied memory as IppsDAATwofishState context for future use.

DAATwofishUpdate

Digests the current input message stream of the specified length.

DAATwofishFinal

Completes computation of the DAC value.

DAATwofishMessageDigest

Computes the DAC value of the message.

The primitive implementing a DAA scheme uses the context as the operational vehicle to carry all necessary variables to manage computation of the chaining digest value. For example, the primitive implementing the DAA scheme based on the Rijndael128 block cipher uses ippsDAARijndael128 context.

The function Init (DAARijndael128Init, DAADESInit, and others) initializes the context and sets up the specified initialization vectors. Once initialized, the function Update (DAARijndael128Update, DAADESUpdate, and others) digests the input message stream with the selected hash algorithm till it exhausts all message blocks. The function Final (DAARijndael128Final, DAADESFinal, and others) is designed to pad the partial message block into a final message block with the specified padding scheme, and further uses the hash algorithm to transform the final block into a message digest value.

The following example illustrates how the application code can apply an implemented DAA based on the Rijndael128 block cipher to digest the input message stream:

See Also

Submit feedback on this help topic

Copyright © 2000 - 2010, Intel Corporation. All rights reserved.