_mode_ccm.pyi 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. from types import ModuleType
  2. from typing import Union, overload, Dict, Tuple, Optional
  3. Buffer = Union[bytes, bytearray, memoryview]
  4. __all__ = ['CcmMode']
  5. class CcmMode(object):
  6. block_size: int
  7. nonce: bytes
  8. def __init__(self,
  9. factory: ModuleType,
  10. key: Buffer,
  11. nonce: Buffer,
  12. mac_len: int,
  13. msg_len: int,
  14. assoc_len: int,
  15. cipher_params: Dict) -> None: ...
  16. def update(self, assoc_data: Buffer) -> CcmMode: ...
  17. @overload
  18. def encrypt(self, plaintext: Buffer) -> bytes: ...
  19. @overload
  20. def encrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ...
  21. @overload
  22. def decrypt(self, plaintext: Buffer) -> bytes: ...
  23. @overload
  24. def decrypt(self, plaintext: Buffer, output: Union[bytearray, memoryview]) -> None: ...
  25. def digest(self) -> bytes: ...
  26. def hexdigest(self) -> str: ...
  27. def verify(self, received_mac_tag: Buffer) -> None: ...
  28. def hexverify(self, hex_mac_tag: str) -> None: ...
  29. @overload
  30. def encrypt_and_digest(self,
  31. plaintext: Buffer) -> Tuple[bytes, bytes]: ...
  32. @overload
  33. def encrypt_and_digest(self,
  34. plaintext: Buffer,
  35. output: Buffer) -> Tuple[None, bytes]: ...
  36. def decrypt_and_verify(self,
  37. ciphertext: Buffer,
  38. received_mac_tag: Buffer,
  39. output: Optional[Union[bytearray, memoryview]] = ...) -> bytes: ...