## crypto crypto — Crypto transforms implementation for GCrypt. |

## Stability Level

Stable, unless otherwise indicated

## Functions

xmlSecCryptoDLFunctionsPtr | xmlSecCryptoGetFunctions_gcrypt ()
int | xmlSecGCryptInit ()
int | xmlSecGCryptShutdown ()
int | xmlSecGCryptKeysMngrInit ()
int | xmlSecGCryptGenerateRandom ()
xmlSecKeyDataId | xmlSecGCryptKeyDataAesGetKlass ()
int | xmlSecGCryptKeyDataAesSet ()
xmlSecTransformId | xmlSecGCryptTransformAes128CbcGetKlass ()
xmlSecTransformId | xmlSecGCryptTransformAes192CbcGetKlass ()
xmlSecTransformId | xmlSecGCryptTransformAes256CbcGetKlass ()
xmlSecTransformId | xmlSecGCryptTransformKWAes128GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformKWAes192GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformKWAes256GetKlass ()
xmlSecKeyDataId | xmlSecGCryptKeyDataDesGetKlass ()
int | xmlSecGCryptKeyDataDesSet ()
xmlSecTransformId | xmlSecGCryptTransformDes3CbcGetKlass ()
xmlSecTransformId | xmlSecGCryptTransformKWDes3GetKlass ()
xmlSecKeyDataId | xmlSecGCryptKeyDataDsaGetKlass ()
int | xmlSecGCryptKeyDataDsaAdoptKey ()
int | xmlSecGCryptKeyDataDsaAdoptKeyPair ()
gcry_sexp_t | xmlSecGCryptKeyDataDsaGetPublicKey ()
gcry_sexp_t | xmlSecGCryptKeyDataDsaGetPrivateKey ()
xmlSecTransformId | xmlSecGCryptTransformDsaSha1GetKlass ()
xmlSecKeyDataId | xmlSecGCryptKeyDataHmacGetKlass ()
int | xmlSecGCryptKeyDataHmacSet ()
xmlSecTransformId | xmlSecGCryptTransformHmacMd5GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformHmacRipemd160GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformHmacSha1GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformHmacSha256GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformHmacSha384GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformHmacSha512GetKlass ()
xmlSecKeyDataId | xmlSecGCryptKeyDataRsaGetKlass ()
int | xmlSecGCryptKeyDataRsaAdoptKey ()
int | xmlSecGCryptKeyDataRsaAdoptKeyPair ()
gcry_sexp_t | xmlSecGCryptKeyDataRsaGetPublicKey ()
gcry_sexp_t | xmlSecGCryptKeyDataRsaGetPrivateKey ()
xmlSecTransformId | xmlSecGCryptTransformRsaMd5GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformRsaRipemd160GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformRsaSha1GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformRsaSha256GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformRsaSha384GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformRsaSha512GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformSha1GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformSha256GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformSha384GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformSha512GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformMd5GetKlass ()
xmlSecTransformId | xmlSecGCryptTransformRipemd160GetKlass ()

## Types and Values

#define | xmlSecGCryptKeyDataAesId
#define | xmlSecGCryptTransformAes128CbcId
#define | xmlSecGCryptTransformAes192CbcId
#define | xmlSecGCryptTransformAes256CbcId
#define | xmlSecGCryptTransformKWAes128Id
#define | xmlSecGCryptTransformKWAes192Id
#define | xmlSecGCryptTransformKWAes256Id
#define | xmlSecGCryptKeyDataDesId
#define | xmlSecGCryptTransformDes3CbcId
#define | xmlSecGCryptTransformKWDes3Id
#define | xmlSecGCryptKeyDataDsaId
#define | xmlSecGCryptTransformDsaSha1Id
#define | xmlSecGCryptKeyDataHmacId
#define | xmlSecGCryptTransformHmacMd5Id
#define | xmlSecGCryptTransformHmacRipemd160Id
#define | xmlSecGCryptTransformHmacSha1Id
#define | xmlSecGCryptTransformHmacSha256Id
#define | xmlSecGCryptTransformHmacSha384Id
#define | xmlSecGCryptTransformHmacSha512Id
#define | xmlSecGCryptKeyDataRsaId
#define | xmlSecGCryptTransformRsaMd5Id
#define | xmlSecGCryptTransformRsaRipemd160Id
#define | xmlSecGCryptTransformRsaSha1Id
#define | xmlSecGCryptTransformRsaSha256Id
#define | xmlSecGCryptTransformRsaSha384Id
#define | xmlSecGCryptTransformRsaSha512Id
#define | xmlSecGCryptTransformSha1Id
#define | xmlSecGCryptTransformSha256Id
#define | xmlSecGCryptTransformSha384Id
#define | xmlSecGCryptTransformSha512Id
#define | xmlSecGCryptTransformMd5Id
#define | xmlSecGCryptTransformRipemd160Id

