File: //usr/local/CyberPanel/lib64/python3.10/site-packages/rsa/__pycache__/key.cpython-310.pyc
o
��h#k � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddl ZdZ
ejddd�ZG dd� d�Z
G dd � d e
�ZG d
d� de
�Zejjdfd
edejegef dedejeef fdd�Zdedededejeef fdd�Zdededejeef fdd�Zde
fd
edejegef dededejeeeef f
dd�Zdde
fd
ededededejeef f
dd�Zg d �Zed!kr�ddlZz%ed"�D ]Ze� � \Z!Z"e!r� ned# dkr�es�edkr�e#d$e � q�W n e$y� e#d%� Y dS w e#d&� dS dS )'aj RSA key generation code.
Create new keys with the newkeys() function. It will give you a PublicKey and a
PrivateKey object.
Loading and saving keys requires the pyasn1 module. This module is imported as
late as possible, such that other functionality will remain working in absence
of pyasn1.
.. note::
Storing public and private keys via the `pickle` module is possible.
However, it is insecure to load a key from an untrusted source.
The pickle module is not secure against erroneous or maliciously
constructed data. Never unpickle data received from an untrusted
or unauthenticated source.
� Ni �T�AbstractKey)�boundc
@ s@ e Zd ZdZdZdededdfdd�Zed ej e
d
ede
fdd��Zed ej e
d
ede
fd
d��Z
defdd�Zdefdd�Zed(d ej e
d
edede
fdd��Zededejeejf dejfdd��Zd(dedefdd�Zdedejeef fdd�Zd ed!edefd"d#�Zdefd$d%�Zdejeef fd&d'�ZdS ))r z0Abstract superclass for private and public keys.)�n�e�blindfac�blindfac_inverse�mutexr r �returnNc C s&