File manager - Edit - /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-310.pyc
Back
o -&%aD � @ sP d dl mZ dZd Zdd� Zdd� Zdd� Zd d � Zdd� Zd d� Z dd� Z dS )� )� InvalidTag� c C sn ddl m}m}m} t| |�rdS t| |�r#d�t| j�d ��d�S t| |�s*J �d�t| j�d ��d�S )Nr )�AESCCM�AESGCM�ChaCha20Poly1305s chacha20-poly1305z aes-{}-ccm� �asciiz aes-{}-gcm) �+cryptography.hazmat.primitives.ciphers.aeadr r r � isinstance�format�len�_key�encode)�cipherr r r � r �K/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py�_aead_cipher_name s r c C sr | j �|�}| �|| jjk� | j �� }| j�|| j j�}| j �||| jj| jj| jjt |t k��} | �| dk� | j �|t|��} | �| dk� | j � || j jt|�| jj�} | �| dk� |tkrx| j � || j jt|�|�} | �| dk� n|�d�r�| j � || j j|| jj�} | �| dk� | j�|�} | j�|�}| j �|| jj| jj|| t |t k��} | �| dk� |S )Nr s -ccm)�_lib�EVP_get_cipherbyname�openssl_assert�_ffi�NULL�EVP_CIPHER_CTX_new�gc�EVP_CIPHER_CTX_free�EVP_CipherInit_ex�int�_ENCRYPT�EVP_CIPHER_CTX_set_key_lengthr �EVP_CIPHER_CTX_ctrl�EVP_CTRL_AEAD_SET_IVLEN�_DECRYPT�EVP_CTRL_AEAD_SET_TAG�endswith�from_buffer)�backend�cipher_name�key�nonce�tag�tag_len� operation� evp_cipher�ctx�res� nonce_ptr�key_ptrr r r �_aead_setup sX ��� � �r1 c C s: | j �d�}| j�|| j j|| j j|�}| �|dk� d S �N�int *r )r �newr �EVP_CipherUpdater r )r% r- �data_len�intptrr. r r r �_set_lengthM � �r8 c C s: | j �d�}| j�|| j j||t|��}| �|dk� d S r2 )r r4 r r5 r r r )r% r- �associated_data�outlenr. r r r �_process_aadU r9 r<