File: //lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-38.pyc
U
�e�]� � @ s� d dl mZmZmZ d dlZd dlmZ d dlmZm Z m
Z
mZ d dlm
Z
d dlmZmZ d dlmZ dd � Ze�e�G d
d� de��ZdS )� )�absolute_import�division�print_functionN)�utils)�AlreadyFinalized�
InvalidKey�UnsupportedAlgorithm�_Reasons)�HashBackend)�
constant_time�hashes)�KeyDerivationFunctionc C s t �d| �S )Nz>I)�structZpack)�n� r �L/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/x963kdf.py�
_int_to_u32be s r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�X963KDFc C sl |j d }||kr td�|���|d k r4t�d|� || _|| _|| _t|t �s\t
dtj��|| _
d| _d S )Nl �� z(Can not derive keys larger than {} bits.�
sharedinfoz.Backend object does not implement HashBackend.F)Zdigest_size�
ValueError�formatr �_check_bytes�
_algorithm�_length�_sharedinfo�
isinstancer
r r ZBACKEND_MISSING_INTERFACE�_backend�_used)�self� algorithmZlengthr ZbackendZmax_lenr r r �__init__ s"