## Description

## Functions

### xmlSecCryptoGetFunctions_gcrypt ()

    xmlSecCryptoDLFunctionsPtr
    xmlSecCryptoGetFunctions_gcrypt (void);

Gets the pointer to xmlsec-gcrypt functions table.

#### Returns

the xmlsec-gcrypt functions table or NULL if an error occurs.

### xmlSecGCryptInit ()

    int
    xmlSecGCryptInit (void);

XMLSec library specific crypto engine initialization.

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptShutdown ()

    int
    xmlSecGCryptShutdown (void);

XMLSec library specific crypto engine shutdown.

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptKeysMngrInit ()

    int
    xmlSecGCryptKeysMngrInit (xmlSecKeysMngrPtr mngr);

Adds GCrypt specific key data stores in keys manager.

#### Parameters

mngr | the pointer to keys manager. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptGenerateRandom ()

    int
    xmlSecGCryptGenerateRandom (xmlSecBufferPtr buffer,
                                xmlSecSize size);

Generates `size` random bytes and puts result in `buffer` .

#### Parameters

buffer | the destination buffer. |
size | the numer of bytes to generate. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptKeyDataAesGetKlass ()

    xmlSecKeyDataId
    xmlSecGCryptKeyDataAesGetKlass (void);

The AES key data klass.

#### Returns

AES key data klass.

### xmlSecGCryptKeyDataAesSet ()

    int
    xmlSecGCryptKeyDataAesSet (xmlSecKeyDataPtr data,
                               const xmlSecByte *buf,
                               xmlSecSize bufSize);

Sets the value of AES key data.

#### Parameters

data | the pointer to AES key data. |
buf | the pointer to key value. |
bufSize | the key value size (in bytes). |

#### Returns

0 on success or a negative value if an error occurs.

### xmlSecGCryptTransformAes128CbcGetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformAes128CbcGetKlass
                                   (void);

AES 128 CBC encryption transform klass.

#### Returns

pointer to AES 128 CBC encryption transform.

### xmlSecGCryptTransformAes192CbcGetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformAes192CbcGetKlass
                                   (void);

AES 192 CBC encryption transform klass.

#### Returns

pointer to AES 192 CBC encryption transform.

### xmlSecGCryptTransformAes256CbcGetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformAes256CbcGetKlass
                                   (void);

AES 256 CBC encryption transform klass.

#### Returns

pointer to AES 256 CBC encryption transform.

### xmlSecGCryptTransformKWAes128GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformKWAes128GetKlass (void);

The AES-128 kew wrapper transform klass.

#### Returns

AES-128 kew wrapper transform klass.

### xmlSecGCryptTransformKWAes192GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformKWAes192GetKlass (void);

The AES-192 kew wrapper transform klass.

#### Returns

AES-192 kew wrapper transform klass.

### xmlSecGCryptTransformKWAes256GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformKWAes256GetKlass (void);

The AES-256 kew wrapper transform klass.

#### Returns

AES-256 kew wrapper transform klass.

### xmlSecGCryptKeyDataDesGetKlass ()

    xmlSecKeyDataId
    xmlSecGCryptKeyDataDesGetKlass (void);

The DES key data klass.

#### Returns

DES key data klass.

### xmlSecGCryptKeyDataDesSet ()

    int
    xmlSecGCryptKeyDataDesSet (xmlSecKeyDataPtr data,
                               const xmlSecByte *buf,
                               xmlSecSize bufSize);

Sets the value of DES key data.

#### Parameters

data | the pointer to DES key data. |
buf | the pointer to key value. |
bufSize | the key value size (in bytes). |

#### Returns

0 on success or a negative value if an error occurs.

### xmlSecGCryptTransformDes3CbcGetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformDes3CbcGetKlass (void);

Triple DES CBC encryption transform klass.

#### Returns

pointer to Triple DES encryption transform.

### xmlSecGCryptTransformKWDes3GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformKWDes3GetKlass (void);

The Triple DES key wrapper transform klass.

