HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-312.pyc
�

�3Tf����ddlmZddlZddlmZddlmZmZddlm	Z	m
Z
mZddlm
Z
Gd�de
�ZGd	�d
e
�Zy)�)�annotationsN)�utils)�AlreadyFinalized�
InvalidKey)�
constant_time�hashes�hmac)�KeyDerivationFunctionc�B�eZdZ	d									dd�Zdd�Zdd�Zd	d�Zy)
�HKDFNc��||_|�d|jjz}ntjd|�||_t|j||�|_y)N��salt)�
_algorithm�digest_sizer�_check_bytes�_salt�
HKDFExpand�_hkdf_expand)�self�	algorithm�lengthr�info�backends      �I/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/hkdf.py�__init__z
HKDF.__init__sP��$����<��T�_�_�8�8�8�D����v�t�,���
�&�t�����E���c��tj|j|j�}|j	|�|j�S�N)r	�HMACrr�update�finalize)r�key_material�hs   r�_extractz
HKDF._extract#s2���I�I�d�j�j�$�/�/�2��	������z�z�|�rc��tjd|�|jj|j	|��S)Nr#)r�_check_bytesliker�deriver%�rr#s  rr(zHKDF.derive(s2��
���~�|�<�� � �'�'��
�
�l�(C�D�Drc�Z�tj|j|�|�st�yr�r�bytes_eqr(r�rr#�expected_keys   r�verifyzHKDF.verify,�'���%�%�d�k�k�,�&?��N���Orr)
r�hashes.HashAlgorithmr�intr�typing.Optional[bytes]rr3r�
typing.Any�r#�bytes�returnr6�r#r6r.r6r7�None)�__name__�
__module__�__qualname__rr%r(r/�rrrrsR��#�
F�'�F��F�%�	F�
%�F��
F�&�
E�rrc�>�eZdZ	d							dd�Zdd�Zdd�Zd	d�Zy)
rNc��||_d|jz}||kDrtd|�d���||_|�d}nt	j
d|�||_d|_y)N�zCannot derive keys larger than z octets.rrF)rr�
ValueError�_lengthrr�_info�_used)rrrrr�
max_lengths      rrzHKDFExpand.__init__2sm��$����9�0�0�0�
��J���1�*��X�F��
�����<��D����v�t�,���
���
rc�.�dg}d}|jjt|�dz
z|jkr�t	j
||j�}|j
|d�|j
|j�|j
t|g��|j|j��|dz
}|jjt|�dz
z|jkr��dj|�d|jS)Nr����)rr�lenrBr	r r!rCr6�appendr"�join)rr#�output�counterr$s     r�_expandzHKDFExpand._expandMs���������o�o�)�)�S��[�1�_�=����L��	�	�,����8�A�
�H�H�V�B�Z� �
�H�H�T�Z�Z� �
�H�H�U�G�9�%�&��M�M�!�*�*�,�'��q�L�G�
�o�o�)�)�S��[�1�_�=����L��x�x����$�,�,�/�/rc��tjd|�|jrt�d|_|j	|�S)Nr#T)rr'rDrrNr)s  rr(zHKDFExpand.derive[s5��
���~�|�<��:�:�"�"���
��|�|�L�)�)rc�Z�tj|j|�|�st�yrr+r-s   rr/zHKDFExpand.verifycr0rr)rr1rr2rr3rr4r5r8)r:r;r<rrNr(r/r=rrrr1sA��#��'����%�	�
��60�*�rr)�
__future__r�typing�cryptographyr�cryptography.exceptionsrr�cryptography.hazmat.primitivesrrr	�"cryptography.hazmat.primitives.kdfr
rrr=rr�<module>rWs7��
#�
��@�F�F�D�� ��D4�&�4r