관리-도구
편집 파일: kbkdf.cpython-39.pyc
a �a� � @ s� d dl Z d dlmZ d dlmZmZmZmZ d dlm Z m Z mZmZm Z d dlmZ G dd� dej�ZG dd � d ej�ZG d d� d�ZG dd � d e�ZG dd� de�ZdS )� N)�utils)�AlreadyFinalized� InvalidKey�UnsupportedAlgorithm�_Reasons)�ciphers�cmac� constant_time�hashes�hmac)�KeyDerivationFunctionc @ s e Zd ZdZdS )�ModeZctrN)�__name__� __module__�__qualname__ZCounterMode� r r �N/usr/lib64/python3.9/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 @ sx e Zd Zejeeeeje eeje eje eje d� dd�Z eeed�dd��Z e ee d�dd �Ze d �dd�Zd S )� _KBKDFDeriver) �prf�mode�length�rlen�llen�location�label�context�fixedc C s t |�sJ �t|t�std��t|t�s0td��|s8|rD| rDtd��|d u sV| �|�s^td��|d u rv| d u rvtd��|d ur�t|t�s�td��|d u r�d}|d u r�d}t� d|� t� d |� || _ || _|| _|| _ || _|| _|| _|| _d | _| | _d S )Nzmode 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� r r F)�callable� isinstancer � TypeErrorr � ValueError�_valid_byte_length�intr �_check_bytes�_prf�_mode�_length�_rlen�_llen� _location�_label�_context�_used�_fixed_data) �selfr r r r r r r r r r r r �__init__"