o -&%aCã@sŽddlZddlmZddlmZddlmZGdd„deƒZGdd„deƒZGd d „d eƒZ Gd d „d e ƒZ d ej ddej defdd„ZdS)éN)Úhashes)ÚAsymmetricPadding)Úrsac@seZdZdZdS)ÚPKCS1v15zEMSA-PKCS1-v1_5N)Ú__name__Ú __module__Ú __qualname__Úname©r r úS/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/asymmetric/padding.pyr src@seZdZeƒZdZdd„ZdS)ÚPSSzEMSA-PSScCsF||_t|tƒs||jurtdƒ‚||jur|dkrtdƒ‚||_dS)Nzsalt_length must be an integer.rz$salt_length must be zero or greater.)Ú_mgfÚ isinstanceÚintÚ MAX_LENGTHÚ TypeErrorÚ ValueErrorÚ _salt_length)ÚselfÚmgfÚ salt_lengthr r r Ú__init__sÿ  z PSS.__init__N)rrrÚobjectrr rr r r r r s r c@s.eZdZdZdddejdejefdd„Z dS) ÚOAEPzEME-OAEPrÚMGF1Ú algorithmÚlabelcCs*t|tjƒs tdƒ‚||_||_||_dS©Nz*Expected instance of hashes.HashAlgorithm.)rrÚ HashAlgorithmrr Ú _algorithmÚ_label)rrrrr r r r's  z OAEP.__init__N) rrrr rrÚtypingÚOptionalÚbytesrr r r r r$sþýürc@s"eZdZeƒZdejfdd„ZdS)rrcCst|tjƒs tdƒ‚||_dSr)rrrrr)rrr r r r8s  z MGF1.__init__N)rrrrrrrrr r r r r5srÚkey)zrsa.RSAPrivateKeyzrsa.RSAPublicKeyÚhash_algorithmÚreturncCsFt|tjtjfƒs tdƒ‚|jdd}||jd}|dks!J‚|S)Nz(key must be an RSA public or private keyééér)rrÚ RSAPrivateKeyÚ RSAPublicKeyrÚkey_sizeÚ digest_size)r$r%Úemlenrr r r Úcalculate_max_pss_salt_length?s  r/)r!Úcryptography.hazmat.primitivesrÚ*cryptography.hazmat.primitives._asymmetricrÚ)cryptography.hazmat.primitives.asymmetricrrr rrrÚUnionrrr/r r r r Ús    ÿþý