HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-38.pyc
U

�e�]�
�@s�ddlmZmZmZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
ddlmZmZddlmZe�e�Gdd	�d	e��Ze�e�Gd
d�de��ZdS)�)�absolute_import�division�print_functionN)�utils)�AlreadyFinalized�
InvalidKey�UnsupportedAlgorithm�_Reasons)�HMACBackend)�
constant_time�hmac)�KeyDerivationFunctionc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�HKDFcCs`t|t�stdtj��||_|dkr2d|jj}nt�d|�||_	||_
t|j|||�|_dS)N�.Backend object does not implement HMACBackend.��salt)
�
isinstancer
rr	�BACKEND_MISSING_INTERFACE�
_algorithm�digest_sizer�_check_bytes�_salt�_backend�
HKDFExpand�_hkdf_expand)�self�	algorithm�lengthr�info�backend�r �I/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/hkdf.py�__init__s
�z
HKDF.__init__cCs(tj|j|j|jd�}|�|�|��S)N�r)r�HMACrrr�update�finalize)r�key_material�hr r r!�_extract(s
z
HKDF._extractcCst�d|�|j�|�|��S)Nr')r�_check_bytesliker�deriver)�rr'r r r!r+-szHKDF.derivecCst�|�|�|�st�dS�N�rZbytes_eqr+r�rr'Zexpected_keyr r r!�verify1szHKDF.verifyN)�__name__�
__module__�__qualname__r"r)r+r0r r r r!rsrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
rcCsrt|t�stdtj��||_||_d|j}||krBtd�	|���||_
|dkrVd}nt�d|�||_
d|_dS)Nr�z*Can not derive keys larger than {} octets.�rF)rr
rr	rrrr�
ValueError�format�_lengthrr�_info�_used)rrrrrZ
max_lengthr r r!r"8s(
�
��zHKDFExpand.__init__cCs�dg}d}|jjt|�d|jkrztj||j|jd�}|�|d�|�|j�|�t	�
|��|�|���|d7}q
d�
|�d|j�S)Nr5�r#���)rr�lenr8rr$rr%r9�sixZint2byte�appendr&�join)rr'�outputZcounterr(r r r!�_expandVs
zHKDFExpand._expandcCs&t�d|�|jrt�d|_|�|�S)Nr'T)rr*r:rrBr,r r r!r+ds
zHKDFExpand.derivecCst�|�|�|�st�dSr-r.r/r r r!r0lszHKDFExpand.verifyN)r1r2r3r"rBr+r0r r r r!r6sr)Z
__future__rrrr>ZcryptographyrZcryptography.exceptionsrrrr	Z'cryptography.hazmat.backends.interfacesr
Zcryptography.hazmat.primitivesrrZ"cryptography.hazmat.primitives.kdfr
Zregister_interface�objectrrr r r r!�<module>s#