/
lib
/
python3
/
dist-packages
/
cryptography
/
hazmat
/
backends
/
openssl
/
__pycache__
/
Upload File
HOME
� p�g� � � � d dl Z d dlmZ e j r&d dlmZ d dlmZmZm Z m Z mZ e j eee e ef Z dZd Zdddefd �Zd eddfd �Zddd ededede j e dedefd�Zdddeddfd�Zdddeddfd�Zdddedefd�Zdddddedede j e dedefd�Zdddddedede j e dedefd�ZdS )� N)� InvalidTag)�Backend��AESCCM�AESGCM�AESOCB3�AESSIV�ChaCha20Poly1305� �cipher�_AEAD_TYPES�returnc �< � ddl m}m}m}m}m} t | |� � rdS t | |� � r.dt | j � � dz � d�� d� � S t | |� � r.dt | j � � dz � d�� d� � S t | |� � r1dt | j � � dz d z � d �� d� � S t | |� � sJ �dt | j � � dz � d�� d� � S )Nr r s chacha20-poly1305zaes-� z-ccm�asciiz-ocb� z-sivz-gcm) �+cryptography.hazmat.primitives.ciphers.aeadr r r r r � isinstance�len�_key�encode)r r r r r r s �K/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/aead.py�_aead_cipher_namer sp � �� � � � � � � � � � � � � � �&�*�+�+� A�#�#� �F�F� #� #� A�0�c�&�+�&�&��*�0�0�0�7�7��@�@�@� �F�G� $� $� A�0�c�&�+�&�&��*�0�0�0�7�7��@�@�@� �F�F� #� #� A�5�c�&�+�&�&��*�a�/�5�5�5�<�<�W�E�E�E��&�&�)�)�)�)�)�0�c�&�+�&�&��*�0�0�0�7�7��@�@�@� �cipher_name�backendr c � � | � d� � ry|j � |j j | |j j � � }|� ||j j k � � |j � ||j j � � }n=|j � | � � }|� ||j j k � � |S )Ns -siv) �endswith�_lib�EVP_CIPHER_fetch�_ffi�NULL�openssl_assert�gc�EVP_CIPHER_free�EVP_get_cipherbyname)r r � evp_ciphers r �_evp_cipherr( 2 s� � ����G�$�$� @��\�2�2��L����L�� � � � ���z�W�\�->�>�?�?�?��\�_�_�Z���1M�N�N� � ��\�6�6�{�C�C� ����z�W�\�->�>�?�?�?��r �key�nonce�tag�tag_len� operationc �N � t || � � }| j � � � }| j � || j j � � }| j � ||| j j | j j | j j t |t k � � � � } | � | dk � � | j � |t |� � � � } | � | dk � � | j � || j j t |� � | j j � � } | � | dk � � |t k rR|�J �| j � || j j t |� � |� � } | � | dk � � n_|� d� � rJ| j � || j j || j j � � } | � | dk � � | j � |� � } | j � |� � }| j � || j j | j j || t |t k � � � � } | � | dk � � |S )Nr s -ccm)r( r �EVP_CIPHER_CTX_newr! r$ �EVP_CIPHER_CTX_free�EVP_CipherInit_exr"