_mode_gcm.pyi 1.5 KB

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