HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/ecdsa/__pycache__/test_ecdsa.cpython-310.pyc
o

�h�a�@s�ddlmZddlZddlmZddlmZmZm	Z	m
Z
zddlZWn
e
y/ddlZYnwddlZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z ddlm!Z!iZ"ej#dkrkde"d	<Gd
d�dej$�Z%Gdd
�d
ej$�Z&Gdd�dej$�Z'Gdd�dej$�Z(edddfedddfedddfedddfedddfedddfed d!dfed"d#dfed$d%dfed&d'dfed(d)dfed*d+dfgZ)ej*�+d,e)�d-d.��Z,ee-d/d0�d1d2d3d4dfee-d5d0�d6d7d8d9dfee-d:d0�d;d<d=d>dfee-d?d0�d@dAdBdCdfee-dDd0�dEdFdGdHdfee-dId0�dJdKdLdMdfee-dNd0�dOdPdQdRdfee-dSd0�dTdUdVdWdfee-dXd0�dYdZd[d\dfee-d]d0�d^d_d`dadfee-dbd0�dcdddedfdfee-dgd0�dhdidjdkdfee-dld0�dmdndodpdfee-dqd0�drdsdtdudfee-dvd0�dwdxdydzdfgZ.ej*�+d{e.�d|d}��Z/ej*�+d{d~d�e.D��d�d���Z0ej1d�d���Z2e3e"�Z4d�ej5v�r�de4d�<nd�e4d�<ed�ie4��e
ed�ddf�ee2��d�d�����Z6d�d��Z7dS)��)�print_functionN)�given�settings�note�example�)�Private_key�
Public_key�	Signature�
generator_192�digest_integer�
ellipticcurve�point_is_valid�
generator_224�
generator_256�
generator_384�
generator_521�generator_secp256k1�	curve_192�InvalidPointError�curve_112r2�generator_112r2�
int_to_string)�Point)��i��deadlinec@sTeZdZdZedd��Zdd�Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�Zdd�ZdS)�TestP192FromX9_62zCheck test vectors from X9.62cCsdd|_|jt|_d|_|jt|_d|_ttt|j�|_t|j|j�|_	|j	�
|j|j�|_dS)Nl
�uH=�.t�.#",W��}�7?�j�l
N/�vZL�_�~X�X��w]o�l�X�9�	�BW�G�Z@G6|2�)�dr�Q�k�R�msgr	�pubkr�privk�sign�sig)�cls�r(�C/usr/local/CyberCP/lib/python3.10/site-packages/ecdsa/test_ecdsa.py�
setUpClass+szTestP192FromX9_62.setUpClasscCs|j��dks	J�dS)Nl
�Z`uS�G;�R�-]]0s��k	+)r�x��selfr(r(r)�test_point_multiplication7sz+TestP192FromX9_62.test_point_multiplicationcCs(|j��dks	J�|j��dksJ�dS)N�
�~�n�&�DJ,6'1�a47�b?`���
5X��D�+8�n�#w�}�r�O�	)r!r+�yr,r(r(r)�test_point_multiplication_2:sz-TestP192FromX9_62.test_point_multiplication_2cCs>d}d}|t||j}|��dksJ�|��dksJ�dS)Nl
WT�Y�>n+��B�tC�*�Y�q�l
!�M_J�T�96wfF[
,z=��r/r0)rrr+r1)r-�u1�u2�tempr(r(r)�test_mult_and_addition>s
z(TestP192FromX9_62.test_mult_and_additioncCs.|jj|jj}}|dksJ�|dksJ�dS)Nr/l
�v;*�Y<Lu<��+�=<f�)r&�r�s)r-r7r8r(r(r)�test_signatureEsz TestP192FromX9_62.test_signaturecCs|j�|j|j�sJ�dS�N�r#�verifiesr"r&r,r(r(r)�test_verificationJsz#TestP192FromX9_62.test_verificationcCs|j�|jd|j�r
J�dS�Nrr;r,r(r(r)�test_rejectionMsz TestP192FromX9_62.test_rejectioncCs@ttt��t��t��t���|jj�}|�	|j
|j�sJ�dSr:)r	rr�curver+r1�orderr#�pointr<r"r&)r-r#r(r(r)�$test_verification_with_regular_pointPs��
z6TestP192FromX9_62.test_verification_with_regular_pointN)
�__name__�
__module__�__qualname__�__doc__�classmethodr*r.r2r6r9r=r?rCr(r(r(r)r(s
rc@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�
TestPublicKeycCsBt}d}d}t�|��||�}t||�}t||�}|�||�dS�N�
�y2H�K�@� @fj�� 6bkX�
#(z�>�f^UT�!]��i�&�)rr
rr@r	�assertEqual)r-�genr+r1rB�pub_key1�pub_key2r(r(r)�test_equality_public_keys_s

z'TestPublicKey.test_equality_public_keysc
Cs\t}d}d}t�|��||�}d}d}t�|��||�}t||�}t||�}	|�||	�dS)NrKrL�
]/C�{m�e�@�M 3(�E����
�
�UCz8�"�O�{��q�&f0A��rr
rr@r	�assertNotEqual�
r-rN�x1�y1�point1�x2�y2�point2rOrPr(r(r)�test_inequality_public_keyh�

z(TestPublicKey.test_inequality_public_keyc
Cs\t}d}d}t�|��||�}d}d}t�t��||�}t||�}tt|�}	|�||	�dS)NrKrLlfiU1)LD�8m�
9l}s4<(F^zzj�\)rr
rr@rr	rUrVr(r(r)� test_inequality_different_curvesvr^z.TestPublicKey.test_inequality_different_curvescCs8t}d}d}t�|��||�}t||�}|�|d�dSrJrT)r-rNr+r1rB�pub_keyr(r(r)�*test_inequality_public_key_not_implemented�s
z8TestPublicKey.test_inequality_public_key_not_implementedcCs�t�t��t��t��d�}d}d}t�|��||�}|�t��
}t	||�Wd�n1s0wY|�
dt|j��dS)NrrKrLzGenerator point must have order)
r
�PointJacobirr@r+r1r�assertRaisesrr	�assertIn�str�	exception)r-rNr+r1rB�er(r(r)�,test_public_key_with_generator_without_order�s��z:TestPublicKey.test_public_key_with_generator_without_ordercCstd}d}t�t||d�}|�t�||��|�t��
}tt|�Wd�n1s*wY|�	dt
|j��dS)Nr�k�2�x7|oq�_rzGenerator point order)r
rbr�
assertTrue�contains_pointrcrr	rrdrerf)r-r+r1rBrgr(r(r)�<test_public_point_on_curve_not_scalar_multiple_of_base_point�s�zJTestPublicKey.test_public_point_on_curve_not_scalar_multiple_of_base_pointcCsd}d}|�tt||��dS)Nrri)�assertFalserr)r-r+r1r(r(r)�:test_point_is_valid_with_not_scalar_multiple_of_base_point�szHTestPublicKey.test_point_is_valid_with_not_scalar_multiple_of_base_pointcC�Zt�tddd�}|�t��
}tt|�Wd�n1swY|�dt|j	��dS)N���rr�The public point has x or y�
r
rbrrcrr	rrdrerf�r-�ptrgr(r(r)�test_invalid_point_x_negative��
�z+TestPublicKey.test_invalid_point_x_negativecCs^t�tt��dd�}|�t��
}tt|�Wd�n1swY|�dt	|j
��dS�Nrrrq�r
rbr�prcrr	rrdrerfrsr(r(r)�test_invalid_point_x_equal_p��
�z*TestPublicKey.test_invalid_point_x_equal_pcCro)Nrrprrqrrrsr(r(r)�test_invalid_point_y_negative�rvz+TestPublicKey.test_invalid_point_y_negativecCs^t�tdt��d�}|�t��
}tt|�Wd�n1swY|�dt	|j
��dSrwrxrsr(r(r)�test_invalid_point_y_equal_p�r{z*TestPublicKey.test_invalid_point_y_equal_pN)rDrErFrQr]r_rarhrlrnrurzr|r}r(r(r(r)rI^s	
	rIc@s8eZdZedd��Zdd�Zdd�Zdd�Zd	d
�ZdS)�TestPublicKeyVerifiescC�.t}d}d}t�|��||�}t||�|_dSrJ�rr
rr@r	r`�r'rNr+r1rBr(r(r)r*�s
z TestPublicKeyVerifies.setUpClasscCs"tdd�}|�|j�d|��dS)Nrr�r
rmr`r<�r-r&r(r(r)�test_sig_with_r_zero��
z*TestPublicKeyVerifies.test_sig_with_r_zerocCs&tt��d�}|�|j�d|��dSr>�r
rrArmr`r<r�r(r(r)�test_sig_with_r_order��z+TestPublicKeyVerifies.test_sig_with_r_ordercCs"tdd�}|�|j�d|��dS)Nrrr�r�r(r(r)�test_sig_with_s_zero�r�z*TestPublicKeyVerifies.test_sig_with_s_zerocCs&tdt���}|�|j�d|��dSr>r�r�r(r(r)�test_sig_with_s_order�r�z+TestPublicKeyVerifies.test_sig_with_s_orderN)	rDrErFrHr*r�r�r�r�r(r(r(r)r~�s
r~c@s0eZdZedd��Zdd�Zdd�Zdd�Zd	S)
�TestPrivateKeycCrrJr�r�r(r(r)r*�s
zTestPrivateKey.setUpClasscCs(t|jd�}t|jd�}|�||�dS�N�d)rr`rM�r-�pr_key1�pr_key2r(r(r)�test_equality_private_keys��z)TestPrivateKey.test_equality_private_keyscCs(t|jd�}t|jd�}|�||�dS)Nr����rr`rUr�r(r(r)�test_inequality_private_keys�r�z+TestPrivateKey.test_inequality_private_keyscCst|jd�}|�|d�dSr�r�)r-�pr_keyr(r(r)�,test_inequality_private_keys_not_implementedsz;TestPrivateKey.test_inequality_private_keys_not_implementedN)rDrErFrHr*r�r�r�r(r(r(r)r��s
r�l
:H�J`4w�w�qVXR�}h
xh�l
�MuC�	�E|dD30v[�6?�L�Fl
;G-^
lqkwdx.�}�j�s�q~�l
�*vdF*M�e�5R�N"�[��T]	l
�'��q%_�h�$z0W]u�q�?�l
�p�Tp-� |q.c�_��bb"�`+qrKrLTl
pZ�)SS4gr�7
)<E_1�j`+�l
N*y�?4=�n�tb/{Rd~)"|	l
�\�,}fD�x�;�#��C
7��l
�wF;6�*&hJ|(9r>�n�%r{rRrSl
��F�>x.~�x�:�U�I�p�e�l
5f�~p�
3,�Z'o	��>�Qql
/+ U�g1	�0B�]�D?}x�5&
l
�[-L#rJ�4dM�][$1r<B.<�l
Ck�cOG>F�"S@kT75�n�	l
�W&�`�}�
�#-'bgq�gD~G�l
�m+}�LLj�Tb`�-~({Me�#Fl
�g�0�H�?h_��O��X��k�
l
S"+�6}=�%?T�5�`�&Yl
#)�T�!�M�j�C:e�6j-�	zgenerator,x,y,expectedcCst|||�|ks
J�dS)z~
    `generator` defines the curve; is `(x, y)` a point on
    this curve? `expected` is True if the right answer is Yes.
    N)r)�	generatorr+r1�expectedr(r(r)�test_point_validityVsr��0x84ce72aa8699df436059f052ac51b6398d2511e49631bcb7e71f89c499b9ee425dfbc13a5f6d408471b054f2655617cbbaf7937b7c80cd8865cf02c8487d30d2b0fbd8b2c4e102e16d828374bbc47b93852f212d5043c3ea720f086178ff798cc4f63f787b9c2e419efa033e7644ea7936f54462dc21a6c4580725f7f0e7d158�l
�geC	�9|C�0M9F	�Q�L�_�
l
�k)7Q
2XZ~�
�S�}�
�l
)$|;6y3�q'Fe7��H�p�(,eMl
y$�=�tY�,dY=�V�4�P]��0x94bb5bacd5f8ea765810024db87f4224ad71362a3c28284b2b9f39fab86db12e8beb94aae899768229be8fdb6c4f12f28912bb604703a79ccff769c1607f5a91450f30ba0460d359d9126cbd6296be6d9c4bb96c0ee74cbb44197c207f6db326ab6f5a659113a9034e54be7b041ced9dcf6458d7fb9cbfb2744d999f7dfd63f4l
�zN(� �i,q ARs`�2^%�4|�l
�-5�C�Y42U�[�B]a�T�/�l
�U�g?n 3ua�	��!wPX0)(l
l`�gxJ�R�\�8z%8�/�
�OlV�0xf6227a8eeb34afed1621dcc89a91d72ea212cb2f476839d9b4243c66877911b37b4ad6f4448792a7bbba76c63bdd63414b6facab7dc71c3396a73bd7ee14cdd41a659c61c99b779cecf07bc51ab391aa3252386242b9853ea7da67fd768d303f1b9b513d401565b6f1eb722dfdb96b519fe4f9bd5de67ae131e64b40e78c42ddl
�<�~�a��>m.�'J%�qWz�cl
6#Hl�6�;�gBP�y3q^�X!l
�V$tl7!Z�{�^�EmT�u�
l
	*
�}a�2�n��y�yJ!USY�0x16b5f93afd0d02246f662761ed8e0dd9504681ed02a253006eb36736b563097ba39f81c8e1bce7a16c1339e345efabbc6baa3efb0612948ae51103382a8ee8bc448e3ef71e9f6f7a9676694831d7f5dd0db5446f179bcb737d4a526367a447bfe2c857521c7f40b6d7d7e01a180d92431fb0bbd29c04a0c420a57b3ed26ccd8al
+�F_7UK_�b�@�{{�~�Eo&�l
��R�Hy�k�Q$k���X1W<P?l
�}�*Fp�`�x)�k�g<TJ�m�l
 E�;�yS*s��X{<�!�(Dr�0x08a2024b61b79d260e3bb43ef15659aec89e5b560199bc82cf7c65c77d39192e03b9a895d766655105edd9188242b91fbde4167f7862d4ddd61e5d4ab55196683d4f13ceb90d87aea6e07eb50a874e33086c4a7cb0273a8e1c4408f4b846bceae1ebaac1b2b2ea851a9b09de322efe34cebe601653efd6ddc876ce8c2f2072fbl
(�I�2�=R-.L\S�dc7�Cw�|tl
�'�<;zs=A93=�Q3Kmd�K�oZl
�w�n-l�dk4�
�7X�5_w�EP	l
�z�hMR?WZ�f`�){Gs�,�o�0x1843aba74b0789d4ac6b0b8923848023a644a7b70afa23b1191829bbe4397ce15b629bf21a8838298653ed0c19222b95fa4f7390d1b4c844d96e645537e0aae98afb5c0ac3bd0e4c37f8daaff25556c64e98c319c52687c904c4de7240a1cc55cd9756b7edaef184e6e23b385726e9ffcba8001b8f574987c1a3fedaaa83ca6dl
�!)q!�q�?�"�"1j5Ad�jPfl
�V�2�PPzN=E�|#^�-%X1a[Nl
%s�8�`�I�l�)�aMt�� '}+l
3V�
z�XC&,�?p�]L3�+4�
�0x5a478f4084ddd1a7fea038aa9732a822106385797d02311aeef4d0264f824f698df7a48cfb6b578cf3da416bc0799425bb491be5b5ecc37995b85b03420a98f2c4dc5c31a69a379e9e322fbe706bbcaf0f77175e05cbb4fa162e0da82010a278461e3e974d137bc746d1880d6eb02aa95216014b37480d84b87f717bb13f76e1l
|`�#;e�	$beJ)q�r)3cl
�Vl}�v;}uA�(�gZH�$��O]�l
^l�h�cE�pRN�vw3��l
P
_O*�@�B�d>b;y�O>�OT�0xc598774259a058fa65212ac57eaa4f52240e629ef4c310722088292d1d4af6c39b49ce06ba77e4247b20637174d0bd67c9723feb57b5ead232b47ea452d5d7a089f17c00b8b6767e434a5e16c231ba0efa718a340bf41d67ea2d295812ff1b9277daacb8bc27b50ea5e6443bcf95ef4e9f5468fe78485236313d53d1c68f6ba2l
�
�<�G�ksS}5F
@j:@c�^�
l
>/�vMm�Y�6�#�k�?]xxvggl
UinL�NSr�/nw��B ^�A$I�l
����'�q_L�TDrUAidJ�
�0xca98ed9db081a07b7557f24ced6c7b9891269a95d2026747add9e9eb80638a961cf9c71a1b9f2c29744180bd4c3d3db60f2243c5c0b7cc8a8d40a3f9a7fc910250f2187136ee6413ffc67f1a25e1c4c204fa9635312252ac0e0481d89b6d53808f0c496ba87631803f6c572c1f61fa049737fdacce4adff757afed4f05beb658l
/l$JL�����'k]-X�l
�gsV,)[��l�6|#�+�j]6��l
buxr
+)	�;ZMZZ�,�W�;_	l
�"�]|~�Z�TU?^v��4�c
�C\�0x31dd9a54c8338bea06b87eca813d555ad1850fac9742ef0bbe40dad400e10288acc9c11ea7dac79eb16378ebea9490e09536099f1b993e2653cd50240014c90a9c987f64545abc6a536b9bd2435eb5e911fdfde2f13be96ea36ad38df4ae9ea387b29cced599af777338af2794820c9cce43b51d2112380a35802ab7e396c97al
Jk5"�:��C||Q�S�r;1�6	l
9fJ;=#0�L�]`vBW$ �]c6idl
;g�4�K-�$faR$ot��-�Z�9l
�eX{o�(�`�U�b&
��]vW�0xb2b94e4432267c92f9fdb9dc6040c95ffa477652761290d3c7de312283f6450d89cc4aabe748554dfb6056b2d8e99c7aeaad9cdddebdee9dbc099839562d9064e68e7bb5f3a6bba0749ca9a538181fc785553a4000785d73cc207922f63e8ce1112768cb1de7b673aed83a1e4a74592f1268d8e2a4e9e63d414b5d442bd0456dl
�l/S>sJOEj,�)%,U
�J~�l
�b&�H�q�V{,?%YT�lS@�=#%l
>��b�*�j�61�gH��Xfl
�2-^P��=f;B"^v[z�
�0x4366fcadf10d30d086911de30143da6f579527036937007b337f7282460eae5678b15cccda853193ea5fc4bc0a6b9d7a31128f27e1214988592827520b214eed5052f7775b750b0c6b15f145453ba3fee24a085d65287e10509eb5d5f602c440341376b95c24e5c4727d4b859bfe1483d20538acdd92c7997fa9c614f0f839d7l
Sgk"�Z{h7�E�&q�S�?�dU	l
 er&�SE/���,J^�pt$b�l
h&�~�A�J gKl
-��	�_kE�l
�5�p�q!0�9l�xB�m�^�b�I.�0x543f8af57d750e33aa8565e0cae92bfa7a1ff78833093421c2942cadf9986670a5ff3244c02a8225e790fbf30ea84c74720abf99cfd10d02d34377c3d3b41269bea763384f372bb786b5846f58932defa68023136cd571863b304886e95e52e7877f445b9364b3f06f3c28da12707673fecb4b8071de06b6e0a3c87da160cef3l
5X�y�n"Mz�$YI)�Z]�?l
kg":(VeFo/+p!e[�l
�xt:�!lM�1�l)3|^{:y�6�l
h�6n�s(#lrI<�-�9pTv�0xd2e8454143ce281e609a9d748014dcebb9d0bc53adb02443a6aac2ffe6cb009f387c346ecb051791404f79e902ee333ad65e5c8cb38dc0d1d39a8dc90add5023572720e5b94b190d43dd0d7873397504c0c7aef2727e628eb6a74411f2e400c65670716cb4a815dc91cbbfeb7cfe8c929e93184c938af2c078584da045e8f8d1l
�%�3 aoq�Q{�FZg(�k�nvTjl
�xm�%<Dif�PjXNOa@Z^�l
#O�h��?7�HB�[qJ�f�&�0F
l
�/�BW
de&b�"Ej+N�Y"	x=!8�0x6660717144040f3e2f95a4e25b08a7079c702a8b29babad5a19a87654bc5c5afa261512a11b998a4fb36b5d8fe8bd942792ff0324b108120de86d63f65855e5461184fc96a0a8ffd2ce6d5dfb0230cbbdd98f8543e361b3205f5da3d500fdc8bac6db377d75ebef3cb8f4d1ff738071ad0938917889250b41dd1d98896ca06fbl
w|�F�M�<�$�?i
&i_�6NzV�l
"N�?�xVP3|x�l�/M-�AdS�l
�!��-��i�uL
�V�w�|k�3�	l
�crE;�X<�v� 
l�N`fma�	zgen,msg,qx,qy,r,s,expectedc
Cs�t|t�|��||��}t�t��}t|�}	Wd�n1s wYt|�dks-J�d|dj	j
dvs9J�d|dj	j
dvsEJ�d|dj	j
dvsQJ�||�|	t||��ks^J�dS)z�
    `msg` = message, `qx` and `qy` represent the base point on
    elliptic curve of `gen`, `r` and `s` are the signature, and
    `expected` is True iff the signature is expected to be valid.N��unusedrrr)
