Submit
Path:
~
/
/
opt
/
alt
/
python37
/
lib64
/
python3.7
/
site-packages
/
cryptography
/
hazmat
/
primitives
/
kdf
/
__pycache__
/
File Content:
kbkdf.cpython-37.opt-1.pyc
B \��`� � @ s� d dl mZmZmZ d dlmZ d dlmZ d dlm Z d dl mZmZm Z mZ d dlmZ d dlmZmZmZ d dlmZ G d d � d e�ZG dd� de�Ze �e�G d d� de��ZdS )� )�absolute_import�division�print_function)�Enum)�range)�utils)�AlreadyFinalized� InvalidKey�UnsupportedAlgorithm�_Reasons)�HMACBackend)� constant_time�hashes�hmac)�KeyDerivationFunctionc @ s e Zd ZdZdS )�ModeZctrN)�__name__� __module__�__qualname__ZCounterMode� r r �[/opt/alt/python37/lib64/python3.7/site-packages/cryptography/hazmat/primitives/kdf/kbkdf.pyr s r c @ s e Zd ZdZdZdS )�CounterLocationZbefore_fixedZafter_fixedN)r r r �BeforeFixed� AfterFixedr r r r r s r c @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )� KBKDFHMACc C sB t | t�stdtj��t |tj�s.tdtj��| �|�sDtdtj��t |t �sVt d��t |t�sht d��|sp|r|| r|td��|d ks�| � |�s�td��|d kr�| d kr�td��|d k r�t |t�s�t d ��|d kr�d }|d kr�d }t |t�r�t |t�s�t d��|| _|| _|| _|| _|| _|| _|| _|| _| | _d| _| | _d S ) Nz.Backend object does not implement HMACBackend.z5Algorithm supplied is not a supported hash algorithm.z5Algorithm supplied is not a supported hmac algorithm.zmode must be of type Modez(location must be of type CounterLocationz9When supplying fixed data, label and context are ignored.zrlen must be between 1 and 4zPlease specify an llenzllen must be an integer� z'label and context must be of type bytesF)� isinstancer r r ZBACKEND_MISSING_INTERFACEr Z HashAlgorithmZUNSUPPORTED_HASHZhmac_supportedr � TypeErrorr � ValueError�_valid_byte_length�int�bytes� _algorithm�_mode�_length�_rlen�_llen� _location�_label�_context�_backend�_used�_fixed_data)�self� algorithm�mode�lengthZrlenZllen�locationZlabel�contextZfixed�backendr r r �__init__ sT zKBKDFHMAC.__init__c C s@ t |t�std��t�d|�}dt|� kr6dks<n dS dS )Nzvalue must be of type int� � FT)r r r r �int_to_bytes�len)r- �valueZ value_binr r r r \ s zKBKDFHMAC._valid_byte_lengthc C s | j r t�t|t�std��d| _ | j | jj }dg}t� d| j �}|tdt|�d �d krjt d��x�td|d �D ]n}tj|| j| jd�}t� || j �}| jtjkr�|�|� |�| �� � | jtjkr�|�|� |�|�� � qzW d�|�d | j� S ) Nzkey_material must be bytesTr r5 � � zThere are too many iterations.)r3 )r+ r r r! r r$ r"