File size: 467 Bytes
0a06673 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from typing import TypedDict, Callable, TypeVar, Generic
from typing_extensions import Unpack, NotRequired
from Crypto.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: ...
|