2018-11-11 22:14:15 +01:00
|
|
|
from typing import Any, Union, Tuple, Optional, Dict, overload
|
2018-09-30 02:30:33 +02:00
|
|
|
|
2018-11-11 22:14:15 +01:00
|
|
|
from Crypto.Cipher._mode_ecb import EcbMode
|
2018-09-30 02:30:33 +02:00
|
|
|
from Crypto.Cipher._mode_cbc import CbcMode
|
|
|
|
|
from Crypto.Cipher._mode_cfb import CfbMode
|
|
|
|
|
from Crypto.Cipher._mode_ofb import OfbMode
|
2018-11-11 22:14:15 +01:00
|
|
|
from Crypto.Cipher._mode_ctr import CtrMode
|
2018-09-30 02:30:33 +02:00
|
|
|
from Crypto.Cipher._mode_openpgp import OpenPgpMode
|
2018-11-11 22:14:15 +01:00
|
|
|
from Crypto.Cipher._mode_ccm import CcmMode
|
|
|
|
|
from Crypto.Cipher._mode_eax import EaxMode
|
|
|
|
|
from Crypto.Cipher._mode_gcm import GcmMode
|
|
|
|
|
from Crypto.Cipher._mode_siv import SivMode
|
|
|
|
|
from Crypto.Cipher._mode_ocb import OcbMode
|
2018-09-30 02:30:33 +02:00
|
|
|
|
|
|
|
|
AESMode = int
|
|
|
|
|
|
|
|
|
|
MODE_ECB: AESMode
|
|
|
|
|
MODE_CBC: AESMode
|
|
|
|
|
MODE_CFB: AESMode
|
|
|
|
|
MODE_OFB: AESMode
|
|
|
|
|
MODE_CTR: AESMode
|
|
|
|
|
MODE_OPENPGP: AESMode
|
|
|
|
|
MODE_CCM: AESMode
|
|
|
|
|
MODE_EAX: AESMode
|
|
|
|
|
MODE_GCM: AESMode
|
2018-11-11 22:14:15 +01:00
|
|
|
MODE_SIV: AESMode
|
2018-09-30 02:30:33 +02:00
|
|
|
MODE_OCB: AESMode
|
|
|
|
|
|
2018-11-11 22:14:15 +01:00
|
|
|
Buffer = Union[bytes, bytearray, memoryview]
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
use_aesni : Optional[bool]) -> EcbMode: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
__iv : Optional[Buffer],
|
|
|
|
|
segment_size : Optional[int],
|
|
|
|
|
use_aesni : Optional[bool]) -> \
|
|
|
|
|
Union[CbcMode, CfbMode, OfbMode, OpenPgpMode]: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
2018-11-08 07:52:16 +01:00
|
|
|
__mode: AESMode,
|
2018-11-11 22:14:15 +01:00
|
|
|
iv : Optional[Buffer],
|
2018-11-08 07:52:16 +01:00
|
|
|
segment_size : Optional[int],
|
2018-11-11 22:14:15 +01:00
|
|
|
use_aesni : Optional[bool]) -> \
|
|
|
|
|
Union[CbcMode, CfbMode, OfbMode, OpenPgpMode]: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
IV : Optional[Buffer],
|
|
|
|
|
segment_size : Optional[int],
|
|
|
|
|
use_aesni : Optional[bool]) -> \
|
|
|
|
|
Union[CbcMode, CfbMode, OfbMode, OpenPgpMode]: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
nonce : Optional[Buffer],
|
|
|
|
|
initial_value : Optional[Union[int, Buffer]],
|
|
|
|
|
use_aesni : Optional[bool]) -> CtrMode: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
counter : Dict,
|
|
|
|
|
use_aesni : Optional[bool]) -> CtrMode: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
nonce : Optional[Buffer],
|
2018-11-08 07:52:16 +01:00
|
|
|
mac_len : Optional[int],
|
|
|
|
|
msg_len : Optional[int],
|
|
|
|
|
assoc_len : Optional[int],
|
|
|
|
|
use_aesni : Optional[bool]) -> \
|
2018-11-11 22:14:15 +01:00
|
|
|
Union[CcmMode]: ...
|
|
|
|
|
|
|
|
|
|
@overload
|
|
|
|
|
def new(__key: Buffer,
|
|
|
|
|
__mode: AESMode,
|
|
|
|
|
nonce : Optional[Buffer],
|
|
|
|
|
mac_len : Optional[int],
|
|
|
|
|
use_aesni : Optional[bool]) -> \
|
|
|
|
|
Union[EaxMode, GcmMode, SivMode]: ...
|
2018-09-30 02:30:33 +02:00
|
|
|
|
|
|
|
|
block_size: int
|
|
|
|
|
key_size: Tuple[int, int, int]
|