§
    cÒ³gf  ã                  ó¦   — 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
mZ d dlmZ dd„Zdd„Zdd„Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )ÚannotationsN)Úutils)ÚAlreadyFinalizedÚ
InvalidKey)Úconstant_timeÚhashesÚhmac)ÚKeyDerivationFunctionÚnÚintÚreturnÚbytesc                ó0   — |                       dd¬¦  «        S )Né   Úbig)ÚlengthÚ	byteorder)Úto_bytes)r   s    új/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.pyÚ_int_to_u32ber      s   € Ø�:Š:˜Q¨%ˆ:Ñ0Ô0Ð0ó    Ú	algorithmúhashes.HashAlgorithmr   Ú	otherinfoúbytes | NoneÚNonec                ó~   — | j         dz  }||k    rt          d|› d�¦  «        ‚|�t          j        d|¦  «         d S d S )Nl   ÿÿ zCannot derive keys larger than z bits.r   )Údigest_sizeÚ
ValueErrorr   Ú_check_bytes)r   r   r   Ú
max_lengths       r   Ú_common_args_checksr"      s]   € ð
 Ô&¨)Ñ4€JØ�
ÒÐÝÐM¸:ÐMÐMÐMÑNÔNÐNØÐÝÔ˜;¨	Ñ2Ô2Ð2Ð2Ð2ð Ðr   Úkey_materialÚauxfnú'typing.Callable[[], hashes.HashContext]c                óÀ  — t          j        d| ¦  «         dg}d}d}||k    r  |¦   «         }|                     t          |¦  «        ¦  «         |                     | ¦  «         |                     |¦  «         |                     |                     ¦   «         ¦  «         |t          |d         ¦  «        z  }|dz  }||k    ° d                     |¦  «        d |…         S )Nr#   r   r   é   éÿÿÿÿ)r   Ú_check_byteslikeÚupdater   ÚappendÚfinalizeÚlenÚjoin)r#   r   r$   r   ÚoutputÚoutlenÚcounterÚhs           r   Ú_concatkdf_deriver3      sÙ   € õ 
Ô˜>¨<Ñ8Ô8Ð8ØˆU€FØ€FØ€Gà
�6Š/ˆ/ØˆE‰GŒGˆØ	�Š•˜wÑ'Ô'Ñ(Ô(Ð(Ø	�Š�ÑÔÐØ	�Š�ÑÔÐØ�Š�a—j’j‘l”lÑ#Ô#Ð#Ø•#�f˜R”j‘/”/Ñ!ˆØ�1‰ˆð �6Š/ˆ/ð �8Š8�FÑÔ˜G˜V˜GÔ$Ð$r   c                  ó2   — e Zd Z	 ddd
„Zdd„Zdd„Zdd„ZdS )ÚConcatKDFHashNr   r   r   r   r   r   Úbackendú
typing.Anyc                óh   — t          |||¦  «         || _        || _        |�|nd| _        d| _        d S )Nr   F)r"   Ú
_algorithmÚ_lengthÚ
_otherinfoÚ_used)Úselfr   r   r   r6   s        r   Ú__init__zConcatKDFHash.__init__7   s?   € õ 	˜I v¨yÑ9Ô9Ð9Ø#ˆŒØˆŒØ.7Ð.C  ÈˆŒàˆŒ
ˆ
ˆ
r   r   úhashes.Hashc                ó4   — t          j        | j        ¦  «        S ©N)r   ÚHashr9   ©r=   s    r   Ú_hashzConcatKDFHash._hashE   s   € ÝŒ{˜4œ?Ñ+Ô+Ð+r   r#   r   c                ón   — | j         rt          ‚d| _         t          || j        | j        | j        ¦  «        S ©NT)r<   r   r3   r:   rD   r;   ©r=   r#   s     r   ÚderivezConcatKDFHash.deriveH   ó:   € ØŒ:ð 	#Ý"Ð"ØˆŒ
Ý Ø˜$œ,¨¬
°D´Oñ
ô 
ð 	
r   Úexpected_keyr   c                ód   — t          j        |                      |¦  «        |¦  «        st          ‚d S rA   ©r   Úbytes_eqrH   r   ©r=   r#   rJ   s      r   ÚverifyzConcatKDFHash.verifyP   ó3   € ÝÔ% d§k¢k°,Ñ&?Ô&?ÀÑNÔNð 	ÝÐð	ð 	r   rA   )r   r   r   r   r   r   r6   r7   )r   r?   ©r#   r   r   r   ©r#   r   rJ   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r>   rD   rH   rO   © r   r   r5   r5   6   sn   € € € € € ð #ðð ð ð ð ð,ð ,ð ,ð ,ð
ð 
ð 
ð 
ðð ð ð ð ð r   r5   c                  ó2   — e Zd Z	 ddd„Zdd„Zdd„Zdd„ZdS )ÚConcatKDFHMACNr   r   r   r   Úsaltr   r   r6   r7   c                óö   — t          |||¦  «         || _        || _        |�|nd| _        |j        €t          |j        › d�¦  «        ‚|€d|j        z  }nt          j        d|¦  «         || _	        d| _
        d S )Nr   z is unsupported for ConcatKDFó    rY   F)r"   r9   r:   r;   Ú
