'Returns the HMAC algorithm to use with the KDF.
:return:
A unicode string of one of the following: "md2", "md5", "sha1",
"sha224", "sha256", "sha384", "sha512"'

@property
def kdf_hmac(self):

    encryption_algo = self[u'algorithm'].native
    if (encryption_algo == u'pbes2'):
        return self[u'parameters'][u'key_derivation_func'][u'parameters'][u'prf'][u'algorithm'].native
    if (encryption_algo.find(u'.') == (-1)):
        if (encryption_algo.find(u'_') != (-1)):
            (_, hmac_algo, _) = encryption_algo.split(u'_', 2)
            return hmac_algo
        raise ValueError(unwrap(u'\n                                                                Encryption    algorithm    "%s"    does    not    have    a    registered    key\n                                                                derivation    function\n                                                                ', encryption_algo))
    raise ValueError(unwrap(u'\n                                                Unrecognized    encryption    algorithm    "%s",    can    not    determine    key\n                                                derivation    hmac    algorithm\n                                                ', encryption_algo))
