templates.asymmetric_encryption_scheme¶
Generic classes used for creating an asymmetric encryption scheme.
Attributes¶
Classes¶
Public Key of an AsymmetricEncryptionScheme. | |
Secret Key of an AsymmetricEncryptionScheme. | |
Abstract base class for an AsymmetricEncryptionScheme. |
Module Contents¶
- class templates.asymmetric_encryption_scheme.PublicKey[source]¶
Public Key of an AsymmetricEncryptionScheme.
This should be subclassed for every AsymmetricEncryptionScheme.
- class templates.asymmetric_encryption_scheme.SecretKey[source]¶
Secret Key of an AsymmetricEncryptionScheme.
This should be subclassed for every AsymmetricEncryptionScheme.
- class templates.asymmetric_encryption_scheme.AsymmetricEncryptionScheme(public_key: PK, secret_key: SK | None, *_args: Any, **_kwargs: Any)[source]¶
Abstract base class for an AsymmetricEncryptionScheme.
- classmethod from_security_parameter(*args: Any, **kwargs: Any) Self[source]¶
Generate a new AsymmetricEncryptionScheme from a security parameter. Note that regular arguments will be passed to the generate_key_material method, so all parameter that are required for the constructor should be passed as keyword arguments.
- Parameters:
*args – Security parameter(s) for key generation.
**kwargs – Security parameter(s) and optional extra arguments for the constructor.
- Raises:
ValueError – If a keyword argument is not valid for key generation or the constructor.
- Returns:
A new EncryptionScheme.
- classmethod generate_key_material(*args: Any, **kwargs: Any) tuple[PK, SK][source]¶
- Abstractmethod:
Method to generate key material (PublicKey and SecretKey) for this scheme.
- Parameters:
*args – Required arguments to generate said key material.
**kwargs – Required arguments to generate said key material.
- Returns:
Tuple containing first the PublicKey of this scheme and then the SecretKey.