관리-도구
편집 파일: aead.cpython-39.pyc
a �aB$ � @ s| d dl Z d dlZd dlmZmZ d dlmZ d dlmZ G dd� de �Z G dd� de �ZG d d � d e �ZG dd� de �Z dS ) � N)� exceptions�utils)�aead)�backendc @ sx e Zd ZdZed�dd�Zeed�dd��Zeeej e ed�d d �Z eeej e ed�dd�Zeeed d�dd�Zd S )�ChaCha20Poly1305� ��keyc C sD t �| �st�dtjj��t�d|� t|�dkr:t 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 � r �Q/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/ciphers/aead.py�__init__ s �zChaCha20Poly1305.__init__)�returnc C s t �d�S )Nr )�os�urandom)�clsr r r �generate_key s zChaCha20Poly1305.generate_key��nonce�data�associated_datar c C sR |d u rd}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 r r r r r r �encrypt"