This commit is contained in:
“shengyudong”
2026-01-06 14:18:39 +08:00
commit 5a384b694e
10345 changed files with 2050918 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
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 import_x25519_public_key(encoded: bytes) -> EccKey: ...
def import_x25519_private_key(encoded: bytes) -> EccKey: ...
def import_x448_public_key(encoded: bytes) -> EccKey: ...
def import_x448_private_key(encoded: bytes) -> EccKey: ...
def key_agreement(**kwargs: Unpack[RequestParams[T]]) -> T: ...