Diffie-Hellman Key Exchange¶
Interface to DH key exchange
- pyflocker.ciphers.interfaces.DH.generate(key_size: int, g: int = 2, *, backend: _Backends = Backends.CRYPTOGRAPHY) base.BaseDHParameters [source]¶
Generate DHE parameter with prime number’s bit size
bits
and generatorg
(default 2). Recommended size ofbits
> 1024.- Parameters:
key_size – The bit length of the prime modulus.
g – The value to use as a generator value. Default is 2.
- Keyword Arguments:
backend – The backend to use. It must be a value from
Backends
.- Returns:
A DH key exchange paramenter object.
- Return type:
- pyflocker.ciphers.interfaces.DH.load_from_parameters(p: int, g: int = 2, q: int | None = None, *, backend: _Backends = Backends.CRYPTOGRAPHY) base.BaseDHParameters [source]¶
Create a DH Parameter object from the given parameters.
- Parameters:
p – The prime modulus
p
.g – The generator.
q –
p
subgroup order value.
- Keyword Arguments:
backend – The backend to use. It must be a value from
Backends
.- Returns:
A DH key exchange paramenter object.
- pyflocker.ciphers.interfaces.DH.load_parameters(data: bytes, *, backend: _Backends = Backends.CRYPTOGRAPHY) base.BaseDHParameters [source]¶
Deserialize the DH parameters and load a parameter object.
- Parameters:
data – Serialized DH Parameter.
- Keyword Arguments:
backend – The backend to use. It must be a value from
Backends
.- Returns:
A DHE parameter object.
- pyflocker.ciphers.interfaces.DH.load_public_key(data: bytes, *, backend: _Backends = Backends.CRYPTOGRAPHY) base.BaseDHPublicKey [source]¶
Loads the public key and returns a Key interface.
- Parameters:
data – The public key (a bytes-like object) to deserialize.
- Keyword Arguments:
backend – The backend to use. It must be a value from
Backends
.- Returns:
An public key object.
- pyflocker.ciphers.interfaces.DH.load_private_key(data: bytes, passphrase: bytes | None = None, *, backend: _Backends = Backends.CRYPTOGRAPHY) base.BaseDHPrivateKey [source]¶
Loads the private key.
- Parameters:
data – The private key (a bytes-like object) to deserialize.
passphrase – The passphrase (in bytes) that was used to encrypt the private key.
None
if the key was not encrypted.
- Keyword Arguments:
backend – The backend to use. It must be a value from
Backends
.- Returns:
A private key object.