o
    �)%aF
  ã                   @   sP   d dl Z d dlmZmZ d dlmZ G dd„ de jd�ZG dd„ de jd�ZdS )	é    N)ÚUnsupportedAlgorithmÚ_Reasons)Ú_serializationc                   @   sZ   e Zd Zededd fdd„ƒZejdej	dej
defdd„ƒZejd	edefd
d„ƒZdS )ÚEd448PublicKeyÚdataÚreturnc                 C   ó*   ddl m} | ¡ stdtjƒ‚| |¡S ©Nr   )Úbackendz2ed448 is not supported by this version of OpenSSL.)Ú,cryptography.hazmat.backends.openssl.backendr
   Úed448_supportedr   r   Ú UNSUPPORTED_PUBLIC_KEY_ALGORITHMÚed448_load_public_bytes©Úclsr   r
   © r   úQ/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/ed448.pyÚfrom_public_bytes   ó   þ
z Ed448PublicKey.from_public_bytesÚencodingÚformatc                 C   ó   dS )z9
        The serialized bytes of the public key.
        Nr   )Úselfr   r   r   r   r   Úpublic_bytes   ó    zEd448PublicKey.public_bytesÚ	signaturec                 C   r   )z'
        Verify the signature.
        Nr   )r   r   r   r   r   r   Úverify#   r   zEd448PublicKey.verifyN)Ú__name__Ú
__module__Ú__qualname__ÚclassmethodÚbytesr   ÚabcÚabstractmethodr   ÚEncodingÚPublicFormatr   r   r   r   r   r   r      s    þýü	r   )Ú	metaclassc                   @   s~   e Zd Zeddd„ƒZededd fdd„ƒZejde	fdd„ƒZ
ejdedefd	d
„ƒZejdejdejdejfdd„ƒZdS )ÚEd448PrivateKeyr   c                 C   s(   ddl m} | ¡ stdtjƒ‚| ¡ S r	   )r   r
   r   r   r   r   Úed448_generate_key)r   r
   r   r   r   Úgenerate+   s   þzEd448PrivateKey.generater   c                 C   r   r	   )r   r
   r   r   r   r   Úed448_load_private_bytesr   r   r   r   Úfrom_private_bytes6   r   z"Ed448PrivateKey.from_private_bytesc                 C   r   )zB
        The Ed448PublicKey derived from the private key.
        Nr   )r   r   r   r   Ú
public_keyB   r   zEd448PrivateKey.public_keyc                 C   r   )z!
        Signs the data.
        Nr   )r   r   r   r   r   ÚsignH   r   zEd448PrivateKey.signr   r   Úencryption_algorithmc                 C   r   )z:
        The serialized bytes of the private key.
        Nr   )r   r   r   r.   r   r   r   Úprivate_bytesN   r   zEd448PrivateKey.private_bytesN)r   r'   )r   r   r   r    r)   r!   r+   r"   r#   r   r,   r-   r   r$   ÚPrivateFormatÚKeySerializationEncryptionr/   r   r   r   r   r'   *   s"    
þýür'   )	r"   Úcryptography.exceptionsr   r   Úcryptography.hazmat.primitivesr   ÚABCMetar   r'   r   r   r   r   Ú<module>   s
   