§
    cÒ³g¼(  ã                  ó^  — U d dl mZ d dlZd dlZd dlmZ d dlmZmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ  G d„ d	¦  «        Z G d
„ dej        ¬¦  «        Z G d„ dej        ¬¦  «        Z G d„ dej        ¬¦  «        ZeZe                     ej        j        ¦  «          G d„ dej        ¬¦  «        ZeZe                     ej        j        ¦  «         ej        j        Zej        j         Z  G d„ de¦  «        Z! G d„ de¦  «        Z" G d„ de¦  «        Z# G d„ de¦  «        Z$ G d„ de¦  «        Z% G d„ de¦  «        Z& G d„ d e¦  «        Z' G d!„ d"e¦  «        Z( G d#„ d$e¦  «        Z) G d%„ d&e¦  «        Z* G d'„ d(e¦  «        Z+ G d)„ d*e¦  «        Z, G d+„ d,e¦  «        Z- G d-„ d.e¦  «        Z. G d/„ d0e¦  «        Z/ G d1„ d2e¦  «        Z0 G d3„ d4e¦  «        Z1 G d5„ d6e¦  «        Z2 G d7„ d8e¦  «        Z3i d9 e0¦   «         “d: e-¦   «         “d; e0¦   «         “d< e/¦   «         “d= e-¦   «         “d> e,¦   «         “d? e+¦   «         “d@ e.¦   «         “dA e*¦   «         “dB e)¦   «         “dC e(¦   «         “dD e'¦   «         “dE e&¦   «         “dF e%¦   «         “dG e$¦   «         “dH e#¦   «         “dI e"¦   «         “ e!¦   «          e1¦   «          e2¦   «          e3¦   «         dJœ¥Z4dKe5dL<    G dM„ dNe¦  «        Z6ej        j7        Z7	 d\d]dU„Z8 G dV„ dW¦  «        Z9i ej0        e0“ej/        e/“ej.        e.“ej-        e-“ej,        e,“ej+        e+“ej:        e1“ej;        e2“ej<        e3“ej*        e*“ej%        e%“ej)        e)“ej$        e$“ej(        e(“ej#        e#“ej'        e'“ej"        e"“ej&        e&ej!        e!i¥Z=d^d[„Z>dS )_é    )ÚannotationsN)Úutils)ÚUnsupportedAlgorithmÚ_Reasons)ÚObjectIdentifier)Úopenssl)Ú_serializationÚhashesc                  ó°  — e Zd Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z	 ed¦  «        Z
 ed¦  «        Z ed	¦  «        Z ed
¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        Z ed¦  «        ZdS )ÚEllipticCurveOIDz1.2.840.10045.3.1.1z1.3.132.0.33z1.3.132.0.10z1.2.840.10045.3.1.7z1.3.132.0.34z1.3.132.0.35z1.3.36.3.3.2.8.1.1.7z1.3.36.3.3.2.8.1.1.11z1.3.36.3.3.2.8.1.1.13z1.3.132.0.1z1.3.132.0.15z1.3.132.0.26z1.3.132.0.27z1.3.132.0.16z1.3.132.0.17z1.3.132.0.36z1.3.132.0.37z1.3.132.0.38z1.3.132.0.39N)Ú__name__Ú
__module__Ú__qualname__r   Ú	SECP192R1Ú	SECP224R1Ú	SECP256K1Ú	SECP256R1Ú	SECP384R1Ú	SECP521R1ÚBRAINPOOLP256R1ÚBRAINPOOLP384R1ÚBRAINPOOLP512R1Ú	SECT163K1Ú	SECT163R2Ú	SECT233K1Ú	SECT233R1Ú	SECT283K1Ú	SECT283R1Ú	SECT409K1Ú	SECT409R1Ú	SECT571K1Ú	SECT571R1© ó    új/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/ec.pyr   r      sC  € € € € € Ø Ð Ð!6Ñ7Ô7€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð Ð!6Ñ7Ô7€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ&Ð&Ð'=Ñ>Ô>€OØ&Ð&Ð'>Ñ?Ô?€OØ&Ð&Ð'>Ñ?Ô?€OØ Ð  Ñ/Ô/€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€IØ Ð  Ñ0Ô0€I€I€Ir$   r   c                  ór   — e Zd Zeej        dd„¦   «         ¦   «         Zeej        dd„¦   «         ¦   «         ZdS )	ÚEllipticCurveÚreturnÚstrc                ó   — dS )z8
        The name of the curve. e.g. secp256r1.
        Nr#   ©Úselfs    r%   ÚnamezEllipticCurve.name)   ó   € € € r$   Úintc                ó   — dS ©z<
        Bit size of a secret scalar for the curve.
        Nr#   r+   s    r%   Úkey_sizezEllipticCurve.key_size0   r.   r$   N)r(   r)   ©r(   r/   )r   r   r   ÚpropertyÚabcÚabstractmethodr-   r2   r#   r$   r%   r'   r'   (   sn   € € € € € ØØÔðð ð ñ Ôñ „Xðð
 ØÔðð ð ñ Ôñ „Xðð ð r$   r'   )Ú	metaclassc                  ó@   — e Zd Zeej        dd„¦   «         ¦   «         ZdS )ÚEllipticCurveSignatureAlgorithmr(   ú+asym_utils.Prehashed | hashes.HashAlgorithmc                ó   — dS )z@
        The digest algorithm used with this signature.
        Nr#   r+   s    r%   Ú	algorithmz)EllipticCurveSignatureAlgorithm.algorithm9   r.   r$   N©r(   r:   )r   r   r   r4   r5   r6   r<   r#   r$   r%   r9   r9   8   s@   € € € € € ØØÔðð ð ñ Ôñ „Xðð ð r$   r9   c                  ó  — e Zd Zej        dd„¦   «         Zej        dd„¦   «         Zeej        dd
