%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-312.pyc

�

�3Tf$���ddlmZddlZddlmZddlmZmZmZm	Z	ddl
mZmZm
Z
mZmZddlmZGd�dej$�ZGd	�d
ej$�ZGd�d�ZGd
�de�ZGd�de�Zy)�)�annotationsN)�utils)�AlreadyFinalized�
InvalidKey�UnsupportedAlgorithm�_Reasons)�ciphers�cmac�
constant_time�hashes�hmac)�KeyDerivationFunctionc��eZdZdZy)�Mode�ctrN)�__name__�
__module__�__qualname__�CounterMode���J/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/kbkdf.pyrrs���Krrc��eZdZdZdZdZy)�CounterLocation�before_fixed�after_fixed�middle_fixedN)rrr�BeforeFixed�
AfterFixed�MiddleFixedrrrrrs�� �K��J� �Krrc�^�eZdZ																				dd�Zedd��Zdd�Zd	d�Zy)
�
_KBKDFDeriverc��t|�sJ�t|t�std��t|t�std��|�|tj
urt
d��|�|tj
k7rt
d��|�t|t�std��|�|dkrt
d��|s|	r
|
rt
d��|�|j|�st
d	��|�
|
�t
d
��|�t|t�std��|�d}|	�d}	tjd
|�tjd|	�||_||_||_
||_||_||_||_||_|	|_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 integerrz)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�	TypeErrorrr �
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�.���	���
������
���
�!���-��������
���
� ��rc��t|t�std��tjd|�}dt|�cxkrdksyyy)Nzvalue must be of type int��FT)r'r*r(r�int_to_bytes�len)�value�	value_bins  rr+z _KBKDFDeriver._valid_byte_lengthnsI���%��%��7�8�8��&�&�q�%�0�	��C�	�N�'�a�'��(��rc��|jrt�tjd|�d|_|j|z}dg}tj
d|j�}|tdt|�dz�dz
kDrtd��|j�}|jtjk(rd}|}n}|jtjk(r|}d}n[t|j t"�r#|j t|�kDrtd��|d|j }||j d}t%d|dz�D]k}	|j'|�}
tj
|	|j�}||z|z}|
j)|�|j+|
j-���mdj/|�d|jS)	N�key_materialTrrC��zThere are too many iterations.z"break_location offset > len(fixed))r6rr�_check_bytesliker/rEr0�powrFr)�_generate_fixed_inputr2rrrr'r3r*�ranger-�update�append�finalize�join)
r8rJ�prf_output_size�rounds�output�r_binr@�data_before_ctr�data_after_ctr�i�h�counter�
input_datas
             r�derivez_KBKDFDeriver.derivexs����:�:�"�"�
