՟oO d dl mZ d dlmZ d dlmZ d dlmZmZ d dl m Z mZmZ d dl mZ dZd dZ G d d e Z ddZdS ) ) unhexlify)BLAKE2s)strxor) long_to_bytes bytes_to_long)bordtobytes_copy_bytes)get_random_bytesNc t | dz |z }t |t | t | d S )N )r r len)bsxor_lsbnums r/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Hash/CMAC.py_shift_bytesr $ s@ !W ,Cc"gg&&Bxyy11 c F e Zd ZdZdZd Zd Zd Zd Zd Z d Z d Zd ZdS )CMACzA CMAC hash object. Do not instantiate directly. Use the :func:`new` function. :ivar digest_size: the size in bytes of the resulting MAC tag :vartype digest_size: integer Nc h || _ t d d | | _ || _ || _ |j x| _ }d | _ || _ |dk r d}d| _ n"|dk r d}d| _ nt d|z d|z } |j ||j fi | j | _ | j | } t | d d z rt! | | | _ nt! | | _ t | j d d z rt! | j | | _ nt! | j | _ |j ||j | fi | j | _ t+ | | _ d | _ | | _ d | _ d | _ |r| | d S d S )N i l zACMAC requires a cipher with a block size of 8 or 16 bytes, not %d r )digest_sizer _key_factory_cipher_params block_size_block_size_mac_tag_update_after_digest _max_size TypeErrornewMODE_ECB_ecbencryptr r _k1_k2MODE_CBC_cbc bytearray_cache_cache_n_last_ct_last_pt _data_sizeupdate)selfkeymsg ciphermod cipher_paramsmac_lenupdate_after_digestr const_Rb zero_blockLs r __init__z CMAC.__init__3 s #dC00 ! + ) 442 $7! 77H*DNN 2XXH+DNN 8:<= > > > r\ !IM#"+"49 9$($79 9 Ij))!:: '#Ax00DHH#ADHt# .#DHh77DHH#DH--DH "IM#"+"4",9 9 %)$79 9 mm # KK r c | j | j st d | xj t | z c_ | j }| j dk rt || j z t | }|d| | j | j | j |z <