Current File : //lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-312.pyc |
�
�3Tf$ � � � d dl mZ d dlZd dlmZ d dlmZmZmZm Z d dl
mZmZm
Z
mZmZ d dlmZ G d� dej$ � Z G d � d
ej$ � Z G d� d� Z G d
� de� Z G d� de� Zy)� )�annotationsN)�utils)�AlreadyFinalized�
InvalidKey�UnsupportedAlgorithm�_Reasons)�ciphers�cmac�
constant_time�hashes�hmac)�KeyDerivationFunctionc � � e Zd ZdZy)�Mode�ctrN)�__name__�
__module__�__qualname__�CounterMode� � �J/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/kbkdf.pyr r s � ��Kr r c � � e Zd ZdZdZdZy)�CounterLocation�before_fixed�after_fixed�middle_fixedN)r r r �BeforeFixed�
AfterFixed�MiddleFixedr r r r r s � � �K��J� �Kr r c �^ � e Zd Z dd�Zedd�� Zdd�Zd d�Zy)
�
_KBKDFDeriverc � � t |� sJ �t |t � st d� �t |t � st d� �|�|t j
u rt
d� �|�|t j
k7 rt
d� �|�t |t � st d� �|�|dk rt
d� �|s| r
|
rt
d� �|�| j |� st
d � �|�
|
�t
d
� �|�t |t � st d� �|�d}| �d} t j d
|� t j d| � || _ || _ || _
|| _ || _ || _ || _ || _ | | _ d| _ |
| _ y )Nzmode must be of type Modez(location must be of type CounterLocationzPlease specify a break_locationzJbreak_location is ignored when location is not CounterLocation.MiddleFixedz!break_location must be an integerr z)break_location must be a positive integerz9When supplying fixed data, label and context are ignored.zrlen must be between 1 and 4zPlease specify an llenzllen must be an integerr �label�contextF)�callable�
isinstancer � TypeErrorr r �
ValueError�int�_valid_byte_lengthr �_check_bytes�_prf�_mode�_length�_rlen�_llen� _location�_break_location�_label�_context�_used�_fixed_data)�self�prf�mode�length�rlen�llen�location�break_locationr$ r% �fixeds r �__init__z_KBKDFDeriver.__init__% s� � � ��}��}��$��%��7�8�8��(�O�4��F�G�G��!�h�/�2M�2M�&M��>�?�?�
�&��O�7�7�7��/��
�
�%�j���.M��?�@�@��%�.�1�*<��H�I�I��W�%��N��
� �<�t�6�6�t�<��;�<�<��<�E�M��5�6�6���J�t�S�$9��5�6�6��=��E��?��G�
���7�E�*�
���9�g�.��� ���
������
���
�!���-��������
���
� ��r c � � t | t � st d� �t j d| � }dt |� cxk rdk sy yy)Nzvalue must be of type int� � FT)r'