#### Returns

Triple DES key wrapper transform klass.

### xmlSecGCryptKeyDataDsaGetKlass ()

    xmlSecKeyDataId
    xmlSecGCryptKeyDataDsaGetKlass (void);

The DSA key data klass.

#### Returns

pointer to DSA key data klass.

### xmlSecGCryptKeyDataDsaAdoptKey ()

    int
    xmlSecGCryptKeyDataDsaAdoptKey (xmlSecKeyDataPtr data,
                                    gcry_sexp_t dsa_key);

Sets the value of DSA key data.

#### Parameters

data | the pointer to DSA key data. |
dsa_key | the pointer to GCrypt DSA key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptKeyDataDsaAdoptKeyPair ()

    int
    xmlSecGCryptKeyDataDsaAdoptKeyPair (xmlSecKeyDataPtr data,
                                        gcry_sexp_t pub_key,
                                        gcry_sexp_t priv_key);

Sets the value of DSA key data.

#### Parameters

data | the pointer to DSA key data. |
pub_key | the pointer to GCrypt DSA pub key. |
priv_key | the pointer to GCrypt DSA priv key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptKeyDataDsaGetPublicKey ()

    gcry_sexp_t
    xmlSecGCryptKeyDataDsaGetPublicKey (xmlSecKeyDataPtr data);

Gets the GCrypt DSA public key from DSA key data.

#### Parameters

data | the pointer to DSA key data. |

#### Returns

pointer to GCrypt public DSA key or NULL if an error occurs.

### xmlSecGCryptKeyDataDsaGetPrivateKey ()

    gcry_sexp_t
    xmlSecGCryptKeyDataDsaGetPrivateKey (xmlSecKeyDataPtr data);

Gets the GCrypt DSA private key from DSA key data.

#### Parameters

data | the pointer to DSA key data. |

#### Returns

pointer to GCrypt private DSA key or NULL if an error occurs.

### xmlSecGCryptTransformDsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformDsaSha1GetKlass (void);

The DSA-SHA1 signature transform klass.

#### Returns

DSA-SHA1 signature transform klass.

### xmlSecGCryptKeyDataHmacGetKlass ()

    xmlSecKeyDataId
    xmlSecGCryptKeyDataHmacGetKlass (void);

The HMAC key data klass.

#### Returns

HMAC key data klass.

### xmlSecGCryptKeyDataHmacSet ()

    int
    xmlSecGCryptKeyDataHmacSet (xmlSecKeyDataPtr data,
                                const xmlSecByte *buf,
                                xmlSecSize bufSize);

Sets the value of HMAC key data.

#### Parameters

data | the pointer to HMAC key data. |
buf | the pointer to key value. |
bufSize | the key value size (in bytes). |

#### Returns

0 on success or a negative value if an error occurs.

### xmlSecGCryptTransformHmacMd5GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformHmacMd5GetKlass (void);

The HMAC-MD5 transform klass.

#### Returns

the HMAC-MD5 transform klass.

### xmlSecGCryptTransformHmacRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformHmacRipemd160GetKlass
                                   (void);

The HMAC-RIPEMD160 transform klass.

#### Returns

the HMAC-RIPEMD160 transform klass.

### xmlSecGCryptTransformHmacSha1GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformHmacSha1GetKlass (void);

The HMAC-SHA1 transform klass.

#### Returns

the HMAC-SHA1 transform klass.

### xmlSecGCryptTransformHmacSha256GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformHmacSha256GetKlass
                                   (void);

The HMAC-SHA256 transform klass.

#### Returns

the HMAC-SHA256 transform klass.

### xmlSecGCryptTransformHmacSha384GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformHmacSha384GetKlass
                                   (void);

The HMAC-SHA384 transform klass.

#### Returns

the HMAC-SHA384 transform klass.

### xmlSecGCryptTransformHmacSha512GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformHmacSha512GetKlass
                                   (void);

The HMAC-SHA512 transform klass.

#### Returns

the HMAC-SHA512 transform klass.

### xmlSecGCryptKeyDataRsaGetKlass ()

    xmlSecKeyDataId
    xmlSecGCryptKeyDataRsaGetKlass (void);

The GCrypt RSA key data klass.

#### Returns

pointer to GCrypt RSA key data klass.

### xmlSecGCryptKeyDataRsaAdoptKey ()

    int
    xmlSecGCryptKeyDataRsaAdoptKey (xmlSecKeyDataPtr data,
                                    gcry_sexp_t rsa_key);