���~�|�<���
��L�L�=�O�3�4������"�"�1�d�j�j�1���C��3�u�:��>�*�Q�.�.��=�>�>��*�*�,���>�>�_�8�8�8�!�O�"�N�
�^�^��9�9�
9�#�O� �N���$�$�c���&�&��U��3� �!E�F�F�#�$:�d�&:�&:�;�O�"�4�#7�#7�#9�:�N��q�&�1�*�%�	(�A��	�	�,�'�A��(�(��D�J�J�7�G�(�7�2�^�C�J�
�H�H�Z� ��M�M�!�*�*�,�'�	(��x�x����$�,�,�/�/rc��|jr&t|jt�r|jStj|j
dz|j�}dj|jd|j|g�S)NrLr�)
r7r'�bytesrrEr/r1rTr4r5)r8�l_vals  rrOz#_KBKDFDeriver._generate_fixed_input�se�����
�4�+;�+;�U� C��#�#�#��"�"�4�<�<�!�#3�T�Z�Z�@���x�x����g�t�}�}�e�D�E�ErN)r9ztyping.Callabler:rr;r*r<r*r=�typing.Optional[int]r>rr?rdr$�typing.Optional[bytes]r%rer@re)rGr*�return�bool)rJrbrUr*rfrb)rfrb)rrrrA�staticmethodr+r_rOrrrr"r"$s���G!�
�G!��G!��	G!�
�G!�#�
G!�"�G!�-�G!�&�G!�(�G!�&�G!�R����.0�`Frr"c�`�eZdZ	ddd�																					dd�Zd	d�Zd
d�Zdd�Zy)�	KBKDFHMACN�r?c�"�t|tj�stdtj
��ddlm}|j|�stdtj
��||_	t|j|||||||||	�
|_y)Nz5Algorithm supplied is not a supported hash algorithm.r��backendz5Algorithm supplied is not a supported hmac algorithm.)
r'r�
HashAlgorithmrr�UNSUPPORTED_HASH�,cryptography.hazmat.backends.openssl.backendrn�hmac_supported�
_algorithmr"r-�_deriver)
r8�	algorithmr:r;r<r=r>r$r%r@rnr?�ossls
             rrAzKBKDFHMAC.__init__�s����)�V�%9�%9�:�&�G��)�)��
�
	
��"�"�9�-�&�G��)�)��
�
$���%��I�I����������
��
rc�B�tj||j�S�N)r
�HMACrs�r8rJs  rr-zKBKDFHMAC._prf�s���y�y��t���7�7rc�b�|jj||jj�Srx)rtr_rs�digest_sizerzs  rr_zKBKDFHMAC.derive�s#���}�}�#�#�L�$�/�/�2M�2M�N�Nrc�Z�tj|j|�|�st�yrx�r�bytes_eqr_r�r8rJ�expected_keys   r�verifyzKBKDFHMAC.verify��'���%�%�d�k�k�,�&?��N���Orrx)ruzhashes.HashAlgorithmr:rr;r*r<r*r=rdr>rr$rer%rer@rern�
typing.Anyr?rd)rJrbrfz	hmac.HMAC�rJrbrfrb�rJrbr�rbrf�None�rrrrAr-r_r�rrrrjrj�s���#�,
�04�,
�'�,
��,
��	,
�
�,
�#�
,
�"�,
�&�,
�(�,
�&�,
��,
�-�,
�\8�O�rrjc�\�eZdZ	ddd�																			dd�Zd	d�Zd
d�Zdd�Zy)�	KBKDFCMACNrkc��t|tj�rt|tj�st	dt
j��||_d|_t|j|||||||||	�
|_y)N�7Algorithm supplied is not a supported cipher algorithm.)�
issubclassr	�BlockCipherAlgorithm�CipherAlgorithmrr�UNSUPPORTED_CIPHERrs�_cipherr"r-rt)r8rur:r;r<r=r>r$r%r@rnr?s            rrAzKBKDFCMAC.__init__�s~����w�3�3�
��I�w�'>�'>�?�&�I��+�+��
�
$���FJ���%��I�I����������
��
rc�\�|j�J�tj|j�Srx)r�r
�CMAC)r8�_s  rr-zKBKDFCMAC._prfs%���|�|�'�'�'��y�y����&�&rc�&�|j|�|_|j�J�ddlm}|j	|j�stdtj��|jj||jjdz�S)Nrrmr�rL)rsr�rqrn�cmac_algorithm_supportedrrr�rtr_�
block_size)r8rJrvs   rr_zKBKDFCMAC.derives|�����|�4����|�|�'�'�'�	
��,�,�T�\�\�:�&�I��+�+��
�
�}�}�#�#�L�$�,�,�2I�2I�Q�2N�O�Orc�Z�tj|j|�|�st�yrxr~r�s   rr�zKBKDFCMAC.verify)r�rrx)r:rr;r*r<r*r=rdr>rr$rer%rer@rernr�r?rd)r�rbrfz	cmac.CMACr�r�r�rrrr�r��s���#�%
�04�%
��%
��	%
�
�%
�#�
%
�"�%
�&�%
�(�%
�&�%
��%
�-�%
�N'�
P�"rr�)�
__future__r�typing�cryptographyr�cryptography.exceptionsrrrr�cryptography.hazmat.primitivesr	r
rrr
�"cryptography.hazmat.primitives.kdfr�Enumrrr"rjr�rrr�<module>r�sv��
#�
������E��5�:�:��!�e�j�j�!�JF�JF�Z7�%�7�t@�%�@r

Zerion Mini Shell 1.0