':return:
A unicode string of "md2", "md5", "sha1", "sha224", "sha256",
"sha384", "sha512", "sha512_224", "sha512_256"'

@property
def hash_algo(self):

    algorithm = self[u'algorithm'].native
    algo_map = {u'md2_rsa': u'md2', u'md5_rsa': u'md5', u'sha1_rsa': u'sha1', u'sha224_rsa': u'sha224', u'sha256_rsa': u'sha256', u'sha384_rsa': u'sha384', u'sha512_rsa': u'sha512', u'sha1_dsa': u'sha1', u'sha224_dsa': u'sha224', u'sha256_dsa': u'sha256', u'sha1_ecdsa': u'sha1', u'sha224_ecdsa': u'sha224', u'sha256_ecdsa': u'sha256', u'sha384_ecdsa': u'sha384', u'sha512_ecdsa': u'sha512'}
    if (algorithm in algo_map):
        return algo_map[algorithm]
    if (algorithm == u'rsassa_pss'):
        return self[u'parameters'][u'hash_algorithm'][u'algorithm'].native
    raise ValueError(unwrap(u'\n                                                Hash    algorithm    not    known    for    %s\n                                                ', algorithm))
