def METHOD_NAME(self, plaintext):
    """
    Protect - Protects the given plaintext and returns a 3-tuple of bytes:
    UE ephemeral pubkey, ciphertext, MAC
    Args:
        plaintext: plaintext
    Returns:
        ephemeral_key: public key
        ciphertext: ciphertext to decrypt
        mac: encrypted mac
    """
    aes_key, aes_nonce, aes_cnt, mac_key = (
        self.shared_key[:16],
        self.shared_key[16:24],
        unpack('>Q', self.shared_key[24:32])[0],
        self.shared_key[32:64],
    )
    # encryption
    aes = AES_CTR_cryptography(aes_key, aes_nonce, aes_cnt)
    ciphertext = aes.encrypt(plaintext)
    mac = hmac.new(mac_key, ciphertext, hashlib.sha256).digest()
    return self.ephemeral_key, ciphertext, mac[0:8]         # noqa: WPS349