U +¥MbZ ã@s0ddlmZddlmZddlmZdd„ZdS)é)Úis_bytesé)Ú KMAC_Hash)Ú cSHAKE256cKsŒ| dd¡}t|ƒstdƒ‚t|ƒdkr0tdƒ‚| dd¡}| dd¡}|d krXtd ƒ‚| d d ¡}|rxtd t|ƒƒ‚t||||dtdƒS)aµCreate a new KMAC256 object. Args: key (bytes/bytearray/memoryview): The key to use to compute the MAC. It must be at least 256 bits long (32 bytes). data (bytes/bytearray/memoryview): Optional. The very first chunk of the message to authenticate. It is equivalent to an early call to :meth:`KMAC_Hash.update`. mac_len (integer): Optional. The size of the authentication tag, in bytes. Default is 64. Minimum is 8. custom (bytes/bytearray/memoryview): Optional. A customization byte string (``S`` in SP 800-185). Returns: A :class:`KMAC_Hash` hash object ÚkeyNzYou must pass a key to KMAC256é z1The key must be at least 256 bits long (32 bytes)ÚdataÚmac_lené@éz!'mac_len' must be 8 bytes or moreÚcustomózUnknown parameters: Z20éˆ)ÚpoprÚ TypeErrorÚlenÚ ValueErrorÚstrrr)Úkwargsrrr r ©rú:/tmp/pip-target-t616c12r/lib/python/Crypto/Hash/KMAC256.pyÚnew%s     rN)ZCrypto.Util.py3compatrZKMAC128rÚrrrrrrÚs