관리-도구
편집 파일: concatkdf.cpython-39.opt-1.pyc
a �����a�����������������������@���s����d�dl�Z�d�dlZd�dlmZ�d�dlmZmZ�d�dlmZm Z m Z �d�dlmZ�e ed�dd�Ze je eje�dd �d d�Zee ejg�e jf�eed�d d�ZG�dd��de�ZG�dd��de�ZdS�)�����N)�utils)�AlreadyFinalized� InvalidKey)� constant_time�hashes�hmac)�KeyDerivationFunction)�n�returnc�����������������C���s���t��d|��S�)Nz>I)�struct�pack)r �����r ����R/usr/lib64/python3.9/site-packages/cryptography/hazmat/primitives/kdf/concatkdf.py� _int_to_u32be���s����r���)� algorithm�length� otherinfor ���c�����������������C���s8���|�j�d�}||kr td�|���|d�ur4t�d|��d�S�)Nl������z'Cannot derive keys larger than {} bits.r���)�digest_size� ValueError�formatr����_check_bytes)r���r���r���Z max_lengthr ���r ���r����_common_args_checks���s���� �r���)�key_materialr����auxfnr���r ���c�����������������C���s����t��d|���dg}d}d}||krr|��}|�t|���|�|���|�|��|�|�����|t|d��7�}|d7�}qd�|�d�|��S�)Nr��������r����������)r���Z_check_byteslike�updater����append�finalize�len�join)r���r���r���r����outputZoutlenZcounter�hr ���r ���r����_concatkdf_derive$���s���� r$���c�������������������@���s^���e�Zd�Zdejeeje�ej d�dd�Z ejd�dd�Zeed�d d �Z eedd�dd �ZdS�)� ConcatKDFHashN)r���r���r����backendc�����������������C���s4���t�|||��||�_||�_|d�ur$|nd|�_d|�_d�S�)Nr���F)r���� _algorithm�_length� _otherinfo�_used)�selfr���r���r���r&���r ���r ���r����__init__<���s ����zConcatKDFHash.__init__�r ���c�����������������C���s���t��|�j�S��N)r����Hashr'����r+���r ���r ���r����_hashJ���s����zConcatKDFHash._hash�r���r ���c�����������������C���s$���|�j�r t�d|�_�t||�j|�j|�j�S��NT)r*���r���r$���r(���r1���r)����r+���r���r ���r ���r����deriveM���s�����zConcatKDFHash.derive�r����expected_keyr ���c�����������������C���s���t��|��|�|�st�d�S�r.����r���Zbytes_eqr5���r����r+���r���r7���r ���r ���r����verifyU���s����zConcatKDFHash.verify)N)�__name__� __module__�__qualname__r���� HashAlgorithm�int�typing�Optional�bytes�Anyr,���r/���r1���r5���r:���r ���r ���r ���r���r%���;���s������r%���c�������������������@���sf���e�Zd�Zdejeeje�eje�ej d�dd�Z ejd�dd�Z eed�d d �Zeedd�dd �ZdS�)� ConcatKDFHMACN)r���r����saltr���r&���c�����������������C���st���t�|||��||�_||�_|d�ur$|nd|�_|jd�u�rDtd�|j���|d�u�rXd|j�}nt� d|��||�_ d|�_d�S�)Nr���z{} is unsupported for ConcatKDF�����rE���F)r���r'���r(���r)���� block_size� TypeErrorr����namer���r����_saltr*���)r+���r���r���rE���r���r&���r ���r ���r���r,���[���s���� �zConcatKDFHMAC.__init__r-���c�����������������C���s���t��|�j|�j�S�r.���)r����HMACrJ���r'���r0���r ���r ���r����_hmacv���s����zConcatKDFHMAC._hmacr2���c�����������������C���s$���|�j�r t�d|�_�t||�j|�j|�j�S�r3���)r*���r���r$���r(���rL���r)���r4���r ���r ���r���r5���y���s�����zConcatKDFHMAC.deriver6���c�����������������C���s���t��|��|�|�st�d�S�r.���r8���r9���r ���r ���r���r:�������s����zConcatKDFHMAC.verify)N)r;���r<���r=���r���r>���r?���r@���rA���rB���rC���r,���r���rK���rL���r5���r:���r ���r ���r ���r���rD���Z���s������rD���)r���r@���Zcryptographyr���Zcryptography.exceptionsr���r���Zcryptography.hazmat.primitivesr���r���r���Z"cryptography.hazmat.primitives.kdfr���r?���rB���r���r>���rA���r����CallableZHashContextr$���r%���rD���r ���r ���r ���r����<module>���s&�����