HOME


Mini Shell 1.0
DIR: /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-312.pyc
�

�3Tf.���ddlmZddlZddlmZddlmZddlmZddl	m
Z
								dd�Z	d							dd�Z								dd	�Z
	d							dd
�Z	d							dd�Z	d							dd�ZGd
�de�Zy)�)�annotationsN)�Cipher)�AES)�ECB)�bytes_eqc��tt|�t��j�}t	|�}td�D]h}t|�D]X}|j
|||z�}tj|ddd��||z|zdzzjdd��}|dd||<�Z�j|j�dk(sJ�|dj|�zS)	N���big��	byteorder���lengthr
����)rrr�	encryptor�len�range�update�int�
from_bytes�to_bytes�finalize�join)�wrapping_key�a�rr�n�j�i�bs        �H/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/keywrap.py�
_wrap_corer$s����s�<�(�#�%�0�:�:�<�I��A��A�
�1�X�	���q��	�A�� � ��Q�q�T��*�A����q��!�u���6�1�q�5�A�+��/�J��h�a�5�h�1�
��R�S�6�A�a�D�	�	�����3�&�&�&��s�x�x��{�?�rc��t|�dvrtd��t|�dkrtd��t|�dzdk7rtd��d}tdt|�d�D�cgc]
}|||dz��}}t|||�Scc}w)	N���� �/The wrapping key must be a valid AES key lengthr'z)The key to wrap must be at least 16 bytesr
rz-The key to wrap must be a multiple of 8 bytes���������)r�
ValueErrorrr$)r�key_to_wrap�backendrr!rs      r#�aes_key_wrapr/'s���
�<���,��J�K�K�
�;��"���D�E�E�
�;��!��q� ��H�I�I�+�A�).�q�#�k�2B�A�)F�G�A��Q��Q��	�G�A�G��l�A�q�)�)��	Hs�(Bc��tt|�t��j�}t	|�}tt
d��D]s}tt
|��D]Z}tj|d��||z|zdzzjdd��||z}|j|�}|dd}|dd||<�\�u|j�dk(sJ�||fS)	Nr	rrrr
rrr)rrr�	decryptorr�reversedrrrrrr)	rrrr1rr r!�atrr"s	         r#�_unwrap_corer4:s����s�<�(�#�%�0�:�:�<�I��A��A�
�e�A�h�
�	���%��(�#�	�A����q�E��2�q�1�u��k�A�o�F��h�a�5�h�1�A�a�D�9�C�
� � ��%�A��"�1��A��R�S�6�A�a�D�	�	�����3�&�&�&��a�4�Krc���t|�dvrtd��dt|�jdd��z}dt|�dzz
dz}|d|zz}t|�dk(rVtt	|�t��j
�}|j||z�}|j�d	k(sJ�|Std
t|�d�D�cgc]
}|||dz��}}t|||�Scc}w)Nr&r*��YY��rrr
�rr)rr,rrrrrrrrr$)	rr-r.�aiv�padrr"r!rs	         r#�aes_key_wrap_with_paddingr;Qs��
�<���,��J�K�K�
��K� 0� 9� 9��E�!:�!��C�
��K� �1�$�%��
*�C���#�
�-�K�
�;��1���3�|�,�c�e�4�>�>�@�	����S�;�.�/���!�!�#�s�*�*�*���-2�1�c�+�6F��-J�K��[��Q��U�
#�K��K��,��Q�/�/��
Ls�C.c��t|�dkrtd��t|�dvrtd��t|�dk(r^tt	|�t��j
�}|j|�}|j�dk(sJ�|dd}|dd}d}nftdt|�d�D�cgc]
}|||dz��}	}|	jd�}
t|	�}t||
|	�\}}	dj|	�}tj|d	dd
��}d|z|z
}t|dd	d�r8d|dz
z|cxkrd|zkr$nt��|dk7rt||dd
|z�s
t��|dk(r|S|d|Scc}w)Nr'zMust be at least 16 bytesr&r*rr
rrr7rrr6r8)r�
InvalidUnwrapr,rrrr1rrr�popr4rrrr)
r�wrapped_keyr.r1�outr�datarr!r�
encrypted_aiv�mlir"s
             r#�aes_key_unwrap_with_paddingrDjs���
�;��"���7�8�8�
�<���,��J�K�K�
�;��2���3�|�,�c�e�4�>�>�@�	����{�+���!�!�#�s�*�*�*����G���1�2�w��
��-2�1�c�+�6F��-J�K��[��Q��U�
#�K��K����a��
���F���L�-��;���1��x�x��{���.�.��1�2��%�.�
0�C�	
�Q��#�
�A��Q�r��U�/�0��A��E�{�S�)�A��E�)��o��
��F�8�D�!���I�w��{�;��o���A�v����C�a�R�y���/
Ls�6Fc��t|�dkrtd��t|�dzdk7rtd��t|�dvrtd��d}tdt|�d�D�cgc]
}|||dz��}}|j	d�}t|||�\}}t
||�s
t��d	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_unwraprF�s���
�;��"���7�8�8�
�;��!��q� ��K�L�L�
�<���,��J�K�K�
-�C�).�q�#�k�2B�A�)F�G�A��Q��Q��	�G�A�G�	���a��A���a��+�D�A�q��A�s���o���8�8�A�;���
	Hs�(Cc��eZdZy)r=N)�__name__�
__module__�__qualname__�rr#r=r=�s��rr=)r�bytesrrLr�typing.List[bytes]�returnrL)N)rrLr-rLr.�
typing.AnyrNrL)rrLrrLrrMrNz'typing.Tuple[bytes, typing.List[bytes]])rrLr?rLr.rOrNrL)�
__future__r�typing�&cryptography.hazmat.primitives.ciphersr�1cryptography.hazmat.primitives.ciphers.algorithmsr�,cryptography.hazmat.primitives.ciphers.modesr�,cryptography.hazmat.primitives.constant_timerr$r/r4r;rDrF�	Exceptionr=rKrr#�<module>rWs0��
#�
�9�A�<�A���������	�6�*��*��*��*��	*�&�������-�	�4�0��0��0��0��	0�8�+��+��+��+��	+�b���������	�0	�I�	r