File: //var/opt/nydus/ops/cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-39.pyc
a
�,�h� � @ sn d dl Z d dlmZ d dlmZ d dlmZmZ e jrBd dl m
Z
dZdZG dd � d e�Z
G d
d� de�ZdS )� N)�
exceptions)�
serialization)�Ed448PrivateKey�Ed448PublicKey)�Backend�9 �r c @ sP e Zd Zdd�dd�Zejejed�dd�Zed�d d
�Z eedd�d
d�Z
dS )�_Ed448PublicKeyr ��backendc C s || _ || _d S �N��_backend� _evp_pkey��selfr Zevp_pkey� r �]/opt/nydus/tmp/pip-target-wkfpz8uv/lib64/python/cryptography/hazmat/backends/openssl/ed448.py�__init__ s z_Ed448PublicKey.__init__)�encoding�format�returnc C sV |t jju s|t jju r@|t jjus0|t jjur8td��| �� S | j�||| | jd �S )Nz3When using Raw both encoding and format must be Raw) r �Encoding�Raw�PublicFormat�
ValueError�_raw_public_bytesr Z_public_key_bytesr )r r r r r r �public_bytes s
�
�
�
���z_Ed448PublicKey.public_bytes�r c C sp | j j�dt�}| j j�dt�}| j j�| j||�}| j �|dk� | j �|d tk� | j j�|t�d d � S �Nzunsigned char []�size_t *� r ) r �_ffi�new�_ED448_KEY_SIZE�_lib�EVP_PKEY_get_raw_public_keyr �openssl_assert�buffer�r �buf�buflen�resr r r r 1 s �z!_Ed448PublicKey._raw_public_bytesN)� signature�datar c C s� | j j�� }| j �|| j jjk� | j j�|| j jj�}| j j�|| j jj| j jj| j jj| j �}| j �|dk� | j j�
||t|�|t|��}|dkr�| j �� t
j�d S )Nr! )r r% �EVP_MD_CTX_newr'