Submit
Path:
~
/
/
opt
/
alt
/
python37
/
lib64
/
python3.7
/
site-packages
/
cryptography
/
hazmat
/
primitives
/
kdf
/
__pycache__
/
File Content:
x963kdf.cpython-37.opt-1.pyc
B \��`; � @ 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)�struct�pack)�n� r �]/opt/alt/python37/lib64/python3.7/site-packages/cryptography/hazmat/primitives/kdf/x963kdf.py� _int_to_u32be s r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�X963KDFc C sr |j d }||kr td�|���|d ks:t|t�s:td��|| _|| _|| _t|t �sbt dtj��|| _ d| _d S )Nl �� z)Can not derive keys larger than {0} bits.zsharedinfo must be bytes.z.Backend object does not implement HashBackend.F)Zdigest_size� ValueError�format� isinstance�bytes� TypeError� _algorithm�_length�_sharedinfor r r ZBACKEND_MISSING_INTERFACE�_backend�_used)�self� algorithm�lengthZ sharedinfoZbackendZmax_lenr r r �__init__ s zX963KDF.__init__c C s� | j r t�d| _ t|t�s"td��dg}d}d}xr| j|kr�t�| j| j �}|� |� |� t|�� | jd k rz|� | j� |� |�� � |t|d �7 }|d7 }q2W d�|�d | j� S )NTzkey_material must be bytes.� r � ���)r r r r r r r ZHashr r �updater r �appendZfinalize�len�join)r �key_material�outputZoutlenZcounter�hr r r �derive, s$ zX963KDF.derivec C s t �| �|�|�st�d S )N)r Zbytes_eqr- r )r r* Zexpected_keyr r r �verifyD s zX963KDF.verifyN)�__name__� __module__�__qualname__r"