1 from abc import ABCMeta, abstractmethod
3 from cryptography.hazmat.backends.interfaces import DHBackend
4 from cryptography.hazmat.primitives.serialization import (
6 KeySerializationEncryption,
12 class DHParameters(metaclass=ABCMeta):
14 def generate_private_key(self) -> DHPrivateKey: ...
16 def parameter_bytes(self, encoding: Encoding, format: ParameterFormat) -> bytes: ...
18 def parameter_numbers(self) -> DHParameterNumbers: ...
20 DHParametersWithSerialization = DHParameters
22 class DHParameterNumbers(object):
24 def p(self) -> int: ...
26 def g(self) -> int: ...
28 def q(self) -> int: ...
29 def __init__(self, p: int, g: int, q: int | None) -> None: ...
30 def parameters(self, backend: DHBackend | None = ...) -> DHParameters: ...
32 class DHPrivateKey(metaclass=ABCMeta):
35 def exchange(self, peer_public_key: DHPublicKey) -> bytes: ...
37 def parameters(self) -> DHParameters: ...
39 def public_key(self) -> DHPublicKey: ...
41 class DHPrivateKeyWithSerialization(DHPrivateKey):
44 self, encoding: Encoding, format: PrivateFormat, encryption_algorithm: KeySerializationEncryption
47 def private_numbers(self) -> DHPrivateNumbers: ...
49 class DHPrivateNumbers(object):
51 def public_numbers(self) -> DHPublicNumbers: ...
53 def x(self) -> int: ...
54 def __init__(self, x: int, public_numbers: DHPublicNumbers) -> None: ...
55 def private_key(self, backend: DHBackend | None = ...) -> DHPrivateKey: ...
57 class DHPublicKey(metaclass=ABCMeta):
60 def key_size(self) -> int: ...
62 def parameters(self) -> DHParameters: ...
64 def public_bytes(self, encoding: Encoding, format: PublicFormat) -> bytes: ...
66 def public_numbers(self) -> DHPublicNumbers: ...
68 DHPublicKeyWithSerialization = DHPublicKey
70 class DHPublicNumbers(object):
72 def parameter_numbers(self) -> DHParameterNumbers: ...
74 def y(self) -> int: ...
75 def __init__(self, y: int, parameter_numbers: DHParameterNumbers) -> None: ...
76 def public_key(self, backend: DHBackend | None = ...) -> DHPublicKey: ...
78 def generate_parameters(generator: int, key_size: int, backend: DHBackend | None = ...) -> DHParameters: ...