File: //lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/cmac.cpython-310.pyc
o
�)%an � @ sX d dl mZ d dlmZmZmZ d dlmZ d dlm Z d dl
mZ G dd� de�Z
dS ) � )�utils)�AlreadyFinalized�UnsupportedAlgorithm�_Reasons)�_get_backend)�CMACBackend)�ciphersc @ s\ e Zd Z ddejfdd�Zdeddfdd�Zdefd d
�Zdeddfdd
�Z ddd�Z
dS )�CMACN� algorithmc C sd t |�}t|t�stdtj��t|tj�std��|| _ || _
|d u r-| j
�| j �| _d S || _d S )Nz.Backend object does not implement CMACBackend.z*Expected instance of BlockCipherAlgorithm.)
r �
isinstancer r r �BACKEND_MISSING_INTERFACEr �BlockCipherAlgorithm� TypeError�
_algorithm�_backend�create_cmac_ctx�_ctx)�selfr
�backend�ctx� r �E/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/cmac.py�__init__ s
�
z
CMAC.__init__�data�returnc C s. | j d u r td��t�d|� | j �|� d S )N�Context was already finalized.r )r r r �_check_bytes�update)r r r r r r &