blob: b1da88886c2b8b4d80722ebd6cdb2d00814ce321 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
from typing import TypedDict, Callable, TypeVar, Generic
from typing_extensions import Unpack, NotRequired
from Cryptodome.PublicKey.ECC import EccKey
T = TypeVar('T')
class RequestParams(TypedDict, Generic[T]):
kdf: Callable[[bytes|bytearray|memoryview], T]
static_priv: NotRequired[EccKey]
static_pub: NotRequired[EccKey]
eph_priv: NotRequired[EccKey]
eph_pub: NotRequired[EccKey]
def key_agreement(**kwargs: Unpack[RequestParams[T]]) -> T: ...
|