/
lib
/
python3
/
dist-packages
/
cryptography
/
hazmat
/
primitives
/
kdf
/
__pycache__
/
Upload File
HOME
� p�g� � � � d dl Z d dlmZ d dlmZmZ d dlmZmZm Z d dl mZ dede fd�Zd ej d ede j e ddfd�Zd e d ede j g ej f de de f d�Z G d� de� � Z G d� de� � ZdS )� N)�utils)�AlreadyFinalized� InvalidKey)� constant_time�hashes�hmac)�KeyDerivationFunction�n�returnc �0 � | � dd�� � S )N� �big)�length� byteorder)�to_bytes)r s �N/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/concatkdf.py� _int_to_u32ber s � ��:�:�Q�%�:�0�0�0� � algorithmr � otherinfoc � � | j dz }||k r"t d� |� � � � �|�t j d|� � d S d S )Nl �� z'Cannot derive keys larger than {} bits.r )�digest_size� ValueError�formatr �_check_bytes)r r r � max_lengths r �_common_args_checksr sh � � �&�)�4�J� � ����5�<�<�Z�H�H� � � � �� ��;� �2�2�2�2�2� �r �key_material�auxfnc � � t j d| � � dg}d}d}||k r� |� � }|� t |� � � � |� | � � |� |� � |� |� � � � � |t |d � � z }|dz }||k ��d� |� � d |� S )Nr r r � ���)r �_check_byteslike�updater �append�finalize�len�join)r r r r �output�outlen�counter�hs r �_concatkdf_deriver- # s� � � ��>�<�8�8�8��U�F� �F��G� �6�/�/��E�G�G�� ����w�'�'�(�(�(� ������� �������� � �a�j�j�l�l�#�#�#��#�f�R�j�/�/�!���1��� �6�/�/� �8�8�F���G�V�G�$�$r c � � e Zd Z d dej dedej e dej fd�Z dej fd�Zd edefd �Z d ededdfd�ZdS )� ConcatKDFHashNr r r �backendc �h � t |||� � || _ || _ |�|nd| _ d| _ d S )Nr F)r � _algorithm�_length� _otherinfo�_used)�selfr r r r0 s r �__init__zConcatKDFHash.__init__; s? � � �I�v�y�9�9�9�#������.7�.C�������� � � r r c �4 � t j | j � � S �N)r �Hashr2 �r6 s r �_hashzConcatKDFHash._hashI s � ��{�4�?�+�+�+r r c �n � | j rt �d| _ t || j | j | j � � S �NT)r5 r r- r3 r<