bg$ddlmZddlZddlmZddlmZmZmZm Z ddl m Z m Z m Z mZmZddlmZGddejZGd d ejZGd d ZGd deZGddeZdS)) annotationsN)utils)AlreadyFinalized InvalidKeyUnsupportedAlgorithm_Reasons)cipherscmac constant_timehasheshmac)KeyDerivationFunctionceZdZdZdS)ModectrN)__name__ __module__ __qualname__ CounterMode{/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib64/python3.11/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.pyrrsKKKrrceZdZdZdZdZdS)CounterLocation before_fixed after_fixed middle_fixedN)rrr BeforeFixed AfterFixed MiddleFixedrrrrrs KJ KKKrrc>eZdZddZeddZddZddZdS) _KBKDFDeriverprftyping.Callablemoderlengthintrlenllentyping.Optional[int]locationrbreak_locationlabeltyping.Optional[bytes]contextfixedc t|sJt|tstdt|tstd||tjurt d||tjkrt d|$t|tstd||dkrt d|s| r| rt d|||st d || t d |$t|tstd |d }| d } tj d |tj d| ||_ ||_ ||_ ||_||_||_||_||_| |_d|_| |_dS)Nzmode must be of type Modez(location must be of type CounterLocationzPlease specify a break_locationzJbreak_location is ignored when location is not CounterLocation.MiddleFixedz!break_location must be an integerrz)break_location must be a positive integerz9When supplying fixed data, label and context are ignored.zrlen must be between 1 and 4zPlease specify an llenzllen must be an integerrr-r/F)callable isinstancer TypeErrorrr ValueErrorr'_valid_byte_lengthr _check_bytes_prf_mode_length_rlen_llen _location_break_location_label_context_used _fixed_data) selfr#r%r&r(r)r+r,r-r/r0s r__init__z_KBKDFDeriver.__init__%s }}}$%% 9788 8(O44 HFGG G  !h/2M&M&M>?? ?  &O777/   %j.M.M %?@@ @  %.1*<*<HII I  W % N   len(fixed))rArr_check_bytesliker:rKr;powrLr5_generate_fixed_inputr=rrrr3r>r'ranger8updateappendfinalizejoin) rCrNrProundsoutputr_binr0data_before_ctrdata_after_ctrihcounter input_datas rderivez_KBKDFDeriver.derivexs : #" " ~|<<< L=O34 "1dj11 C3u::>**Q. . .=>> >**,, >_8 8 8!O"NN ^9 9 9#O NN$c G&U33 !EFFF#$:d&:$:;O"4#7#9#9:Nq&1*%% ( (A ,''A(DJ77G(72^CJ HHZ MM!**,, ' ' ' 'xx$,//rc|jr!t|jtr|jStj|jdz|j}d|jd|j |gS)NrSr) rBr3rOrrKr:r<r[r?r@)rCl_vals rrVz#_KBKDFDeriver._generate_fixed_inputsd   $ 4+;U C C $# #"4?? 'I+  $FJ % I             r_rOrF cmac.CMACcF|jJtj|jSr|)rr CMAC)rCrs rr8zKBKDFCMAC._prfs"|'''y&&&rrNc |||_|jJddlm}||jst dt j|j ||jj dzS)NrrrrrS) rwrrurocmac_algorithm_supportedrrrrxre block_size)rCrNrys rrezKBKDFCMAC.derives|44 |'''      ,,T\:: &I+  }##L$,2IQ2NOOOrrrcdtj|||stdSr|rrs rrzKBKDFCMAC.verify)rrr|)r%rr&r'r(r'r)r*r+rr-r.r/r.r0r.rorpr,r*)rrOrFrrrrrrrrrs#% 04% % % % % % N'''' PPPP"rr) __future__rtyping cryptographyrcryptography.exceptionsrrrrcryptography.hazmat.primitivesr r r r r "cryptography.hazmat.primitives.kdfrEnumrrr"rkrrrrrs #"""""  EDDDDD5:!!!!!ej!!! JFJFJFJFJFJFJFJFZ77777%777t@@@@@%@@@@@r