§
    cÒ³gÈ  ã                  óv   — d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZ dd„Z G d„ de¦  «        ZdS )é    )ÚannotationsN)Úutils)ÚAlreadyFinalizedÚ
InvalidKey)Úconstant_timeÚhashes)ÚKeyDerivationFunctionÚnÚintÚreturnÚbytesc                ó0   — |                       dd¬¦  «        S )Né   Úbig)ÚlengthÚ	byteorder)Úto_bytes)r
   s    úh/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.pyÚ_int_to_u32ber      s   € Ø�:Š:˜Q¨%ˆ:Ñ0Ô0Ð0ó    c                  ó*   — e Zd Z	 ddd
„Zdd„Zdd„ZdS )ÚX963KDFNÚ	algorithmúhashes.HashAlgorithmr   r   Ú
sharedinfoúbytes | NoneÚbackendú
typing.Anyc                ó²   — |j         dz  }||k    rt          d|› d�¦  «        ‚|�t          j        d|¦  «         || _        || _        || _        d| _        d S )Nl   ÿÿ zCannot derive keys larger than z bits.r   F)Údigest_sizeÚ
ValueErrorr   Ú_check_bytesÚ
_algorithmÚ_lengthÚ_sharedinfoÚ_used)Úselfr   r   r   r   Úmax_lens         r   Ú__init__zX963KDF.__init__   sp   € ð Ô'¨9Ñ5ˆØ�GÒÐÝÐN¸wÐNÐNÐNÑOÔOÐOØÐ!ÝÔ˜|¨ZÑ8Ô8Ð8à#ˆŒØˆŒØ%ˆÔØˆŒ
ˆ
ˆ
r   Úkey_materialr   r   c                ó>  — | j         rt          ‚d| _         t          j        d|¦  «         dg}d}d}| j        |k    rÀt          j        | j        ¦  «        }|                     |¦  «         |                     t          |¦  «        ¦  «         | j
        �|                     | j
        ¦  «         |                     |                     ¦   «         ¦  «         |t          |d         ¦  «        z  }|dz  }| j        |k    °Àd                     |¦  «        d | j        …         S )NTr*   r   r   é   éÿÿÿÿ)r&   r   r   Ú_check_bytesliker$   r   ÚHashr#   Úupdater   r%   ÚappendÚfinalizeÚlenÚjoin)r'   r*   ÚoutputÚoutlenÚcounterÚhs         r   ÚderivezX963KDF.derive&   s
  € ØŒ:ð 	#Ý"Ð"ØˆŒ
ÝÔ˜~¨|Ñ<Ô<Ð<Ø�ˆØˆØˆàŒl˜VÒ#Ð#Ý”˜DœOÑ,Ô,ˆAØ�HŠH�\Ñ"Ô"Ð"Ø�HŠH•] 7Ñ+Ô+Ñ,Ô,Ð,ØÔÐ+Ø—’˜Ô)Ñ*Ô*Ð*Ø�MŠM˜!Ÿ*š*™,œ,Ñ'Ô'Ð'Ø•c˜& œ*‘o”oÑ%ˆFØ�q‰LˆGð Œl˜VÒ#Ð#ð �xŠx˜ÑÔ  $¤, Ô/Ð/r   Úexpected_keyÚNonec                ód   — t          j        |                      |¦  «        |¦  «        st          ‚d S ©N)r   Úbytes_eqr9   r   )r'   r*   r:   s      r   ÚverifyzX963KDF.verify;   s3   € ÝÔ% d§k¢k°,Ñ&?Ô&?ÀÑNÔNð 	ÝÐð	ð 	r   r=   )r   r   r   r   r   r   r   r   )r*   r   r   r   )r*   r   r:   r   r   r;   )Ú__name__Ú
__module__Ú__qualname__r)   r9   r?   © r   r   r   r      sZ   € € € € € ð #ðð ð ð ð ð$0ð 0ð 0ð 0ð*ð ð ð ð ð r   r   )r
   r   r   r   )Ú
__future__r   ÚtypingÚcryptographyr   Úcryptography.exceptionsr   r   Úcryptography.hazmat.primitivesr   r   Ú"cryptography.hazmat.primitives.kdfr	   r   r   rC   r   r   ú<module>rJ      s¿   ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€à Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø DÐ DÐ DÐ DÐ DÐ Dð1ð 1ð 1ð 1ð*ð *ð *ð *ð *Ð#ñ *ô *ð *ð *ð *r   