def METHOD_NAME(self, ciphertext, ad, tagMask):
    y = 0
    y = self._update(y, ad)
    y = self._update(y, ciphertext)
    y ^= (len(ad) << (3 + 64)) | (len(ciphertext) << 3)
    y = self._mul(y)
    y ^= bytesToNumber(tagMask)
    return numberToByteArray(y, 16)