Creates copy of the digest CTX to allow to compute digest
        while being able to hash more data

def copy(self):
        """
        Creates copy of the digest CTX to allow to compute digest
        while being able to hash more data
        """

        new_digest = Digest(self.digest_type)
        libcrypto.EVP_MD_CTX_copy(new_digest.ctx, self.ctx)
        return new_digest