r	r
rr@�pytest�warns�DeprecationWarningr�len�message�argsr<r
)
rNr"�qx�qyr7r8r�r#r��msg_dgstr(r(r)�test_signature_validityRs
�r�cCsg|]}|dr|�qS)�r()�.0r+r(r(r)�
<listcomp>csr�c	Cs~t||�}t�t��}t|�}	Wd�n1swYt|�dks'J�d|djjdvs3J�d|djjdvs?J�d|djjdvsKJ�|�|	|�}
|
sUJ�|
D]}|j	}t
|||��|��||d�qWt
�|��||�}
dd�|
D�}|
|vs�J�dS)	Nr�r�rrrTcSsg|]}|j�qSr()rB)r��pkr(r(r)r�ysz$test_pk_recovery.<locals>.<listcomp>)r
r�r�r�rr�r�r��recover_public_keysrBr�r+r1r
rr@)rNr"r7r8r�r�r�r%r�r��pksr��q�
original_q�pointsr(r(r)�test_pk_recoverybs"

�r�cCs�ttttttd�}|t�t|�	����}t
d�|��||}t|�
��d}|tjd|d��}|tjd|d��}|tjd|d�tj|d?|d�B�}||||fS)z*Hypothesis strategy for test_sig_verify().)rrrrrrzGenerator used: {0}r)�	min_value�	max_value)rrrrrr�st�sampled_from�sorted�keysr�format�intrA�integers)�draw�name_gen�namer�rA�keyr"�noncer(r(r)�st_random_gen_key_msg_nonce}s&���r�z--fast�max_examples�
�cCsX|\}}}}t|||�}t||�}|�||�}|�||�s J�|�|d|�r*J�dS)z�
    Check if signing and verification works for arbitrary messages and
    that signatures for other messages are rejected.
    rN)r	rr%r<)r�r��sec_multr"r��pubkey�privkey�	signaturer(r(r)�test_sig_verify�s
r�cCsft�t��}td�dksJ�Wd�n1swYt|�dks%J�d|djjdvs1J�dS)Nr�rr�)r�r�r�rr�r�r�)r�r(r(r)�test_int_to_string_with_zero�s
�r�r()8�
__future__r�sys�hypothesis.strategies�
strategiesr��
hypothesisrrrr�	unittest2�unittest�ImportErrorr��ecdsarr	r
rrr
rrrrrrrrrrrr�HYP_SETTINGS�version_info�TestCaserrIr~r��P192_POINTS�mark�parametrizer�r��CURVE_192_KATSr�r��	compositer��dict�SIG_VER_SETTINGS�argvr�r�r(r(r(r)�<module>s�L
6s �������������L
��������������������������������s
