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__/rsa.cpython-310.pyc
o

�h�@s�dZddlmZmZddlmZddlmZmZddlm	Z	ddl
mZddlm
Z
mZmZGd	d
�d
e
�ZGdd�de�ZGd
d�de�ZdS)z2A shim around PyCA for RSA public and private keys�)�Optional�cast)�InvalidSignature)�MGF1�OAEP)�PKCS1v15)�rsa�)�	CryptoKey�PyCAKey�hashescs�eZdZdZ	ddedejdeejf�fdd�
Z	e
defd	d
��Ze
defdd��Z
e
deefd
d��Ze
deefdd��Ze
deefdd��Ze
deefdd��Ze
deefdd��Ze
deefdd��Z�ZS)�_RSAKeyz,Base class for shim around PyCA for RSA keysN�pyca_key�pub�privcst��|�||_||_dS�N)�super�__init__�_pub�_priv)�selfrrr��	__class__��F/usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/crypto/rsa.pyr(s
z_RSAKey.__init__�returncC�|jjS)zReturn the RSA public modulus)r�n�rrrrr/�z	_RSAKey.ncCr)zReturn the RSA public exponent)r�errrrr 5rz	_RSAKey.ecC�|jr|jjSdS)zReturn the RSA private exponentN)r�drrrrr";�z	_RSAKey.dcCr!)z"Return the RSA first private primeN)r�prrrrr$Ar#z	_RSAKey.pcCr!)z#Return the RSA second private primeN)r�qrrrrr%Gr#z	_RSAKey.qcCr!)zReturn d modulo p-1N)r�dmp1rrrrr&Mr#z_RSAKey.dmp1cCr!)zReturn q modulo p-1N)r�dmq1rrrrr'Sr#z_RSAKey.dmq1cCr!)z Return the inverse of q modulo pN)r�iqmprrrrr(Yr#z_RSAKey.iqmpr)�__name__�
__module__�__qualname__�__doc__rr�RSAPublicNumbersr�RSAPrivateNumbersr�property�intrr r"r$r%r&r'r(�
__classcell__rrrrr
%s,��r
c@s�eZdZdZedededededededed	ed
eddfdd
��Zedededdfdd��Zde	de
dee	fdd�Zdde	de
de	fdd�Z
dS)�
RSAPrivateKeyz'A shim around PyCA for RSA private keysrr r"r$r%r&r'r(�skip_validationrc

	Cs:t�||�}
t�|||||||
�}|j|	d�}|||
|�S)zConstruct an RSA private key)�unsafe_skip_rsa_key_validation)rr-r.�private_key)
�clsrr r"r$r%r&r'r(r3rr�priv_keyrrr�	constructcs�zRSAPrivateKey.construct�key_size�exponentcCs&t�||�}|��}|j}||||�S)zGenerate a new RSA private key)r�generate_private_key�private_numbers�public_numbers)r6r9r:r7rrrrr�generatepszRSAPrivateKey.generate�data�	hash_namecC�Fzt|�}td|j�}|�|tt|�|d��WSty"YdSw)zDecrypt a block of data�rsa.RSAPrivateKeyN)rrr�decryptrr�
ValueError)rr?r@�hash_algr7rrrrCz�
�zRSAPrivateKey.decrypt�cCs"td|j�}|�|t�t|��S)zSign a block of datarB)rr�signrr)rr?r@r7rrrrH�szRSAPrivateKey.signN�rG)r)r*r+r,�classmethodr0�boolr8r>�bytes�strrrCrHrrrrr2`s$�����	
r2c	@s`eZdZdZedededdfdd��Zdedede	efd	d
�Z
ddedededefd
d�ZdS)�RSAPublicKeyz&A shim around PyCA for RSA public keysrr rcCst�||�}|��}|||�S)zConstruct an RSA public key)rr-�
public_key)r6rr r�pub_keyrrrr8�s
zRSAPublicKey.constructr?r@cCrA)zEncrypt a block of data�rsa.RSAPublicKeyN)rrr�encryptrrrD)rr?r@rErPrrrrR�rFzRSAPublicKey.encryptrG�sigcCs@ztd|j�}|�||t�t|��WdStyYdSw)z'Verify the signature on a block of datarQTF)rr�verifyrrr)rr?rSr@rPrrrrT�s�zRSAPublicKey.verifyNrI)
r)r*r+r,rJr0r8rLrMrrRrKrTrrrrrN�s 
rNN)r,�typingrr�cryptography.exceptionsr�1cryptography.hazmat.primitives.asymmetric.paddingrrr�)cryptography.hazmat.primitives.asymmetricr�miscr
rrr
r2rNrrrr�<module>s;+