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/asyncssh/crypto/__pycache__/dsa.cpython-310.pyc
o

�h��@stdZddlmZmZddlmZddlmZddlm	Z	m
Z
mZGdd�de	�ZGd	d
�d
e�Z
Gdd�de�Zd
S)z2A shim around PyCA for DSA public and private keys�)�Optional�cast)�InvalidSignature)�dsa�)�	CryptoKey�PyCAKey�hashesc
s�eZdZdZ	ddedejdejdeej	f�fdd�
Z
ed	efd
d��Z
ed	efdd
��Zed	efdd��Zed	efdd��Zed	eefdd��Z�ZS)�_DSAKeyz,Base class for shim around PyCA for DSA keysN�pyca_key�params�pub�privcs"t��|�||_||_||_dS�N)�super�__init__�_params�_pub�_priv)�selfrrr
r��	__class__��F/usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/crypto/dsa.pyr&s
z_DSAKey.__init__�returncC�|jjS)zReturn the DSA public modulus)r�p�rrrrr/�z	_DSAKey.pcCr)zReturn the DSA sub-group order)r�qrrrrr5rz	_DSAKey.qcCr)zReturn the DSA generator)r�grrrrr ;rz	_DSAKey.gcCr)zReturn the DSA public value)r�yrrrrr!Arz	_DSAKey.ycCs|jr|jjSdS)zReturn the DSA private valueN)r�xrrrrr"Gsz	_DSAKey.xr)�__name__�
__module__�__qualname__�__doc__rr�DSAParameterNumbers�DSAPublicNumbersr�DSAPrivateNumbersr�property�intrrr r!r"�
__classcell__rrrrr
#s$���	r
c
@sdeZdZdZededededededdfdd	��Zed
eddfdd��Zddede	defdd�Z
dS)�
DSAPrivateKeyz'A shim around PyCA for DSA private keysrrr r!r"rc
Cs<t�|||�}t�||�}t�||�}|��}	||	|||�S)zConstruct a DSA private key)rr'r(r)�private_key)
�clsrrr r!r"rr
r�priv_keyrrr�	constructQs
zDSAPrivateKey.construct�key_sizecCs,t�|�}|��}|j}|j}|||||�S)zGenerate a new DSA private key)r�generate_private_key�private_numbers�public_numbers�parameter_numbers)r/r2r0rr
rrrr�generate]s

zDSAPrivateKey.generate��data�	hash_namecCstd|j�}|�|t|��S)zSign a block of datazdsa.DSAPrivateKey)rr�signr	)rr9r:r0rrrr;hszDSAPrivateKey.signN�r8)r#r$r%r&�classmethodr+r1r7�bytes�strr;rrrrr-Ns���
r-c@sNeZdZdZedededededdf
dd��Zdd
ededede	fd
d�Z
dS)�DSAPublicKeyz&A shim around PyCA for DSA public keysrrr r!rcCs.t�|||�}t�||�}|��}||||�S)zConstruct a DSA public key)rr'r(�
public_key)r/rrr r!rr
�pub_keyrrrr1rszDSAPublicKey.constructr8r9�sigr:cCs<ztd|j�}|�||t|��WdStyYdSw)z'Verify the signature on a block of datazdsa.DSAPublicKeyTF)rr�verifyr	r)rr9rCr:rBrrrrD|s�zDSAPublicKey.verifyNr<)r#r$r%r&r=r+r1r>r?�boolrDrrrrr@os
  	r@N)r&�typingrr�cryptography.exceptionsr�)cryptography.hazmat.primitives.asymmetricr�miscrrr	r
r-r@rrrr�<module>s+!