Sets the value of RSA key data.

#### Parameters

data | the pointer to RSA key data. |
rsa_key | the pointer to GCrypt RSA key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptKeyDataRsaAdoptKeyPair ()

    int
    xmlSecGCryptKeyDataRsaAdoptKeyPair (xmlSecKeyDataPtr data,
                                        gcry_sexp_t pub_key,
                                        gcry_sexp_t priv_key);

Sets the value of RSA key data.

#### Parameters

data | the pointer to RSA key data. |
pub_key | the pointer to GCrypt RSA pub key. |
priv_key | the pointer to GCrypt RSA priv key. |

#### Returns

0 on success or a negative value otherwise.

### xmlSecGCryptKeyDataRsaGetPublicKey ()

    gcry_sexp_t
    xmlSecGCryptKeyDataRsaGetPublicKey (xmlSecKeyDataPtr data);

Gets the GCrypt RSA public key from RSA key data.

#### Parameters

data | the pointer to RSA key data. |

#### Returns

pointer to GCrypt public RSA key or NULL if an error occurs.

### xmlSecGCryptKeyDataRsaGetPrivateKey ()

    gcry_sexp_t
    xmlSecGCryptKeyDataRsaGetPrivateKey (xmlSecKeyDataPtr data);

Gets the GCrypt RSA private key from RSA key data.

#### Parameters

data | the pointer to RSA key data. |

#### Returns

pointer to GCrypt private RSA key or NULL if an error occurs.

### xmlSecGCryptTransformRsaMd5GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRsaMd5GetKlass (void);

The RSA-MD5 signature transform klass.

#### Returns

RSA-MD5 signature transform klass.

### xmlSecGCryptTransformRsaRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRsaRipemd160GetKlass
                                   (void);

The RSA-RIPEMD160 signature transform klass.

#### Returns

RSA-RIPEMD160 signature transform klass.

### xmlSecGCryptTransformRsaSha1GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRsaSha1GetKlass (void);

The RSA-SHA1 signature transform klass.

#### Returns

RSA-SHA1 signature transform klass.

### xmlSecGCryptTransformRsaSha256GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRsaSha256GetKlass
                                   (void);

The RSA-SHA256 signature transform klass.

#### Returns

RSA-SHA256 signature transform klass.

### xmlSecGCryptTransformRsaSha384GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRsaSha384GetKlass
                                   (void);

The RSA-SHA384 signature transform klass.

#### Returns

RSA-SHA384 signature transform klass.

### xmlSecGCryptTransformRsaSha512GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRsaSha512GetKlass
                                   (void);

The RSA-SHA512 signature transform klass.

#### Returns

RSA-SHA512 signature transform klass.

### xmlSecGCryptTransformSha1GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformSha1GetKlass (void);

SHA-1 digest transform klass.

#### Returns

pointer to SHA-1 digest transform klass.

### xmlSecGCryptTransformSha256GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformSha256GetKlass (void);

SHA256 digest transform klass.

#### Returns

pointer to SHA256 digest transform klass.

### xmlSecGCryptTransformSha384GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformSha384GetKlass (void);

SHA384 digest transform klass.

#### Returns

pointer to SHA384 digest transform klass.

### xmlSecGCryptTransformSha512GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformSha512GetKlass (void);

SHA512 digest transform klass.

#### Returns

pointer to SHA512 digest transform klass.

### xmlSecGCryptTransformMd5GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformMd5GetKlass (void);

MD5 digest transform klass.

#### Returns

pointer to MD5 digest transform klass.

### xmlSecGCryptTransformRipemd160GetKlass ()

    xmlSecTransformId
    xmlSecGCryptTransformRipemd160GetKlass
                                   (void);

RIPEMD160 digest transform klass.

#### Returns

pointer to RIPEMD160 digest transform klass.

## Types and Values

### xmlSecGCryptKeyDataAesId

    #define             xmlSecGCryptKeyDataAesId

The AES key data klass.

### xmlSecGCryptTransformAes128CbcId

    #define             xmlSecGCryptTransformAes128CbcId

The AES128 CBC cipher transform klass.

### xmlSecGCryptTransformAes192CbcId

    #define             xmlSecGCryptTransformAes192CbcId

The AES192 CBC cipher transform klass.

### xmlSecGCryptTransformAes256CbcId

    #define             xmlSecGCryptTransformAes256CbcId

