File: //usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/crypto/__pycache__/ed.cpython-310.pyc
o
�h�+ �
@ s d Z ddlZddlZddlmZmZmZmZ ddlm Z ddl
mZ ddlm
Z
mZ ddlmZmZ ddlmZ dd lmZ dd
lmZ ddlmZ dd
lmZmZ ee
jejf Zee
jejf Ze�� Z e�!� Z"e�#� Z$e�%� Z&e sve"r�G dd� de�Z'G dd� de'�Z(G dd� de'�Z)n;G dd� d�Z*G dd� de*�Z(G dd� de*�Z)zddl+Z+e+j,Z-e+j.Z/e+j0Z1e+j2Z3e+j4Z5dZ W n e6e7e8fy� Y nw e$r�G dd� d�Z9n,G dd� d�Z9zddl+m:Z: e:�;� Z<e:�=� Z>e:j?Z@e:jAZBdZ$W n e6e7e8fy� Y nw G dd� d�ZCdS )zFA shim around PyCA and libnacl for Edwards-curve keys and key exchange� N)�Dict�Optional�Union�cast)�InvalidSignature)�backend)�ed25519�ed448)�x25519�x448)�Encoding)�
PrivateFormat)�PublicFormat)�NoEncryption� )� CryptoKey�PyCAKeyc s^ e Zd ZdZ d
dededee f� fdd�
Zedefd d
��Z edee fdd��Z
� ZS )� _EdDSAKeyz.Base class for shim around PyCA for EdDSA keysN�pyca_key�pub�privc s t � �|� || _|| _d S �N)�super�__init__�_pub�_priv)�selfr r r �� __class__� �E/usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/crypto/ed.pyr 5 s
z_EdDSAKey.__init__�returnc C � | j S �z0Return the public value encoded as a byte string�r �r r r r �public_value<