HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cryptography/hazmat/backends/openssl/__pycache__/ed448.cpython-38.pyc
U

�e�]��@s�ddlmZmZmZddlmZmZddlmZddl	m
Z
mZdZdZ
e�e�Gdd�de��Ze�e
�Gd	d
�d
e��ZdS)�)�absolute_import�division�print_function)�
exceptions�utils)�
serialization)�Ed448PrivateKey�Ed448PublicKey�9�rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�_Ed448PublicKeycCs||_||_dS�N��_backend�	_evp_pkey��selfZbackendZevp_pkey�r�L/usr/lib/python3/dist-packages/cryptography/hazmat/backends/openssl/ed448.py�__init__sz_Ed448PublicKey.__init__cCst|tjjks|tjjkr@|tjjk	s0|tjjk	r8td��|��S|tjkr^|tjjk	r^td��|j�	||||j
d�S)Nz3When using Raw both encoding and format must be Rawz?format must be SubjectPublicKeyInfo when encoding is PEM or DER)r�Encoding�Raw�PublicFormat�
ValueError�_raw_public_bytes�_PEM_DERZSubjectPublicKeyInforZ_public_key_bytesr)r�encoding�formatrrr�public_bytess4
�
�
�
���
���z_Ed448PublicKey.public_bytescCsp|jj�dt�}|jj�dt�}|jj�|j||�}|j�|dk�|j�|dtk�|jj�|t�dd�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�resrrrr3s�z!_Ed448PublicKey._raw_public_bytescCs�|jj��}|j�||jjjk�|jj�||jjj�}|jj�||jjj|jjj|jjj|j	�}|j�|dk�|jj�
||t|�|t|��}|dkr�|j��t
j�dS)Nr!)rr%�Cryptography_EVP_MD_CTX_newr'r"�NULL�gc�Cryptography_EVP_MD_CTX_freeZEVP_DigestVerifyInitrZEVP_DigestVerify�lenZ_consume_errorsrZInvalidSignature)rZ	signature�data�
evp_md_ctxr,rrr�verify=s0���
z_Ed448PublicKey.verifyN)�__name__�
__module__�__qualname__rrrr4rrrrrs
rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�_Ed448PrivateKeycCs||_||_dSr
rrrrrrRsz_Ed448PrivateKey.__init__cCsz|jj�dt�}|jj�dt�}|jj�|j||�}|j�|dk�|j�|dtk�|jj�|�dd�}|j�	|�Sr)
rr"r#r$r%r&rr'r(Zed448_load_public_bytes)rr*r+r,rrrr�
public_keyVs�z_Ed448PrivateKey.public_keycCs�|jj��}|j�||jjjk�|jj�||jjj�}|jj�||jjj|jjj|jjj|j	�}|j�|dk�|jj�
dt�}|jj�
dt|��}|jj�
||||t|��}|j�|dk�|j�|dtk�|jj�||d�dd�S)Nr!zunsigned char[]r r)rr%r-r'r"r.r/r0ZEVP_DigestSignInitrr#�_ED448_SIG_SIZEr1ZEVP_DigestSignr()rr2r3r,r*r+rrr�signas4���z_Ed448PrivateKey.signcCs�|tjjks|tjjkrL|tjjk	s<|tjjk	s<t|tj�sDtd��|��S|tj	krj|tjj
k	rjtd��|j�||||j
d�S)NzcWhen using Raw both encoding and format must be Raw and encryption_algorithm must be NoEncryption()z0format must be PKCS8 when encoding is PEM or DER)rrrrZ
PrivateFormat�
isinstanceZNoEncryptionr�_raw_private_bytesrZPKCS8rZ_private_key_bytesr)rrrZencryption_algorithmrrr�
private_bytesus8
�
�
�
�
���
���z_Ed448PrivateKey.private_bytescCsp|jj�dt�}|jj�dt�}|jj�|j||�}|j�|dk�|j�|dtk�|jj�|t�dd�Sr)	rr"r#r$r%ZEVP_PKEY_get_raw_private_keyrr'r(r)rrrr=�s�z#_Ed448PrivateKey._raw_private_bytesN)r5r6r7rr9r;r>r=rrrrr8Ps
r8N)Z
__future__rrrZcryptographyrrZcryptography.hazmat.primitivesrZ/cryptography.hazmat.primitives.asymmetric.ed448rr	r$r:Zregister_interface�objectrr8rrrr�<module>s>