Spaces:
Paused
Paused
| from __future__ import annotations | |
| from typing import Union, Callable, Optional, Tuple, Dict, NamedTuple, Any, overload, Literal | |
| from typing_extensions import TypedDict, Unpack, NotRequired | |
| from Crypto.Math.Numbers import Integer | |
| from Crypto.IO._PBES import ProtParams | |
| RNG = Callable[[int], bytes] | |
| class UnsupportedEccFeature(ValueError): | |
| ... | |
| class EccPoint(object): | |
| def __init__(self, | |
| x: Union[int, Integer], | |
| y: Union[int, Integer], | |
| curve: Optional[str] = ...) -> None: ... | |
| def set(self, point: EccPoint) -> EccPoint: ... | |
| def __eq__(self, point: object) -> bool: ... | |
| def __neg__(self) -> EccPoint: ... | |
| def copy(self) -> EccPoint: ... | |
| def is_point_at_infinity(self) -> bool: ... | |
| def point_at_infinity(self) -> EccPoint: ... | |
| def x(self) -> int: ... | |
| def y(self) -> int: ... | |
| def xy(self) -> Tuple[int, int]: ... | |
| def size_in_bytes(self) -> int: ... | |
| def size_in_bits(self) -> int: ... | |
| def double(self) -> EccPoint: ... | |
| def __iadd__(self, point: EccPoint) -> EccPoint: ... | |
| def __add__(self, point: EccPoint) -> EccPoint: ... | |
| def __imul__(self, scalar: int) -> EccPoint: ... | |
| def __mul__(self, scalar: int) -> EccPoint: ... | |
| class ExportParams(TypedDict): | |
| passphrase: NotRequired[Union[bytes, str]] | |
| use_pkcs8: NotRequired[bool] | |
| protection: NotRequired[str] | |
| compress: NotRequired[bool] | |
| prot_params: NotRequired[ProtParams] | |
| class EccKey(object): | |
| curve: str | |
| def __init__(self, *, curve: str = ..., d: int = ..., point: EccPoint = ...) -> None: ... | |
| def __eq__(self, other: object) -> bool: ... | |
| def __repr__(self) -> str: ... | |
| def has_private(self) -> bool: ... | |
| def d(self) -> int: ... | |
| def pointQ(self) -> EccPoint: ... | |
| def public_key(self) -> EccKey: ... | |
| def export_key(self, | |
| *, | |
| format: Literal['PEM', 'OpenSSH'], | |
| **kwargs: Unpack[ExportParams]) -> str: ... | |
| def export_key(self, | |
| *, | |
| format: Literal['DER', 'SEC1', 'raw'], | |
| **kwargs: Unpack[ExportParams]) -> bytes: ... | |
| _Curve = NamedTuple("_Curve", [('p', Integer), | |
| ('order', Integer), | |
| ('b', Integer), | |
| ('Gx', Integer), | |
| ('Gy', Integer), | |
| ('G', EccPoint), | |
| ('modulus_bits', int), | |
| ('oid', str), | |
| ('context', Any), | |
| ('desc', str), | |
| ('openssh', Union[str, None]), | |
| ]) | |
| _curves: Dict[str, _Curve] | |
| def generate(**kwargs: Union[str, RNG]) -> EccKey: ... | |
| def construct(**kwargs: Union[str, int]) -> EccKey: ... | |
| def import_key(encoded: Union[bytes, str], | |
| passphrase: Optional[str] = None, | |
| curve_name: Optional[str] = None) -> EccKey: ... | |
| def _import_ed25519_public_key(encoded: bytes) -> EccKey: ... | |
| def _import_ed448_public_key(encoded: bytes) -> EccKey: ... | |