3 ê…h� ã @ s| d dl mZmZmZ d dlmZ d dlmZmZm Z d dl mZ d dlm Z d dlmZmZ ejejƒG dd„ deƒƒZd S ) é )Úabsolute_importÚdivisionÚprint_function)Úutils)ÚAlreadyFinalizedÚUnsupportedAlgorithmÚ_Reasons)Ú_get_backend)ÚCMACBackend)ÚciphersÚmacc @ s6 e Zd Zddd„Zdd„ Zdd„ Zdd „ Zd d„ ZdS ) ÚCMACNc C sb t |ƒ}t|tƒstdtjƒ‚t|tjƒs2tdƒ‚|| _ || _ |d krX| j j| j ƒ| _n|| _d S )Nz.Backend object does not implement CMACBackend.z*Expected instance of BlockCipherAlgorithm.) r Ú isinstancer r r ZBACKEND_MISSING_INTERFACEr ZBlockCipherAlgorithmÚ TypeErrorÚ _algorithmÚ_backendZcreate_cmac_ctxÚ_ctx)ÚselfÚ algorithmÚbackendÚctx© r ú/usr/lib64/python3.6/cmac.pyÚ__init__ s z CMAC.__init__c C s. | j d krtdƒ‚tjd|ƒ | j j|ƒ d S )NzContext was already finalized.Údata)r r r Ú_check_bytesÚupdate)r r r r r r &