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
bitsand 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 –
psubgroup 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.
Noneif the key was not encrypted.
- Keyword Arguments:
backend – The backend to use. It must be a value from
Backends.- Returns:
A private key object.