/
lib
/
python3
/
dist-packages
/
cryptography
/
hazmat
/
primitives
/
ciphers
/
__pycache__
/
Upload File
HOME
� p�g�, � �� � d dl Z d dlZd dlmZmZ d dlmZ d dlmZ G d� d� � Z G d� d� � Z G d � d � � Z G d� d� � Z G d � de � � ZdS )� N)� exceptions�utils)�aead)�backendc � � e Zd ZdZdefd�Zedefd�� � Zdededej e defd �Z dededej e defd �Zdedededdfd�ZdS ) �ChaCha20Poly1305���keyc �� � t j | � � s$t j dt j j � � �t j d|� � t |� � dk rt d� � �|| _ d S )Nz<ChaCha20Poly1305 is not supported by this version of OpenSSLr � z&ChaCha20Poly1305 key must be 32 bytes.)r �aead_cipher_supportedr �UnsupportedAlgorithm�_Reasons�UNSUPPORTED_CIPHERr �_check_byteslike�len� ValueError�_key��selfr s �M/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/ciphers/aead.py�__init__zChaCha20Poly1305.__init__ st � ��,�T�2�2� ��1�N��#�6�� � � ��u�c�*�*�*��s�8�8�r�>�>��E�F�F�F��� � � � �returnc �* � t j d� � S )Nr )�os�urandom)�clss r �generate_keyzChaCha20Poly1305.generate_key s � ��z�"�~�~�r �nonce�data�associated_datac �� � |�d}t |� � | j k st |� � | j k rt d� � �| � |||� � t j t | |||gd� � S �Nr �5Data or associated data too long. Max 2**31 - 1 bytes� �r � _MAX_SIZE� OverflowError� _check_paramsr �_encryptr �r r r! r"