File: //lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/cmac.cpython-38.pyc
U
�e�] � @ s` d dl mZmZmZ d dlmZ d dlmZmZm Z d dl
mZ d dlm
Z
G dd� de�ZdS ) � )�absolute_import�division�print_function)�utils)�AlreadyFinalized�UnsupportedAlgorithm�_Reasons)�CMACBackend)�ciphersc @ s6 e Zd Zddd�Zdd� Zdd� Zdd � Zd
d� ZdS )
�CMACNc C sZ t |t�stdtj��t |tj�s*td��|| _|| _ |d krP| j �
| j�| _n|| _d S )Nz.Backend object does not implement CMACBackend.z*Expected instance of BlockCipherAlgorithm.)�
isinstancer r r ZBACKEND_MISSING_INTERFACEr
ZBlockCipherAlgorithm� TypeError�
_algorithm�_backendZcreate_cmac_ctx�_ctx)�self� algorithm�backend�ctx� r �E/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/cmac.py�__init__ s
��z
CMAC.__init__c C s. | j d krtd��t�d|� | j �|� d S )N�Context was already finalized.�data)r r r �_check_bytes�update)r r r r r r # s
zCMAC.updatec C s&