˺hfddlmZddlZddlmZddlmZmZddlm Z m Z m Z ddl m Z dd ZddZddZGdde ZGdde ZdS)) annotationsN)utils)AlreadyFinalized InvalidKey) constant_timehasheshmac)KeyDerivationFunctionnintreturnbytesc0|ddS)Nbig)length byteorder)to_bytes)r s /builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py _int_to_u32bers ::Q%: 0 00 algorithmhashes.HashAlgorithmr otherinfo bytes | NoneNonec~|jdz}||krtd|d|tjd|dSdS)NlzCannot derive keys larger than z bits.r) digest_size ValueErrorr _check_bytes)rrr max_lengths r_common_args_checksr"s] &)4J M:MMMNNN ; 22222r key_materialauxfn'typing.Callable[[], hashes.HashContext]ctjd|dg}d}d}||kr|}|t||||||||t |dz }|dz }||kd|d|S)Nr#rr)r_check_byteslikeupdaterappendfinalizelenjoin)r#rr$routputoutlencounterhs r_concatkdf_deriver3s  ><888UF FG 6// EGG w''(((   ajjll####fRj//!1  6// 88F  GVG $$rc2eZdZ ddd Zdd ZddZddZdS) ConcatKDFHashNrrrr rrbackend typing.Anycht|||||_||_||nd|_d|_dS)NrF)r" _algorithm_length _otherinfo_used)selfrrrr6s r__init__zConcatKDFHash.__init__7s? Ivy999# .7.C rr hashes.Hashc4tj|jSN)rHashr9r=s r_hashzConcatKDFHash._hashEs{4?+++rr#rcn|jrtd|_t||j|j|jSNT)r<rr3r:rDr;r=r#s rderivezConcatKDFHash.deriveH: : #" "  $, DO   r expected_keyrcdtj|||stdSrArbytes_eqrHrr=r#rJs rverifyzConcatKDFHash.verifyP3%dkk,&?&?NN    rrA)rrrr rrr6r7)r r?r#rr rr#rrJrr r)__name__ __module__ __qualname__r>rDrHrOrrr5r56sn #     ,,,,    rr5c2eZdZ ddd ZddZddZddZdS) ConcatKDFHMACNrrrr saltrrr6r7ct|||||_||_||nd|_|jt |jd| d|jz}ntjd|||_ d|_ dS)Nrz is unsupported for ConcatKDFrYF) r"r9r:r; block_size TypeErrornamerr _saltr<)r=rrrYrr6s rr>zConcatKDFHMAC.__init__Vs Ivy999# .7.C   'y~LLLMM M <Y11DD  vt , , ,  rr hmac.HMACc@tj|j|jSrA)r HMACr_r9rCs r_hmaczConcatKDFHMAC._hmacosyT_555rr#rcn|jrtd|_t||j|j|jSrF)r<rr3r:rcr;rGs rrHzConcatKDFHMAC.deriverrIrrJrcdtj|||stdSrArLrNs rrOzConcatKDFHMAC.verifyzrPrrA) rrrr rYrrrr6r7)r r`rQrR)rSrTrUr>rcrHrOrVrrrXrXUsn# 26666    rrX)r r r r)rrrr rrr r) r#rrr r$r%rrr r) __future__rtyping cryptographyrcryptography.exceptionsrrcryptography.hazmat.primitivesrrr "cryptography.hazmat.primitives.kdfr rr"r3r5rXrVrrrls #""""" @@@@@@@@FFFFFFFFFFDDDDDD1111 3 3 3 3%%%%.)>''''')'''''r