'Return the **binary** (non-printable) MAC of the message that has
been authenticated so far.
This method does not change the state of the MAC object.
You can continue updating the object after calling this function.
:Return: A byte string of `digest_size` bytes. It may contain non-ASCII
characters, including null bytes.'

def digest(self):

    h = self.outer.copy()
    h.update(self.inner.digest())
    return h.digest()
