File: //usr/lib/python3/dist-packages/rsa/__pycache__/key.cpython-310.pyc
o
��a�k � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl
Ze�e�Z
dZG dd� d�ZG dd� de�ZG dd � d e�Zejjd
fdedejegef d
edejeef fdd�Zdedededejeef fdd�Zdededejeef fdd�Zd
efdedejegef d
ededejeeeef f
dd�Zd
defded
edededejeef f
dd�Zg d�Zedk�rddlZz%ed �D ]Z e�!� \Z"Z#e"r� ne d! dkr�e s�e dkr�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 c @ s" e Zd ZdZdZdededdfdd�Zed edd fd
d��Z ed edd fdd
��Z
defdd�Zdefdd�Zed'd ede
dd fdd��Zede
deje
ejf dejfdd��Zd'de
defdd�Zdedejeef fdd�Zded edefd!d"�Zdefd#d$�Zdejeef fd%d&�ZdS )(�AbstractKeyz0Abstract superclass for private and public keys.)�n�e�blindfac�blindfac_inverse�mutexr r �returnNc C s&