§ pïg× ãó‚—ddlZddlmZddlmZmZddlmZmZm Z ddl m Z Gd„de ¦«Z Gd„d e ¦«Z dS) éN)Úutils)ÚAlreadyFinalizedÚ InvalidKey)Ú constant_timeÚhashesÚhmac)ÚKeyDerivationFunctionc ó¢—eZdZ ddejdedejedejedej f d„Z ded efd „Z ded efd „Z ded ed dfd „Z dS)ÚHKDFNÚ algorithmÚlengthÚsaltÚinfoÚbackendcó¦—||_|€d|jjz}ntjd|¦«||_t |j||¦«|_dS)Nór)Ú _algorithmÚ digest_sizerÚ _check_bytesÚ_saltÚ HKDFExpandÚ _hkdf_expand)Úselfr r rrrs úI/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/hkdf.pyÚ__init__z HKDF.__init__sW€ð$ˆŒà ˆ<ؘTœ_Ô8Ñ8ˆDˆDå Ô ˜v tÑ ,Ô ,Ð ,àˆŒ å& t¤¸ÀÑEÔEˆÔÐÐóÚ key_materialÚreturncó’—tj|j|j¦«}| |¦«| ¦«S©N)rÚHMACrrÚupdateÚfinalize)rrÚhs rÚ_extractz HKDF._extract%s7€Ý ŒId”j $¤/Ñ 2Ô 2ˆØ ŠÑÔÐØzŠz‰|Œ|Ðrcó†—tjd|¦«|j | |¦«¦«S)Nr)rÚ_check_byteslikerÚderiver%©rrs rr(z HKDF.derive*s8€Ý Ô˜~¨|Ñ<Ô<Ð<ØÔ ×'Ò'¨¯ ª °lÑ(CÔ(CÑDÔDÐDrÚ expected_keycód—tj| |¦«|¦«st‚dSr ©rÚbytes_eqr(r©rrr*s rÚverifyz HKDF.verify.ó3€ÝÔ% d§k¢k°,Ñ&?Ô&?ÀÑNÔNð ÝÐ ð ð rr )Ú__name__Ú __module__Ú __qualname__rÚ HashAlgorithmÚintÚtypingÚOptionalÚbytesÚAnyrr%r(r/©rrr r sò€€€€€ð#ð FðFàÔ'ðFððFðŒo˜eÔ$ð Fð Œo˜eÔ$ð Fð ”ð FðFðFðFð& Uð¨uððððð E 5ðE¨UðEðEðEðEð 5ð¸ðÀ$ððððððrr c óˆ—eZdZ d dejdedejedej fd„Z dedefd „Z dedefd „Z ded eddfd „Z dS)rNr r rrcóÖ—||_d|jz}||kr"td |¦«¦«‚||_|€d}nt jd|¦«||_d|_dS)Néÿz)Cannot derive keys larger than {} octets.rrF) rrÚ ValueErrorÚformatÚ_lengthrrÚ_infoÚ_used)rr r rrÚ max_lengths rrzHKDFExpand.__init__4s€€ð$ˆŒà˜9Ô0Ñ0ˆ à JÒ Ð ÝØ;×BÒBÀ:ÑNÔNñôð ðˆŒ à ˆ<؈DˆDå Ô ˜v tÑ ,Ô ,Ð ,àˆŒ àˆŒ ˆ ˆ rrrcó,—dg}d}|jjt|¦«dz z|jkrÆt j||j¦«}| |d¦«| |j¦«| t|g¦«¦«|  |  ¦«¦«|dz }|jjt|¦«dz z|jk°Æd  |¦«d|j…S)Nrééÿÿÿÿ) rrÚlenr@rr!r"rAr8Úappendr#Újoin)rrÚoutputÚcounterr$s rÚ_expandzHKDFExpand._expandOsí€ØˆØˆàŒoÔ)­S°©[¬[¸1©_Ñ=ÀÄ ÒLÐLÝ” ˜,¨¬Ñ8Ô8ˆAØ HŠHV˜B”ZÑ Ô Ð Ø HŠHT”ZÑ Ô Ð Ø HŠH•U˜G˜9Ñ%Ô%Ñ &Ô &Ð &Ø MŠM˜!Ÿ*š*™,œ,Ñ 'Ô 'Ð 'Ø q‰LˆGð ŒoÔ)­S°©[¬[¸1©_Ñ=ÀÄ ÒLÐLðxŠx˜ÑÔ  $¤, Ô/Ð/rcó€—tjd|¦«|jrt‚d|_| |¦«S)NrT)rr'rBrrLr)s rr(zHKDFExpand.derive]s>€Ý Ô˜~¨|Ñ<Ô<Ð<Ø Œ:ð #Ý"Ð "àˆŒ Ø|Š|˜LÑ)Ô)Ð)rr*cód—tj| |¦«|¦«st‚dSr r,r.s rr/zHKDFExpand.verifyer0rr )r1r2r3rr4r5r6r7r8r9rrLr(r/r:rrrr3sÑ€€€€€ð #ð ðàÔ'ððððŒo˜eÔ$ð ð ”ð ðððð6 0 Eð 0¨eð 0ð 0ð 0ð 0ð* 5ð*¨Uð*ð*ð*ð*ð 5ð¸ðÀ$ððððððrr)r6Ú cryptographyrÚcryptography.exceptionsrrÚcryptography.hazmat.primitivesrrrÚ"cryptography.hazmat.primitives.kdfr r rr:rrúrSsÞðð € € € àÐÐÐÐÐðððððððððGÐFÐFÐFÐFÐFÐFÐFÐFÐFØDÐDÐDÐDÐDÐDðððððÐ ñôððD4ð4ð4ð4ð4Ð&ñ4ô4ð4ð4ð4r