code: def kdf_hmac(self):
          
  
          encryption_algo = self['algorithm'].native
  
          if encryption_algo == 'pbes2':
              return self['parameters']['key_derivation_func']['parameters']['prf']['algorithm'].native
  
          if encryption_algo.find('.') == -1:
              if encryption_algo.find('_') != -1:
                  _, hmac_algo, _ = encryption_algo.split('_', 2)
                  return hmac_algo
  
              raise ValueError(unwrap(
                  '''
                  Encryption algorithm "%s" does not have a registered key
                  derivation function
                  ''',
                  encryption_algo
              ))
  
          raise ValueError(unwrap(
              '''
              Unrecognized encryption algorithm "%s", can not determine key
              derivation hmac algorithm
              ''',
              encryption_algo
          ))
docs: 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"