HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-38.pyc
U

�e�]%�@sxddlmZmZmZddlZddlmZmZddlm	Z	ddl
mZGdd�de�Z
Gdd	�d	e�ZGd
d�de�ZdS)�)�absolute_import�division�print_functionN)�
exceptions�utils)�aead)�backendc@s<eZdZdZdd�Zedd��Zdd�Zdd	�Zd
d�Z	dS)
�ChaCha20Poly1305�cCsDt�|�st�dtjj��t�d|�t|�dkr:t	d��||_
dS)Nz<ChaCha20Poly1305 is not supported by this version of OpenSSL�key� z&ChaCha20Poly1305 key must be 32 bytes.)r�aead_cipher_supportedr�UnsupportedAlgorithm�_Reasons�UNSUPPORTED_CIPHERr�_check_byteslike�len�
ValueError�_key��selfr�r�M/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/aead.py�__init__s
�zChaCha20Poly1305.__init__cCs
t�d�S)Nr)�os�urandom)�clsrrr�generate_keyszChaCha20Poly1305.generate_keycCsR|dkrd}t|�|jks(t|�|jkr0td��|�|||�t�t||||d�S�N��1Data or associated data too long. Max 2**32 bytes��r�	_MAX_SIZE�
OverflowError�
_check_paramsr�_encryptr�r�nonce�data�associated_datarrr�encrypt"s��zChaCha20Poly1305.encryptcCs.|dkrd}|�|||�t�t||||d�S�Nrr!�r%r�_decryptrr'rrr�decrypt1s�zChaCha20Poly1305.decryptcCs<t�d|�t�d|�t�d|�t|�dkr8td��dS)Nr(r)r*�zNonce must be 12 bytes�rr�_check_bytesrrr'rrrr%:s
zChaCha20Poly1305._check_paramsN�
�__name__�
__module__�__qualname__r#r�classmethodrr+r/r%rrrrr	s

	r	c@sFeZdZdZddd�Zedd��Zdd�Zd	d
�Zdd�Z	d
d�Z
dS)�AESCCMr
r!cCslt�d|�t|�dkr td��||_t|t�s8td��|dkrHtd��||_t	�
|�sht�dtj
j��dS)Nr�r!�rz)AESCCM key must be 128, 192, or 256 bits.ztag_length must be an integer)����
r0�r!zInvalid tag_lengthz2AESCCM is not supported by this version of OpenSSL)rrrrr�
isinstance�int�	TypeError�_tag_lengthrr
rrrr)rrZ
tag_lengthrrrrEs

�zAESCCM.__init__cCs0t|t�std��|dkr"td��t�|d�S�Nzbit_length must be an integer)���z#bit_length must be 128, 192, or 256r=�r@rArBrrr�r�
bit_lengthrrrrYs

zAESCCM.generate_keycCsd|dkrd}t|�|jks(t|�|jkr0td��|�|||�|�|t|��t�t|||||j�S)Nrr )	rr#r$r%�_validate_lengthsrr&rrCr'rrrr+cs ��zAESCCM.encryptcCs0|dkrd}|�|||�t�t|||||j�S)Nr)r%rr.rrCr'rrrr/ss�zAESCCM.decryptcCs(dt|�}dd||kr$td��dS)N��r=zNonce too long for data)rr)rr(Zdata_lenZl_valrrrrK|szAESCCM._validate_lengthscCsJt�d|�t�d|�t�d|�dt|�kr<dksFntd��dS)Nr(r)r*��
z$Nonce must be between 7 and 13 bytesr1r'rrrr%�s
zAESCCM._check_paramsN)r!)r4r5r6r#rr7rr+r/rKr%rrrrr8Bs

		r8c@s<eZdZdZdd�Zedd��Zdd�Zdd	�Zd
d�Z	dS)
�AESGCMr
cCs*t�d|�t|�dkr td��||_dS)Nrr9z)AESGCM key must be 128, 192, or 256 bits.)rrrrrrrrrr�szAESGCM.__init__cCs0t|t�std��|dkr"td��t�|d�SrDrHrIrrrr�s

zAESGCM.generate_keycCsR|dkrd}t|�|jks(t|�|jkr0td��|�|||�t�t||||d�Srr"r'rrrr+�s��zAESGCM.encryptcCs.|dkrd}|�|||�t�t||||d�Sr,r-r'rrrr/�s�zAESGCM.decryptcCs<t�d|�t�d|�t�d|�t|�dkr8td��dS)Nr(r)r*rzNonce must be at least 1 byter1r'rrrr%�s
zAESGCM._check_paramsNr3rrrrrP�s
		rP)Z
__future__rrrrZcryptographyrrZ$cryptography.hazmat.backends.opensslrZ,cryptography.hazmat.backends.openssl.backendr�objectr	r8rPrrrr�<module>s4I