Server : LiteSpeed
System : Linux server51.dnsbootclub.com 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
User : nandedex ( 1060)
PHP Version : 8.1.33
Disable Function : NONE
Directory :  /opt/cppython/lib/python3.8/site-packages/nacl/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]


Current File : //opt/cppython/lib/python3.8/site-packages/nacl/__pycache__/signing.cpython-38.pyc
U

O��g� �@s�ddlmZddlZddlmZddlmZddlmZ	m
Zddlm
Z
mZGdd�de�ZGd	d
�d
eje
�ZGdd�deje
�ZdS)
�)�OptionalN)�encoding)�
exceptions)�
PrivateKey�	PublicKey)�StringFixer�randomc@s^eZdZUdZeed<eed<eeeedd�dd��Zeed�dd	��Z	eed�d
d��Z
dS)
�
SignedMessagezc
    A bytes subclass that holds a messaged that has been signed by a
    :class:`SigningKey`.
    �
_signature�_message)�	signature�message�combined�returncCs||�}||_||_|S�N)r
r)�clsrr
r�obj�r�9/opt/cppython/lib/python3.8/site-packages/nacl/signing.py�_from_parts#szSignedMessage._from_parts�rcCs|jS)zL
        The signature contained within the :class:`SignedMessage`.
        )r
��selfrrrr,szSignedMessage.signaturecCs|jS)zJ
        The message contained within the :class:`SignedMessage`.
        )rrrrrr
3szSignedMessage.messageN)�__name__�
__module__�__qualname__�__doc__�bytes�__annotations__�classmethodr�propertyrr
rrrrr	s
�r	c@s�eZdZdZejfeejd�dd�Zed�dd�Z	e
d�dd	�Zee
d
�dd�Zee
d
�d
d�Zdejfeeeejed�dd�Zed�dd�ZdS)�	VerifyKeyz�
    The public key counterpart to an Ed25519 SigningKey for producing digital
    signatures.

    :param key: [:class:`bytes`] Serialized Ed25519 public key
    :param encoder: A class that is able to decode the `key`
    )�key�encodercCsJ|�|�}t|t�st�d��t|�tjjkr@t�	dtjj��||_
dS)Nz'VerifyKey must be created from 32 bytesz%The key must be exactly %s bytes long)�decode�
isinstancer�exc�	TypeError�len�nacl�bindingsZcrypto_sign_PUBLICKEYBYTES�
ValueError�_key)rr"r#rrr�__init__Ds


��zVerifyKey.__init__rcCs|jSr)r,rrrr�	__bytes__TszVerifyKey.__bytes__cCstt|��Sr��hashrrrrr�__hash__WszVerifyKey.__hash__��otherrcCs&t||j�sdStj�t|�t|��S�NF�r%�	__class__r)r*Z
sodium_memcmpr�rr3rrr�__eq__ZszVerifyKey.__eq__cCs
||kSrrr7rrr�__ne___szVerifyKey.__ne__N)�smessagerr#rcCsp|dk	rVt|t�s$t�dtjj��t|�tjjkrFt�dtjj��||�	|�}n
|�	|�}tj�
||j�S)aS
        Verifies the signature of a signed message, returning the message
        if it has not been tampered with else raising
        :class:`~nacl.signing.BadSignatureError`.

        :param smessage: [:class:`bytes`] Either the original messaged or a
            signature and message concated together.
        :param signature: [:class:`bytes`] If an unsigned message is given for
            smessage then the detached signature must be provided.
        :param encoder: A class that is able to decode the secret message and
            signature.
        :rtype: :class:`bytes`
        Nz4Verification signature must be created from %d bytesz+The signature must be exactly %d bytes long)r%rr&r'r)r*�crypto_sign_BYTESr(r+r$Zcrypto_sign_openr,)rr:rr#rrr�verifybs 
