Current File : //lib64/python3.9/site-packages/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-39.pyc
a

�a��@s4ddlmZddlmZmZmZGdd�de�ZdS)�)�utils)�AlreadyFinalized�UnsupportedAlgorithm�_Reasonsc@sveZdZed�dd�Zedd�dd�Zed�d	d
�Zedd�dd
�Zeeeed�dd��Z	eeeedd�dd��Z
dS)�Poly1305)�keycCs0ddlm}|��s tdtj��|�|�|_dS)Nr)�backendz5poly1305 is not supported by this version of OpenSSL.)Z,cryptography.hazmat.backends.openssl.backendrZpoly1305_supportedrrZUNSUPPORTED_MACZcreate_poly1305_ctx�_ctx)�selfrr�r�M/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/poly1305.py�__init__s�zPoly1305.__init__N)�data�returncCs.|jdurtd��t�d|�|j�|�dS)N�Context was already finalized.r)r	rrZ_check_byteslike�update)r
rrrrrs
zPoly1305.update)rcCs&|jdurtd��|j��}d|_|S)Nr)r	r�finalize)r
Zmacrrrrs


zPoly1305.finalize)�tagrcCs:t�d|�|jdurtd��|jd}|_|�|�dS)Nrr)r�_check_bytesr	r�verify)r
r�ctxrrrr&s

zPoly1305.verify)rrrcCst|�}|�|�|��S�N)rrr)�clsrr�prrr�generate_tag.s
zPoly1305.generate_tag)rrrrcCs t|�}|�|�|�|�dSr)rrr)rrrrrrrr�
verify_tag4s
zPoly1305.verify_tag)�__name__�
__module__�__qualname__�bytesr
rrr�classmethodrrrrrrrs
rN)ZcryptographyrZcryptography.exceptionsrrr�objectrrrrr�<module>s