File manager - Edit - /usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/poly1305.cpython-310.pyc
Back
o g�e+ � @ s4 d dl mZ d dlmZ dZdZG dd� de�ZdS )� )�InvalidSignature)� constant_time� � c @ s, e Zd Zdd� Zdd� Zdd� Zdd� Zd S ) �_Poly1305Contextc C s� || _ | j j�|�}| j j�| j jj| j jj|t|��}| j �|| j jjk� | j j� || j jj �| _| j j�� }| j �|| j jjk� | j j� || j jj �| _| j j�| j| j jj| j jj| j jj| j�}| j �|dk� d S )N� )�_backend�_ffi�from_buffer�_lib�EVP_PKEY_new_raw_private_key�NID_poly1305�NULL�len�openssl_assert�gc� EVP_PKEY_free� _evp_pkey�EVP_MD_CTX_new�EVP_MD_CTX_free�_ctx�EVP_DigestSignInit)�self�backend�key�key_ptr�evp_pkey�ctx�res� r �O/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/poly1305.py�__init__ s2 � � ��z_Poly1305Context.__init__c C s: | j j�|�}| j j�| j|t|��}| j �|dk� d S )Nr )r r r r �EVP_DigestSignUpdater r r )r �data�data_ptrr r r r �update- s �z_Poly1305Context.updatec C sr | j j�dt�}| j j�dt�}| j j�| j||�}| j �|dk� | j �|d tk� | j j�|�d |d � S )Nzunsigned char[]zsize_t *r ) r r �new�_POLY1305_TAG_SIZEr �EVP_DigestSignFinalr r �buffer)r �buf�outlenr r r r �finalize4 s z_Poly1305Context.finalizec C s | � � }t�||�std��d S )Nz!Value did not match computed tag.)r, r �bytes_eqr )r �tag�macr r r �verify<