����
zVerifyKey.verifycCstj�|j�}t|�S)z�
        Converts a :class:`~nacl.signing.VerifyKey` to a
        :class:`~nacl.public.PublicKey`

        :rtype: :class:`~nacl.public.PublicKey`
        )r)r*Z$crypto_sign_ed25519_pk_to_curve25519r,�_Curve25519_PublicKey)rZraw_pkrrr�to_curve25519_public_key�sz"VerifyKey.to_curve25519_public_key)rrrrr�
RawEncoderr�Encoderr-r.�intr1�object�boolr8r9rr<r=r>rrrrr!;s&	����)r!c@s�eZdZdZejfeejd�dd�Zed�dd�Z	e
d�dd	�Zee
d
�dd�Zee
d
�d
d�Zedd�dd��Zejfeejed�dd�Zed�dd�ZdS)�
SigningKeya�
    Private key for producing digital signatures using the Ed25519 algorithm.

    Signing keys are produced from a 32-byte (256-bit) random seed value. This
    value can be passed into the :class:`~nacl.signing.SigningKey` as a
    :func:`bytes` whose length is 32.

    .. warning:: This **must** be protected and remain secret. Anyone who knows
        the value of your :class:`~nacl.signing.SigningKey` or it's seed can
        masquerade as you.

    :param seed: [:class:`bytes`] Random 32-byte value (i.e. private key)
    :param encoder: A class that is able to decode the seed

    :ivar: verify_key: [:class:`~nacl.signing.VerifyKey`] The verify
        (i.e. public) key that corresponds with this signing key.
    )�seedr#cCsj|�|�}t|t�st�d��t|�tjjkr@t�	dtjj��tj�
|�\}}||_||_t
|�|_dS)Nz.SigningKey must be created from a 32 byte seedz&The seed must be exactly %d bytes long)r$r%rr&r'r(r)r*�crypto_sign_SEEDBYTESr+Zcrypto_sign_seed_keypair�_seed�_signing_keyr!Z
verify_key)rrEr#Z
public_keyZ
secret_keyrrrr-�s

���zSigningKey.__init__rcCs|jSr)rGrrrrr.�szSigningKey.__bytes__cCstt|��Srr/rrrrr1�szSigningKey.__hash__r2cCs&t||j�sdStj�t|�t|��Sr4r5r7rrrr8�szSigningKey.__eq__cCs
||kSrrr7rrrr9�szSigningKey.__ne__cCs|ttjj�tjd�S)z�
        Generates a random :class:`~nacl.signing.SigningKey` object.

        :rtype: :class:`~nacl.signing.SigningKey`
        )r#)rr)r*rFrr?)rrrr�generate�s
�zSigningKey.generate)r
r#rcCsTtj�||j�}tjj}|�|d|��}|�||d��}|�|�}t�|||�S)z�
        Sign a message using this key.

        :param message: [:class:`bytes`] The data to be signed.
        :param encoder: A class that is used to encode the signed message.
        :rtype: :class:`~nacl.signing.SignedMessage`
        N)r)r*Zcrypto_signrHr;�encoder	r)rr
r#Z
raw_signedr;r�signedrrr�sign�s
zSigningKey.signcCs|j}tj�|�}t|�S)z�
        Converts a :class:`~nacl.signing.SigningKey` to a
        :class:`~nacl.public.PrivateKey`

        :rtype: :class:`~nacl.public.PrivateKey`
        )rHr)r*Z$crypto_sign_ed25519_sk_to_curve25519�_Curve25519_PrivateKey)r�skZraw_privaterrr�to_curve25519_private_key�sz$SigningKey.to_curve25519_private_keyN)rrrrrr?rr@r-r.rAr1rBrCr8r9rrIr	rLrMrOrrrrrD�s&����rD)�typingrZ
nacl.bindingsr)rrr&Znacl.publicrrMrr=Z
nacl.utilsrrrr	Z	Encodabler!rDrrrr�<module>s![

F1le Man4ger