/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__
Edit: /usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-310.pyc (3512B)
o
)%a @ s d dl Z d dlmZ d dlmZmZmZmZ d dlm Z d dl
mZ d dlm
Z
mZmZ d dlmZ G dd d eZG d
d deZdS ) N)utils)AlreadyFinalized
InvalidKeyUnsupportedAlgorithm_Reasons)_get_backend)HMACBackend)
constant_timehasheshmac)KeyDerivationFunctionc
@ sr e Zd Z ddejdedeje deje fddZ ded efd
dZ
ded efdd
Zdeded dfddZdS )HKDFN algorithmlengthsaltinfoc C sh t |}t|tstdtj|| _|d u rd| jj }nt d| || _
|| _t| j|||| _
d S )N.Backend object does not implement HMACBackend. r )r
isinstancer r r BACKEND_MISSING_INTERFACE
_algorithmdigest_sizer _check_bytes_salt_backend
HKDFExpand_hkdf_expand)selfr r r r backend r I/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/kdf/hkdf.py__init__ s
z
HKDF.__init__key_materialreturnc C s( t j| j| j| jd}|| | S )Nr )r HMACr r r updatefinalize)r r" hr r r _extract2 s
z
HKDF._extractc C s t d| | j| |S )Nr" )r _check_bytesliker deriver) r r" r r r r+ 7 s zHKDF.deriveexpected_keyc C t | ||std S Nr bytes_eqr+ r r r" r- r r r verify; zHKDF.verifyr/ )
__name__
__module____qualname__r
HashAlgorithminttypingOptionalbytesr! r) r+ r3 r r r r r
s
r
c @ sh e Zd Z ddejdedeje fddZ dedefd d
Z
dedefddZded
eddfddZdS )r Nr r r c C sz t |}t|tstdtj|| _|| _d|j }||kr%t d
||| _|d u r/d}nt
d| || _d| _d S )Nr z*Can not derive keys larger than {} octets. r F)r r r r r r r r r
ValueErrorformat_lengthr r _info_used)r r r r r
max_lengthr r r r! A s&