„¦   «         ¦   «         Zeej        dd„¦   «         ¦   «         Z	ej        dd„¦   «         Z
ej        d d„¦   «         Zej        d!d„¦   «         ZdS )"ÚEllipticCurvePrivateKeyr<   ÚECDHÚpeer_public_keyÚEllipticCurvePublicKeyr(   Úbytesc                ó   — dS )z}
        Performs a key exchange operation using the provided algorithm with the
        provided peer's public key.
        Nr#   )r,   r<   rA   s      r%   Úexchangez EllipticCurvePrivateKey.exchangeD   r.   r$   c                ó   — dS )zB
        The EllipticCurvePublicKey for this private key.
        Nr#   r+   s    r%   Ú
public_keyz"EllipticCurvePrivateKey.public_keyM   r.   r$   r'   c                ó   — dS ©z8
        The EllipticCurve that this key is on.
        Nr#   r+   s    r%   ÚcurvezEllipticCurvePrivateKey.curveS   r.   r$   r/   c                ó   — dS r1   r#   r+   s    r%   r2   z EllipticCurvePrivateKey.key_sizeZ   r.   r$   ÚdataÚsignature_algorithmr9   c                ó   — dS )z 
        Signs the data
        Nr#   )r,   rL   rM   s      r%   ÚsignzEllipticCurvePrivateKey.signa   r.   r$   ÚEllipticCurvePrivateNumbersc                ó   — dS )z9
        Returns an EllipticCurvePrivateNumbers.
        Nr#   r+   s    r%   Úprivate_numbersz'EllipticCurvePrivateKey.private_numbersk   r.   r$   Úencodingú_serialization.EncodingÚformatú_serialization.PrivateFormatÚencryption_algorithmú)_serialization.KeySerializationEncryptionc                ó   — dS ©z6
        Returns the key serialized as bytes.
        Nr#   )r,   rS   rU   rW   s       r%   Úprivate_bytesz%EllipticCurvePrivateKey.private_bytesq   r.   r$   N)r<   r@   rA   rB   r(   rC   )r(   rB   ©r(   r'   r3   )rL   rC   rM   r9   r(   rC   )r(   rP   )rS   rT   rU   rV   rW   rX   r(   rC   )r   r   r   r5   r6   rE   rG   r4   rJ   r2   rO   rR   r[   r#   r$   r%   r?   r?   C   s"  € € € € € ØÔðð ð ñ Ôðð 	Ôðð ð ñ Ôðð
 ØÔðð ð ñ Ôñ „Xðð
 ØÔðð ð ñ Ôñ „Xðð
 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð
 	Ôðð ð ñ Ôðð ð r$   r?   c                  ó  — e Zd Zeej        dd„¦   «         ¦   «         Zeej        dd„¦   «         ¦   «         Zej        dd„¦   «         Zej        dd„¦   «         Z	ej        dd„¦   «         Z