block_sizeÚ	TypeErrorÚnamer   r    Ú_saltr<   )r=   r   r   rY   r   r6   s         r   r>   zConcatKDFHMAC.__init__V   s�   € õ 	˜I v¨yÑ9Ô9Ð9Ø#ˆŒØˆŒØ.7Ð.C  ÈˆŒàÔÐ'Ý˜yœ~ÐLÐLÐLÑMÔMÐMàˆ<Ø˜YÔ1Ñ1ˆDˆDåÔ˜v tÑ,Ô,Ð,àˆŒ
àˆŒ
ˆ
ˆ
r   r   ú	hmac.HMACc                ó@   — t          j        | j        | j        ¦  «        S rA   )r	   ÚHMACr_   r9   rC   s    r   Ú_hmaczConcatKDFHMAC._hmaco   s   € ÝŒy˜œ T¤_Ñ5Ô5Ð5r   r#   r   c                ón   — | j         rt          ‚d| _         t          || j        | j        | j        ¦  «        S rF   )r<   r   r3   r:   rc   r;   rG   s     r   rH   zConcatKDFHMAC.deriver   rI   r   rJ   r   c                ód   — t          j        |                      |¦  «        |¦  «        st          ‚d S rA   rL   rN   s      r   rO   zConcatKDFHMAC.verifyz   rP   r   rA   )
r   r   r   r   rY   r   r   r   r6   r7   )r   r`   rQ   rR   )rS   rT   rU   r>   rc   rH   rO   rV   r   r   rX   rX   U   sn   € € € € € ð #ðð ð ð ð ð26ð 6ð 6ð 6ð
ð 
ð 
ð 
ðð ð ð ð ð r   rX   )r   r   r   r   )r   r   r   r   r   r   r   r   )
r#   r   r   r   r$   r%   r   r   r   r   )Ú
__future__r   ÚtypingÚcryptographyr   Úcryptography.exceptionsr   r   Úcryptography.hazmat.primitivesr   r   r	   Ú"cryptography.hazmat.primitives.kdfr
   r   r"   r3   r5   rX   rV   r   r   ú<module>rl      s  ðð
 #Ð "Ð "Ð "Ð "Ð "à €€€à Ð Ð Ð Ð Ð Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ DÐ DÐ DÐ DÐ DÐ Dð1ð 1ð 1ð 1ð	3ð 	3ð 	3ð 	3ð%ð %ð %ð %ð.ð ð ð ð Ð)ñ ô ð ð>'ð 'ð 'ð 'ð 'Ð)ñ 'ô 'ð 'ð 'ð 'r   