/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__
Edit: /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-310.pyc (4198B)
o
RiA @ s d dl Z d dlmZ d dlmZmZmZmZ d dlm Z d dl
mZ d dlm
Z
mZmZ d dlmZ G dd d ejZG d
d dejZG dd
d
eZdS ) N)utils)AlreadyFinalized
InvalidKeyUnsupportedAlgorithm_Reasons)_get_backend)HMACBackend)
constant_timehasheshmac)KeyDerivationFunctionc @ s e Zd ZdZdS )ModectrN)__name__
__module____qualname__CounterMode r r J/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/kbkdf.pyr
s r
c @ s e Zd ZdZdZdS )CounterLocationbefore_fixedafter_fixedN)r r r BeforeFixed
AfterFixedr r r r r s r c @ s e Zd Z ddejdedededeje de deje
d eje
d
eje
fddZd
edefddZ
de
de
fddZde
fddZde
de
ddfddZdS ) KBKDFHMACN algorithmmodelengthrlenllenlocationlabelcontextfixedc C sF t |
}
t|
tstdtjt|tjstdtj|
|s&tdtjt|t
s/tdt|ts8td|s<|rB| rBt
d|d u sK| |sOt
d|d u r[| d u r[t
d|d urht|tshtd |d u rnd
}|d u rtd
}td| td| || _|| _|| _|| _|| _|| _|| _|| _|
| _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 r! r" F)r
isinstancer r r BACKEND_MISSING_INTERFACEr
HashAlgorithmUNSUPPORTED_HASHhmac_supportedr
TypeErrorr
ValueError_valid_byte_lengthintr _check_bytes
_algorithm_mode_length_rlen_llen _location_label_context_backend_used_fixed_data)selfr r r r r r r! r" r# backendr r r __init__ s^
zKBKDFHMAC.__init__valuereturnc C sB t |ts tdtd|}dt| krdksdS dS dS )Nzvalue must be of type int FT)r% r- r* r int_to_byteslen)r: r= value_binr r r r, g s
zKBKDFHMAC._valid_byte_lengthkey_materialc C s | j rttd| d| _ | j | jj }dg}td| j}|t dt
|d d kr2tdtd|d D ]7}t
j|| j| jd}t|| j}| jtjkrW|| || | jtjkri|| || q9d|d | j S ) NrD Tr$ r? zThere are too many iterations.)r; )r8 r r _check_bytesliker1 r/ digest_sizerA r2 powrB r+ ranger HMACr7 r4 r r update_generate_fixed_inputr appendfinalizejoin)r: rD roundsoutputr_binihcounterr r r derivep s&