ed d„¦   «         Zej        d!d„¦   «         ZdS )"rB   r(   r'   c                ó   — dS rI   r#   r+   s    r%   rJ   zEllipticCurvePublicKey.curve‚   r.   r$   r/   c                ó   — dS r1   r#   r+   s    r%   r2   zEllipticCurvePublicKey.key_size‰   r.   r$   ÚEllipticCurvePublicNumbersc                ó   — dS )z8
        Returns an EllipticCurvePublicNumbers.
        Nr#   r+   s    r%   Úpublic_numbersz%EllipticCurvePublicKey.public_numbers�   r.   r$   rS   rT   rU   ú_serialization.PublicFormatrC   c                ó   — dS rZ   r#   )r,   rS   rU   s      r%   Úpublic_bytesz#EllipticCurvePublicKey.public_bytes–   r.   r$   Ú	signaturerL   rM   r9   ÚNonec                ó   — dS )z5
        Verifies the signature of the data.
        Nr#   )r,   rf   rL   rM   s       r%   ÚverifyzEllipticCurvePublicKey.verify    r.   r$   rJ   c                óâ   — t          j        d|¦  «         t          |¦  «        dk    rt          d¦  «        ‚|d         dvrt          d¦  «        ‚t          j                             ||¦  «        S )NrL   r   z%data must not be an empty byte string)é   é   é   z%Unsupported elliptic curve point type)r   Ú_check_bytesÚlenÚ
