name : eddsa.cpython-39.opt-1.pyc
a

�M�ez�@s�ddlmZddlmZddlmZmZddlmZm	Z	ddl
mZddlm
Z
Gdd�de	�ZGd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�de�ZGdd�de�ZdS)�)�Type)�
serialization)�ed448�ed25519)�CryptographyPrivateKey�CryptographyPublicKey)�	Algorithm)�DNSKEYc@s@eZdZeedd�dd�Zed�dd�Zeedd�d	d
��ZdS)�PublicEDDSAN)�	signature�data�returncCs|j�||�dS)N)�key�verify)�selfrr�r�8/usr/lib/python3.9/site-packages/dns/dnssecalgs/eddsa.pyrszPublicEDDSA.verify�r
cCs|jjtjjtjjd�S)z,Encode a public key per RFC 8080, section 3.)�encoding�format)rZpublic_bytesrZEncodingZRawZPublicFormat)rrrr�encode_key_bytess�zPublicEDDSA.encode_key_bytes)rr
cCs|�|�||j�|j�d�S�N)r)Z!_ensure_algorithm_key_combination�key_clsZfrom_public_bytesr)�clsrrrr�from_dnskeys
�zPublicEDDSA.from_dnskey)	�__name__�
__module__�__qualname__�bytesrr�classmethodr	rrrrrr
sr
c@s@eZdZUeeed<d
eeed�dd�Ze	dd�dd��Z
d	S)�PrivateEDDSA�
public_clsF)rrr
cCs$|j�|�}|r |���||�|S)z1Sign using a private key per RFC 8080, section 4.)r�signZ
public_keyr)rrrrrrrr" szPrivateEDDSA.signrcCs||j��d�Sr)r�generate)rrrrr#'szPrivateEDDSA.generateN)F)rrrrr
�__annotations__r�boolr"rr#rrrrr s
r c@s$eZdZUejed<ejZejZ	dS)�
PublicED25519rN)
rrrrZEd25519PublicKeyr$rrZED25519�	algorithmrrrrr&,s

r&c@s"eZdZUejed<ejZeZdS)�PrivateED25519rN)	rrrrZEd25519PrivateKeyr$rr&r!rrrrr(2s

r(c@s$eZdZUejed<ejZejZ	dS)�PublicED448rN)
rrrrZEd448PublicKeyr$rrZED448r'rrrrr)8s

r)c@s"eZdZUejed<ejZeZdS)�PrivateED448rN)	rrrrZEd448PrivateKeyr$rr)r!rrrrr*>s

r*N)�typingrZcryptography.hazmat.primitivesrZ)cryptography.hazmat.primitives.asymmetricrrZdns.dnssecalgs.cryptographyrrZdns.dnssectypesrZdns.rdtypes.ANY.DNSKEYr	r
r r&r(r)r*rrrr�<module>s

© 2025 Cubjrnet7