The AES256 CBC cipher transform klass.

### xmlSecGCryptTransformKWAes128Id

    #define             xmlSecGCryptTransformKWAes128Id

The AES 128 key wrap transform klass.

### xmlSecGCryptTransformKWAes192Id

    #define             xmlSecGCryptTransformKWAes192Id

The AES 192 key wrap transform klass.

### xmlSecGCryptTransformKWAes256Id

    #define             xmlSecGCryptTransformKWAes256Id

The AES 256 key wrap transform klass.

### xmlSecGCryptKeyDataDesId

    #define             xmlSecGCryptKeyDataDesId

The DES key data klass.

### xmlSecGCryptTransformDes3CbcId

    #define             xmlSecGCryptTransformDes3CbcId

The DES3 CBC cipher transform klass.

### xmlSecGCryptTransformKWDes3Id

    #define             xmlSecGCryptTransformKWDes3Id

The DES3 KW transform klass.

### xmlSecGCryptKeyDataDsaId

    #define             xmlSecGCryptKeyDataDsaId

The DSA key klass.

### xmlSecGCryptTransformDsaSha1Id

    #define             xmlSecGCryptTransformDsaSha1Id

The DSA SHA1 signature transform klass.

### xmlSecGCryptKeyDataHmacId

    #define             xmlSecGCryptKeyDataHmacId

`xmlSecGCryptKeyDataHmacId` is deprecated and should not be used in newly-written code.

The HMAC key klass.

### xmlSecGCryptTransformHmacMd5Id

    #define             xmlSecGCryptTransformHmacMd5Id

The HMAC with MD5 signature transform klass.

### xmlSecGCryptTransformHmacRipemd160Id

    #define             xmlSecGCryptTransformHmacRipemd160Id

The HMAC with RipeMD160 signature transform klass.

### xmlSecGCryptTransformHmacSha1Id

    #define             xmlSecGCryptTransformHmacSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecGCryptTransformHmacSha256Id

    #define             xmlSecGCryptTransformHmacSha256Id

The HMAC with SHA256 signature transform klass.

### xmlSecGCryptTransformHmacSha384Id

    #define             xmlSecGCryptTransformHmacSha384Id

The HMAC with SHA384 signature transform klass.

### xmlSecGCryptTransformHmacSha512Id

    #define             xmlSecGCryptTransformHmacSha512Id

The HMAC with SHA512 signature transform klass.

### xmlSecGCryptKeyDataRsaId

    #define             xmlSecGCryptKeyDataRsaId

The RSA key klass.

### xmlSecGCryptTransformRsaMd5Id

    #define             xmlSecGCryptTransformRsaMd5Id

The RSA-MD5 signature transform klass.

### xmlSecGCryptTransformRsaRipemd160Id

    #define             xmlSecGCryptTransformRsaRipemd160Id

The RSA-RIPEMD160 signature transform klass.

### xmlSecGCryptTransformRsaSha1Id

    #define             xmlSecGCryptTransformRsaSha1Id

The RSA-SHA1 signature transform klass.

### xmlSecGCryptTransformRsaSha256Id

    #define             xmlSecGCryptTransformRsaSha256Id

The RSA-SHA256 signature transform klass.

### xmlSecGCryptTransformRsaSha384Id

    #define             xmlSecGCryptTransformRsaSha384Id

The RSA-SHA384 signature transform klass.

### xmlSecGCryptTransformRsaSha512Id

    #define             xmlSecGCryptTransformRsaSha512Id

The RSA-SHA512 signature transform klass.

### xmlSecGCryptTransformSha1Id

    #define             xmlSecGCryptTransformSha1Id

The HMAC with SHA1 signature transform klass.

### xmlSecGCryptTransformSha256Id

    #define             xmlSecGCryptTransformSha256Id

The HMAC with SHA256 signature transform klass.

### xmlSecGCryptTransformSha384Id

    #define             xmlSecGCryptTransformSha384Id

The HMAC with SHA384 signature transform klass.

### xmlSecGCryptTransformSha512Id

    #define             xmlSecGCryptTransformSha512Id

The HMAC with SHA512 signature transform klass.

### xmlSecGCryptTransformMd5Id

    #define             xmlSecGCryptTransformMd5Id

The MD5 digest transform klass.

### xmlSecGCryptTransformRipemd160Id

    #define             xmlSecGCryptTransformRipemd160Id

The RIPEMD160 digest transform klass.