HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-38.pyc
U

�e�]V�@s�ddlmZmZmZddlZddlmZddlmZddl	m
Z
ddlmZdd�Z
d	d
�Zdd�Zd
d�Zdd�Zdd�ZGdd�de�ZdS)�)�absolute_import�division�print_functionN)�Cipher)�AES)�ECB)�bytes_eqc	Cs�tt|�t�|���}t|�}td�D]d}t|�D]V}|�|||�}t�dt�	d|dd��d|||dA�}|dd�||<q2q&|�
�dks�t�|d�|�S)N��>Q�r�����)
rrr�	encryptor�len�range�update�struct�pack�unpack�finalize�AssertionError�join)	�wrapping_key�a�r�backendr�n�j�i�b�r!�H/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/keywrap.py�
_wrap_cores&�r#cspt|�dkrtd��t��dkr(td��t��ddkr@td��d}�fd	d
�tdt��d�D�}t||||�S)N���� �/The wrapping key must be a valid AES key lengthr%z)The key to wrap must be at least 16 bytesrrz-The key to wrap must be a multiple of 8 bytes���������csg|]}�||d��qS�rr!��.0r��key_to_wrapr!r"�
<listcomp>/sz aes_key_wrap.<locals>.<listcomp>)r�
ValueErrorrr#)rr.rrrr!r-r"�aes_key_wrap$sr1c
	Cs�tt|�t�|���}t|�}ttd��D]l}tt|��D]Z}t�dt�	d|�d|||dA�||}|�
|�}	|	dd�}|	dd�||<q:q*|��dks�t�||fS)Nr	r
rrrr
r)
rrr�	decryptorr�reversedrrrrrrr)
rrrrr2rrrZatrr r!r!r"�_unwrap_core3s��
r4cs�t|�dkrtd��dt�dt���}dt��dd}�d|�t��dkr�tt|�t�|���}|�|��}|�	�dks�t
�|S�fdd	�td
t��d�D�}t||||�SdS)Nr$r(��YY�z>ir�rcsg|]}�||d��qSr*r!r+r-r!r"r/Vsz-aes_key_wrap_with_padding.<locals>.<listcomp>r)
rr0rrrrrrrrrrr#)rr.r�aivZpadrr rr!r-r"�aes_key_wrap_with_paddingGsr8csvt��dkrtd��t|�dkr(td��t��dkr�tt|�t�|���}|���}|��dksdt	�|dd�}|dd�}d}nL�fdd	�t
d
t��d�D�}|�d
�}	t|�}t||	||�\}}d�
|�}t�d|dd��\}
d||
}t|dd�d
��rPd|d|
k�r(d|k�rPnn$|d
k�rVt||d�d|��sVt��|d
k�rd|S|d|�SdS)Nr%zMust be at least 16 bytesr$r(rrrcsg|]}�||d��qSr*r!r+��wrapped_keyr!r"r/jsz/aes_key_unwrap_with_padding.<locals>.<listcomp>rz>I�r5r6)r�
InvalidUnwrapr0rrrr2rrrr�popr4rrrr)rr:rr2r r�datarrZ
encrypted_aivZmlir!r9r"�aes_key_unwrap_with_paddingZsB


�
�
���
r?cs�t��dkrtd��t��ddkr,td��t|�dkr@td��d}�fd	d
�tdt��d�D�}|�d�}t||||�\}}t||�s�t��d�|�S)Nr&zMust be at least 24 bytesrrz-The wrapped key must be a multiple of 8 bytesr$r(r)csg|]}�||d��qSr*r!r+r9r!r"r/�sz"aes_key_unwrap.<locals>.<listcomp>r)rr<r0rr=r4rr)rr:rr7rrr!r9r"�aes_key_unwrap�s

r@c@seZdZdS)r<N)�__name__�
__module__�__qualname__r!r!r!r"r<�sr<)Z
__future__rrrrZ&cryptography.hazmat.primitives.ciphersrZ1cryptography.hazmat.primitives.ciphers.algorithmsrZ,cryptography.hazmat.primitives.ciphers.modesrZ,cryptography.hazmat.primitives.constant_timerr#r1r4r8r?r@�	Exceptionr<r!r!r!r"�<module>s+