← Back
Editing: cSHAKE128.cpython-311.pyc
� 8�tc. � �t � d dl mZ d dlmZmZmZmZmZmZ d dl m Z d� Zd� Zd� Z G d� de� � Zdd�Zd S ) � )�bchr)�VoidPointer�SmartPointer�create_string_buffer�get_raw_buffer�c_size_t�c_uint8_ptr)�_raw_keccak_libc � � | ddz k r| dk sJ �| dk rdn| � � � dz dz }t |� � t | dz � � z }| dz } | dk r |t | dz � � z }| dz } | dk � |S )z2Left encode function as defined in NIST SP 800-185� � r � � � )� bit_lengthr )�x�num�encs �;/usr/lib/python3/dist-packages/Cryptodome/Hash/cSHAKE128.py�_left_encoder ) s� � � ��d��O�O��Q����� �A�v�v�!�!�A�L�L�N�N�Q�.�1�4�C� �s�)�)�d�1�t�8�n�n� $�C��!�G�A� �a�%�%��D��T��N�N�"�� �a��� �a�%�%� �J� c �z � t | � � dz }|ddz k rt d� � �t |� � | z S )z4Encode string function as defined in NIST SP 800-185r r r z$String too large to encode in cSHAKE)�len� ValueErrorr )r �bitlens r �_encode_strr ; sD � � ��V�V�a�Z�F� �!�t�)����?�@�@�@�����!�#�#r c �f � t |� � | z }|t |� � |z z |z }|d|z z S )z2Zero pad byte string as defined in NIST SP 800-185� )r r )r �length�to_pad�npads r �_bytepadr"