from typing import Tuple
class AEAD:
def __init__(self, cipher_name: bytes, key: bytes, iv: bytes): ...
def decrypt(
self, data: bytes, associated_data: bytes, packet_number: int
) -> bytes: ...
def encrypt(
self, data: bytes, associated_data: bytes, packet_number: int
) -> bytes: ...
class CryptoError(ValueError): ...
class HeaderProtection:
def __init__(self, cipher_name: bytes, key: bytes): ...
def apply(self, plain_header: bytes, protected_payload: bytes) -> bytes: ...
def remove(self, packet: bytes, encrypted_offset: int) -> Tuple[bytes, int]: ...