_mode_siv.pyi 1.2 KB

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