ValueErrorÚrust_opensslÚecÚfrom_public_bytes)ÚclsrJ   rL   s      r%   Úfrom_encoded_pointz)EllipticCurvePublicKey.from_encoded_point«   sl   € õ 	Ô˜6 4Ñ(Ô(Ð(åˆt‰9Œ9˜Š>ˆ>ÝÐDÑEÔEÐEà�Œ7Ð,Ð,Ð,ÝÐDÑEÔEÐEåŒ×0Ò0°¸Ñ=Ô=Ð=r$   ÚotherÚobjectÚboolc                ó   — dS )z"
        Checks equality.
        Nr#   )r,   rv   s     r%   Ú__eq__zEllipticCurvePublicKey.__eq__¹   r.   r$   Nr\   r3   )r(   r`   )rS   rT   rU   rc   r(   rC   )rf   rC   rL   rC   rM   r9   r(   rg   )rJ   r'   rL   rC   r(   rB   )rv   rw   r(   rx   )r   r   r   r4   r5   r6   rJ   r2   rb   re   ri   Úclassmethodru   rz   r#   r$   r%   rB   rB   �   s  € € € € € ØØÔðð ð ñ Ôñ „Xðð
 ØÔðð ð ñ Ôñ „Xðð
 	Ôðð ð ñ Ôðð
 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð ð>ð >ð >ñ „[ð>ð 	Ôðð ð ñ Ôðð ð r$   rB   c                  ó   — e Zd ZdZdZdS )r"   Ú	sect571r1i:  N©r   r   r   r-   r2   r#   r$   r%   r"   r"   Ç   ó   € € € € € Ø€DØ€H€H€Hr$   r"   c                  ó   — e Zd ZdZdZdS )r    Ú	sect409r1é™  Nr~   r#   r$   r%   r    r    Ì   r   r$   r    c                  ó   — e Zd ZdZdZdS )r   Ú	sect283r1é  Nr~   r#   r$   r%   r   r   Ñ   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	sect233r1éé   Nr~   r#   r$   r%   r   r   Ö   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	sect163r2é£   Nr~   r#   r$   r%   r   r   Û   r   r$   r   c                  ó   — e Zd ZdZdZdS )r!   Ú	sect571k1i;  Nr~   r#   r$   r%   r!   r!   à   r   r$   r!   c                  ó   — e Zd ZdZdZdS )r   Ú	sect409k1r‚   Nr~   r#   r$   r%   r   r   å   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	sect283k1r…   Nr~   r#   r$   r%   r   r   ê   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	sect233k1rˆ   Nr~   r#   r$   r%   r   r   ï   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	sect163k1r‹   Nr~   r#   r$   r%   r   r   ô   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	secp521r1i	  Nr~   r#   r$   r%   r   r   ù   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	secp384r1é€  Nr~   r#   r$   r%   r   r   þ   r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	secp256r1é   Nr~   r#   r$   r%   r   r     r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	secp256k1r�   Nr~   r#   r$   r%   r   r     r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	secp224r1éà   Nr~   r#   r$   r%   r   r     r   r$   r   c                  ó   — e Zd ZdZdZdS )r   Ú	secp192r1éÀ   Nr~   r#   r$   r%   r   r     r   r$   r   c                  ó   — e Zd ZdZdZdS )ÚBrainpoolP256R1ÚbrainpoolP256r1r�   Nr~   r#   r$   r%   r§   r§     ó   € € € € € Ø€DØ€H€H€Hr$   r§   c                  ó   — e Zd ZdZdZdS )ÚBrainpoolP384R1ÚbrainpoolP384r1rš   Nr~   r#   r$   r%   r«   r«     r©   r$   r«   c                  ó   — e Zd ZdZdZdS )ÚBrainpoolP512R1ÚbrainpoolP512r1i   Nr~   r#   r$   r%   r®   r®   !  r©   r$   r®   Ú
prime192v1Ú
prime256v1r¤   r¡   rœ   r™   r—   rŸ   r•   r“   r‘   r�   r�   rŠ   r‡   r„   r�   )r}   r¨   r¬   r¯   zdict[str, EllipticCurve]Ú_CURVE_TYPESc                  óJ   — e Zd Z	 ddd„Zedd„¦   «         Zedd	„¦   «         Zd
S )ÚECDSAFr<   r:   Údeterministic_signingrx   c                óŽ   — ddl m} |r.|                     ¦   «         st          dt          j        ¦  «        ‚|| _        || _        d S )Nr   )ÚbackendzZECDSA with deterministic signature (RFC 6979) is not supported by this version of OpenSSL.)Ú,cryptography.hazmat.backends.openssl.backendr·   Úecdsa_deterministic_supportedr   r   Ú UNSUPPORTED_PUBLIC_KEY_ALGORITHMÚ
_algorithmÚ_deterministic_signing)r,   r<   rµ   r·   s       r%   Ú__init__zECDSA.__init__@  sk   € ð
 	IÐHÐHÐHÐHÐHð "ð	à×9Ò9Ñ;Ô;ð	õ 'ð8åÔ9ñô ð ð
 $ˆŒØ&;ˆÔ#Ð#Ð#r$   r(   c                ó   — | j         S ©N)r»   r+   s    r%   r<   zECDSA.algorithmS  s   € ð ŒÐr$   c                ó   — | j         S r¿   )r¼   r+   s    r%   rµ   zECDSA.deterministic_signingY  s   € ð Ô*Ð*r$   N)F)r<   r:   rµ   rx   r=   )r(   rx   )r   r   r   r½   r4   r<   rµ   r#   r$   r%   r´   r´   ?  sr   € € € € € ð ',ð<ð <ð <ð <ð <ð& ðð ð ñ „Xðð
 ð+ð +ð +ñ „Xð+ð +ð +r$   r´   Úprivate_valuer/   rJ   r·   ú
