<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def name(self):
 """ Returns name of the digest """

        if not hasattr(self, 'digest_name'):
            self.digest_name = Oid(libcrypto.EVP_MD_type(self.digest)
                                  ).longname()
        return self.digest_name