aboutsummaryrefslogblamecommitdiff
path: root/frozen_deps/Cryptodome/Protocol/DH.pyi
blob: b1da88886c2b8b4d80722ebd6cdb2d00814ce321 (plain) (tree)
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: ...