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: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib/python3.10/site-packages/ecdsa/__pycache__/eddsa.cpython-310.pyc
o

�h�	@sddZddlZddlmZddlmZddlmZmZm	Z	m
Z
mZddd	Zd
Z
eed��ZdZeed
��Zeed��ZdddZdd�Ze�ee
eee�Zejeeedeeeedd�ZdddddZdZ
deZdZeed��Zeed��ZdddZdd�Ze�ee
eee�Zejeeedeeeedd�ZGdd �d e�ZGd!d"�d"e�ZdS)#z6Implementation of Edwards Digital Signature Algorithm.�N���	shake_256)�
ellipticcurve)�remove_whitespace�
bit_length�bytes_to_int�int_to_bytes�compat26_str�������M37095705934669439343138083508754565189542113879843219016388785533085940283555��M15112221349535400772501151409588531511454012693041857206046113283949847762202�M46316835694926478169428394003475163141307993866256225615783033603165251855960�l	�S�9i�@eM�^�w|ocCst�dt|����S)N�sha512)�hashlib�newr
�digest��data�r�>/usr/local/CyberCP/lib/python3.10/site-packages/ecdsa/eddsa.py�_sha512(srT)�	generatori���iWg���ڇ224580040295924300187604334099896036246789641632564134246125461686950415467406032909029192869357953282578032075146446173674602635247710ڇ298819210078481492676017930443930673437544040154080242095928241372331506189835876003536878655418784733982303233503462500531545062832660i�l
;O)�u9d�
NG\c�I�o�SDY%	�c�;� cCs
t|d�S)N�rrrrrr�	_shake256I�
r#c@s\eZdZdZddd�Zdd�Zdd�Zed	d
��Zej	dd
��Zdd
�Z
dd�Zdd�ZdS)�	PublicKeyz7Public key for the Edwards Digital Signature Algorithm.NcCst||_|��|_||_t|j���ddd|_t|�|jkr(td�|j���|r/||_	dSt
j�|j|�|_	dS)Nr�rz5Incorrect size of the public key, expected: {0} bytes)
r�curve�_PublicKey__encodedr�p�baselen�len�
ValueError�format�_PublicKey__pointr�PointEdwards�
from_bytes)�selfr�
public_key�public_pointrrr�__init__Vs
��

�zPublicKey.__init__cC�&t|t�r|j|jko|j|jkStS�N)�
isinstancer%r'r(�NotImplemented�r1�otherrrr�__eq__is
�zPublicKey.__eq__cC�
||kSr6rr9rrr�__ne__pr$zPublicKey.__ne__cC�|jSr6�r.�r1rrr�points�zPublicKey.pointcCs|j|kr	td��||_dS)Nz)Can't change the coordinates of the point)r.r,r9rrrrAws

cCr>r6r?r@rrrr3}�zPublicKey.public_pointcCr>r6)r(r@rrrr2�rCzPublicKey.public_keycCs�t|�}t|�d|jkrtd�d|j���tj�|j|d|j��}t	||jd�d�}||j
��kr9td��t�}|jt
krEtd�}t	|j�||��|j|�d�}|j
||j||krgtd��dS)z(Verify a Pure EdDSA signature over data.rz-Invalid signature length, expected: {0} bytesN�littlezInvalid signature�
SigEd448T)r
r+r*r,r-rr/r0r'rr�order�	bytearray�curve_ed448�	hash_func�to_bytesr(r.)r1r�	signature�R�S�dom�krrr�verify�s.���
�zPublicKey.verifyr6)
�__name__�
__module__�__qualname__�__doc__r4r;r=�propertyrA�setterr3r2rPrrrrr%Ss


r%c@sLeZdZdZdd�Zedd��Zdd�Zdd	�Zd
d�Z	dd
�Z
dd�ZdS)�
PrivateKeyz8Private key for the Edwards Digital Signature Algorithm.cCs�||_|��|_t|j���ddd|_t|�|jkr%td�|j���t|�|_	t
|j�|��|_d|_
|jd|j�}|�|�}t|d�}||_dS)Nrr&rz2Incorrect size of private key, expected: {0} bytesrD)rr'rr)r*r+r,r-�bytes�_PrivateKey__private_keyrGrI�_PrivateKey__h�_PrivateKey__public_key�
_key_pruner�_PrivateKey__s)r1r�private_key�a�scalarrrrr4�s 
��



zPrivateKey.__init__cCr>r6)rYr@rrrr^�rBzPrivateKey.private_keycCr5r6)r7rWr'rYr8r9rrrr;�s


�zPrivateKey.__eq__cCr<r6rr9rrrr=�r$zPrivateKey.__ne__cCs�|j��}|dkrd}n|dkrd}ntd��|dd|>dM<t|j���}|ddkr?d|d<|d	d
O<|S|dd|d>d@d|dd>B|d<|S)Nrrr�z&Only cofactor 4 and 8 curves supportedrrr����)r'�cofactorr,rr))r1�key�h�h_log�lrrrr\�s
,�zPrivateKey._key_prunecCs2|jr|jS|j|j}t|j|��|�|_|jS)z9Generate the public key based on the included private key)r[rr]r%rJ)r1r3rrrr2�s�zPrivateKey.public_keyc	Cs�t|�}|����}|j|jd�}t�}|jtkrtd�}t|j�|||�d�}|j	|�
�}t|j�||||�d�}||j	��;}|||j|j	��}|t
||jd�S)z)Perform a Pure EdDSA signature over data.NrErD)r
r2rZr*rGr'rHrrIrrJrFr]r	)	r1r�A�prefixrN�rrLrOrMrrr�sign�s
zPrivateKey.signN)rQrRrSrTr4rUr^r;r=r\r2rlrrrrrW�s

rW)rTr�_sha3r�r�_compatrrrr	r
�_p�_a�int�_d�_h�_Gx�_Gy�_rr�	CurveEdTw�
curve_ed25519r/�generator_ed25519r#rH�generator_ed448�objectr%rWrrrr�<module>sf	������������O