Current Dir: /snap/core22/2437/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/
[FILE] aead.cpython-310.pyc [ edit | delete | rename ]
[FILE] backend.cpython-310.pyc [ edit | delete | rename ]
[FILE] ciphers.cpython-310.pyc [ edit | delete | rename ]
[FILE] cmac.cpython-310.pyc [ edit | delete | rename ]
[FILE] decode_asn1.cpython-310.pyc [ edit | delete | rename ]
[FILE] dh.cpython-310.pyc [ edit | delete | rename ]
[FILE] dsa.cpython-310.pyc [ edit | delete | rename ]
[FILE] ec.cpython-310.pyc [ edit | delete | rename ]
[FILE] ed448.cpython-310.pyc [ edit | delete | rename ]
[FILE] ed25519.cpython-310.pyc [ edit | delete | rename ]
[FILE] encode_asn1.cpython-310.pyc [ edit | delete | rename ]
[FILE] hashes.cpython-310.pyc [ edit | delete | rename ]
[FILE] hmac.cpython-310.pyc [ edit | delete | rename ]
[FILE] ocsp.cpython-310.pyc [ edit | delete | rename ]
[FILE] poly1305.cpython-310.pyc [ edit | delete | rename ]
[FILE] rsa.cpython-310.pyc [ edit | delete | rename ]
[FILE] utils.cpython-310.pyc [ edit | delete | rename ]
[FILE] x448.cpython-310.pyc [ edit | delete | rename ]
[FILE] x509.cpython-310.pyc [ edit | delete | rename ]
[FILE] x25519.cpython-310.pyc [ edit | delete | rename ]
[FILE] __init__.cpython-310.pyc [ edit | delete | rename ]
Viewing: /snap/core22/2437/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-310.pyc
o
-&%a � @ sL d dl mZ d dlmZmZmZ d dlmZ d dlm Z G dd� de
�ZdS )� )�utils)�InvalidSignature�UnsupportedAlgorithm�_Reasons)�
constant_time)�CBCc @ s\ e Zd Zddd�Ze�d�Zdeddfdd�Zdefd d
�Z ddd�Z
d
eddfdd�ZdS )�_CMACContextNc C s� |� |�stdtj��|| _|j| _|| _|jd | _ |d u ro| jj
}|t|�tf }|| j|t�}| jj
�� }| j�|| jjjk� | jj�|| jj
j�}| jj�| j�}| jj
�||t| j�|| jjj�}| j�|dk� || _d S )Nz#This backend does not support CMAC.� � )�cmac_algorithm_supportedr r �UNSUPPORTED_CIPHER�_backend�key�_key�
_algorithm�
block_size�_output_length�_cipher_registry�typer �_lib�CMAC_CTX_new�openssl_assert�_ffi�NULL�gc�
CMAC_CTX_free�from_buffer� CMAC_Init�len�_ctx) �self�backend� algorithm�ctx�registry�adapter�
evp_cipher�key_ptr�res� r) �K/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/cmac.py�__init__ s4
��
z_CMACContext.__init__r �data�returnc C s, | j j�| j|t|��}| j �|dk� d S )Nr
)r
r �CMAC_Updater r r )r r, r( r) r) r* �update6 s z_CMACContext.updatec C sd | j j�d| j�}| j j�d| j�}| j j�| j||�}| j �|dk� d | _| j j�|�d d � S )Nzunsigned char[]zsize_t *r
) r
r �newr r �
CMAC_Finalr r �buffer)r �buf�lengthr( r) r) r* �finalize: s z_CMACContext.finalizec C sV | j j�� }| j j�|| j jj�}| j j�|| j�}| j �|dk� t | j | j
|d�S )Nr
)r# )r
r r r r r �
CMAC_CTX_copyr r r r )r �
copied_ctxr( r) r) r* �copyD s
�z_CMACContext.copy� signaturec C s | � � }t�||�std��d S )NzSignature did not match digest.)r5 r �bytes_eqr )r r9 �digestr) r) r* �verifyM s �z_CMACContext.verify)N)r- r )�__name__�
__module__�__qualname__r+ r �read_only_propertyr"