typing.Anyr(   c                ó´   — t          | t          ¦  «        st          d¦  «        ‚| dk    rt          d¦  «        ‚t          j                             | |¦  «        S )Nz&private_value must be an integer type.r   z)private_value must be a positive integer.)Ú
isinstancer/   Ú	TypeErrorrp   rq   rr   Úderive_private_key)rÁ   rJ   r·   s      r%   rÆ   rÆ   c  sX   € õ
 �m¥SÑ)Ô)ð BÝÐ@ÑAÔAÐAà˜ÒÐÝÐDÑEÔEÐEåŒ?×-Ò-¨m¸UÑCÔCÐCr$   c                  ó   — e Zd ZdS )r@   N)r   r   r   r#   r$   r%   r@   r@   q  s   € € € € € Ø€Dr$   r@   Úoidr   útype[EllipticCurve]c                óX   — 	 t           |          S # t          $ r t          d¦  «        ‚w xY w)NzCThe provided object identifier has no matching elliptic curve class)Ú_OID_TO_CURVEÚKeyErrorÚLookupError)rÈ   s    r%   Úget_curve_for_oidrÎ   Œ  sD   € ð
Ý˜SÔ!Ð!øÝð 
ð 
ð 
Ýðñ
ô 
ð 	
ð
øøøs   ‚ �)r¿   )rÁ   r/   rJ   r'   r·   rÂ   r(   r?   )rÈ   r   r(   rÉ   )?Ú
__future__r   r5   ÚtypingÚcryptographyr   Úcryptography.exceptionsr   r   Úcryptography.hazmat._oidr   Ú"cryptography.hazmat.bindings._rustr   rq   Úcryptography.hazmat.primitivesr	   r
   Ú)cryptography.hazmat.primitives.asymmetricÚ
asym_utilsr   ÚABCMetar'   r9   r?   Ú(EllipticCurvePrivateKeyWithSerializationÚregisterrr   ÚECPrivateKeyrB   Ú'EllipticCurvePublicKeyWithSerializationÚECPublicKeyrP   r`   r"   r    r   r   r   r!   r   r   r   r   r   r   r   r   r   r   r§   r«   r®   r²   Ú__annotations__r´   Úgenerate_private_keyrÆ   r@   r   r   r   rË   rÎ   r#   r$   r%   ú<module>rà      sP  ðð
 #Ð "Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø €€€à Ð Ð Ð Ð Ð Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø FÐ FÐ FÐ FÐ FÐ FØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ IÐ IÐ IÐ IÐ IÐ Ið1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ð,ð ð ð ð ˜cœkð ñ ô ð ð ð ð ð ð °´ð ñ ô ð ð7ð 7ð 7ð 7ð 7¨¬ð 7ñ 7ô 7ð 7ðt ,CÐ (Ø ×  Ò   ¤Ô!=Ñ >Ô >Ð >ð<ð <ð <ð <ð < s¤{ð <ñ <ô <ð <ð~ +AÐ 'Ø × Ò  ¤Ô ;Ñ <Ô <Ð <à*œoÔIÐ Ø)œ_ÔGÐ ðð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �ñ ô ð ð
ð ð ð ð �mñ ô ð ð
ð ð ð ð �mñ ô ð ð
ð ð ð ð �mñ ô ð ð
*Ø�)�)‘+”+ð*à�)�)‘+”+ð*ð ��‘”ð*ð ��‘”ð	*ð
 ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð ��‘”ð*ð  ��‘”ð!*ð" ��‘”ð#*ð$ �‘”Ø&�Ñ(Ô(Ø&�Ñ(Ô(Ø&�Ñ(Ô(ð+*ð *ð *€ð ð ð ñ ð2+ð +ð +ð +ð +Ð+ñ +ô +ð +ðB $”Ô;Ð ð ðDð Dð Dð Dð Dð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðØÔ 	ðàÔ 	ðð Ô 	ðð Ô 	ð	ð
 Ô 	ðð Ô 	ðð Ô$ oðð Ô$ oðð Ô$ oðð Ô 	ðð Ô 	ðð Ô 	ðð Ô 	ðð Ô 	ðð Ô 	ðð  Ô 	ð!ð" Ô 	ð#ð$ Ô 	ØÔ 	ð'ð €ð.
ð 
ð 
ð 
ð 
ð 
r$   