3Tf.ddlmZddlZddlmZddlmZddlmZddl m Z  ddZ d ddZ dd Z d dd Z d dd Z d dd ZGd deZy)) annotationsN)Cipher)AES)ECB)bytes_eqctt|tj}t |}t dD]h}t |D]X}|j |||z}tj|ddd||z|zdzz jdd}|dd||<Zj|jdk(sJ|dj|zS) Nbig byteorderlengthr ) rrr encryptorlenrangeupdateint from_bytesto_bytesfinalizejoin) wrapping_keyarrnjibs H/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/keywrap.py _wrap_corer$s s<(#%0::>@   S;. /!!#s***-21c+6F-J K[QU # K K,Q// LsC.ct|dkr tdt|dvr tdt|dk(r^tt |t j }|j|}|jdk(sJ|dd}|dd}d}nftdt|dDcgc] }|||dz } }| jd} t| }t|| | \}} dj| }tj|d dd } d|z| z } t|dd d r8d|dz z| cxkrd|zkr$n t| dk7rt|| dd | zs t| dk(r|S|d| Scc}w)Nr'zMust be at least 16 bytesr&r*rr rrr7r r r6r8)r InvalidUnwrapr,rrrr1rrrpopr4rrrr) r wrapped_keyr.r1outrdatarr!r encrypted_aivmlir"s r#aes_key_unwrap_with_paddingrDjs  ;"788 < ,JKK ;23|,ce4>>@ {+!!#s*** G12w -21c+6F-J K[QU # K Ka FL-;1xx{ ..12%. 0C Q# A QrU/ 0AE{S)AE)o F8D!Iw{;oAv CaRy/ Ls6Fct|dkr tdt|dzdk7r tdt|dvr tdd}tdt|dDcgc] }|||dz }}|j d}t |||\}}t ||s td j|Scc}w) Nr(zMust be at least 24 bytesr rz-The wrapped key must be a multiple of 8 bytesr&r*r+r)rr=r,rr>r4rr)rr?r.r9r!rrs r#aes_key_unwraprFs  ;"788 ;!q KLL < ,JKK -C).q#k2BA)FGAQQ GAG aA  a +DAq As o 88A; Hs(Cc eZdZy)r=N)__name__ __module__ __qualname__rr#r=r=srr=)rbytesrrLrtyping.List[bytes]returnrL)N)rrLr-rLr. typing.AnyrNrL)rrLrrLrrMrNz'typing.Tuple[bytes, typing.List[bytes]])rrLr?rLr.rOrNrL) __future__rtyping&cryptography.hazmat.primitives.ciphersr1cryptography.hazmat.primitives.ciphers.algorithmsr,cryptography.hazmat.primitives.ciphers.modesr,cryptography.hazmat.primitives.constant_timerr$r/r4r;rDrF Exceptionr=rKrr#rWs0 # 9A<A  6**** *& - 40000 08++++ +b 0 I r