§
    Æ‡tjë5  ã                  ó^  — d dl mZ d dlZd dlmZmZ d dlmZ d dl	m
Z
 d dlmZ  G d„ dej        ¬	¦  «        Z eed
¦  «        re                     ej        j        ¦  «          G d„ dej        ¬	¦  «        Z eed
¦  «        re                     ej        j        ¦  «          G d„ dej        ¬	¦  «        Z eed
¦  «        re                     ej        j        ¦  «          G d„ dej        ¬	¦  «        Z eed
¦  «        re                     ej        j        ¦  «          G d„ dej        ¬	¦  «        Z eed
¦  «        re                     ej        j        ¦  «          G d„ dej        ¬	¦  «        Z eed
¦  «        r-e                     ej        j        ¦  «         ej        j        ZdS dS )é    )ÚannotationsN)ÚUnsupportedAlgorithmÚ_Reasons)Úopenssl)Ú_serialization)ÚBufferc                  ó  — e Zd Zedd„¦   «         Zej        dd	„¦   «         Zej        dd
„¦   «         Zej        	 dd d„¦   «         Z	ej        d!d„¦   «         Z
ej        d"d„¦   «         Zej        d#d„¦   «         Zej        d$d„¦   «         ZdS )%ÚMLDSA44PublicKeyÚdataÚbytesÚreturnc                ó¨   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             |¦  «        S ©Nr   ©Úbackendz+ML-DSA-44 is not supported by this backend.)	Ú,cryptography.hazmat.backends.openssl.backendr   Úmldsa_supportedr   r   Ú UNSUPPORTED_PUBLIC_KEY_ALGORITHMÚrust_opensslÚmldsaÚfrom_mldsa44_public_bytes©Úclsr   r   s      úm/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/mldsa.pyÚfrom_public_bytesz"MLDSA44PublicKey.from_public_bytes   ó\   € àHÐHÐHÐHÐHÐHà×&Ò&Ñ(Ô(ð 	Ý&Ø=ÝÔ9ñô ð õ
 Ô!×;Ò;¸DÑAÔAÐAó    Úencodingú_serialization.EncodingÚformatú_serialization.PublicFormatc                ó   — dS ©z9
        The serialized bytes of the public key.
        N© ©Úselfr   r    s      r   Úpublic_byteszMLDSA44PublicKey.public_bytes   ó   € € € r   c                ó   — dS )z•
        The raw bytes of the public key.
        Equivalent to public_bytes(Raw, Raw).

        The public key is 1,312 bytes for MLDSA-44.
        Nr$   ©r&   s    r   Úpublic_bytes_rawz!MLDSA44PublicKey.public_bytes_raw&   r(   r   NÚ	signaturer   ÚcontextúBuffer | NoneÚNonec                ó   — dS ©z'
        Verify the signature.
        Nr$   ©r&   r,   r   r-   s       r   ÚverifyzMLDSA44PublicKey.verify/   r(   r   Úmuc                ó   — dS ©zt
        Verify the signature over a precomputed mu (message representative).

        mu must be 64 bytes.
        Nr$   ©r&   r,   r4   s      r   Ú	verify_muzMLDSA44PublicKey.verify_mu:   r(   r   ÚotherÚobjectÚboolc                ó   — dS ©z"
        Checks equality.
        Nr$   ©r&   r9   s     r   Ú__eq__zMLDSA44PublicKey.__eq__F   r(   r   c                ó   — dS ©z!
        Returns a copy.
        Nr$   r*   s    r   Ú__copy__zMLDSA44PublicKey.__copy__L   r(   r   ÚmemoÚdictc                ó   — dS ©z&
        Returns a deep copy.
        Nr$   ©r&   rC   s     r   Ú__deepcopy__zMLDSA44PublicKey.__deepcopy__R   r(   r   )r   r   r   r
   ©r   r   r    r!   r   r   ©r   r   ©N©r,   r   r   r   r-   r.   r   r/   ©r,   r   r4   r   r   r/   ©r9   r:   r   r;   ©r   r
   )rC   rD   r   r
   ©Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   ÚabcÚabstractmethodr'   r+   r3   r8   r?   rB   rH   r$   r   r   r
   r
      ó<  € € € € € Øð	Bð 	Bð 	Bñ „[ð	Bð 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð 	Ôð
 "&ð	ð ð ð ñ Ôðð 	Ôð	ð 	ð 	ñ Ôð	ð 	Ôðð ð ñ Ôðð
 	Ôðð ð ñ Ôðð
 	Ôðð ð ñ Ôðð ð r   r
   )Ú	metaclassr   c                  ó.  — e Zd Zedd„¦   «         Zedd„¦   «         Zej        dd„¦   «         Zej        dd„¦   «         Z	ej        dd„¦   «         Z
ej        d d!d„¦   «         Zej        d"d„¦   «         Zej        dd„¦   «         Zej        d#d„¦   «         ZdS )$ÚMLDSA44PrivateKeyr   c                ó¦   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             ¦   «         S r   )	r   r   r   r   r   r   r   r   Úgenerate_mldsa44_key©r   r   s     r   ÚgeneratezMLDSA44PrivateKey.generate^   óZ   € àHÐHÐHÐHÐHÐHà×&Ò&Ñ(Ô(ð 	Ý&Ø=ÝÔ9ñô ð õ
 Ô!×6Ò6Ñ8Ô8Ð8r   r   r   c                ó¨   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             |¦  «        S r   )	r   r   r   r   r   r   r   r   Úfrom_mldsa44_seed_bytesr   s      r   Úfrom_seed_bytesz!MLDSA44PrivateKey.from_seed_bytesj   ó\   € àHÐHÐHÐHÐHÐHà×&Ò&Ñ(Ô(ð 	Ý&Ø=ÝÔ9ñô ð õ
 Ô!×9Ò9¸$Ñ?Ô?Ð?r   r
   c                ó   — dS )zD
        The MLDSA44PublicKey derived from the private key.
        Nr$   r*   s    r   Ú
public_keyzMLDSA44PrivateKey.public_keyv   r(   r   r   r   r    ú_serialization.PrivateFormatÚencryption_algorithmú)_serialization.KeySerializationEncryptionr   c                ó   — dS ©z³
        The serialized bytes of the private key.

        This method only returns the serialization of the seed form of the
        private key, never the expanded one.
        Nr$   ©r&   r   r    rg   s       r   Úprivate_byteszMLDSA44PrivateKey.private_bytes|   r(   r   c                ó   — dS ©zÁ
        The raw bytes of the private key.
        Equivalent to private_bytes(Raw, Raw, NoEncryption()).

        This method only returns the seed form of the private key (32 bytes).
        Nr$   r*   s    r   Úprivate_bytes_rawz#MLDSA44PrivateKey.private_bytes_rawŠ   r(   r   Nr-   r.   c                ó   — dS ©z!
        Signs the data.
        Nr$   ©r&   r   r-   s      r   ÚsignzMLDSA44PrivateKey.sign“   r(   r   r4   c                ó   — dS ©z­
        Signs a precomputed mu (message representative).

        mu must be 64 bytes and already incorporates the context, so no
        context is accepted here.
        Nr$   ©r&   r4   s     r   Úsign_muzMLDSA44PrivateKey.sign_mu™   r(   r   c                ó   — dS rA   r$   r*   s    r   rB   zMLDSA44PrivateKey.__copy__¢   r(   r   rC   rD   c                ó   — dS rF   r$   rG   s     r   rH   zMLDSA44PrivateKey.__deepcopy__¨   r(   r   )r   rZ   )r   r   r   rZ   rO   ©r   r   r    rf   rg   rh   r   r   rJ   rK   ©r   r   r-   r.   r   r   ©r4   r   r   r   )rC   rD   r   rZ   ©rQ   rR   rS   rT   r^   rb   rU   rV   re   rl   ro   rs   rw   rB   rH   r$   r   r   rZ   rZ   ]   óW  € € € € € Øð	9ð 	9ð 	9ñ „[ð	9ð ð	@ð 	@ð 	@ñ „[ð	@ð 	Ôðð ð ñ Ôðð
 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð 	Ôðð ð ð ñ Ôðð
 	Ôðð ð ñ Ôðð 	Ôðð ð ñ Ôðð
 	Ôðð ð ñ Ôðð ð r   rZ   c                  ó  — e Zd Zedd„¦   «         Zej        dd	„¦   «         Zej        dd
„¦   «         Zej        	 dd d„¦   «         Z	ej        d!d„¦   «         Z
ej        d"d„¦   «         Zej        d#d„¦   «         Zej        d$d„¦   «         ZdS )%ÚMLDSA65PublicKeyr   r   r   c                ó¨   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             |¦  «        S ©Nr   r   z+ML-DSA-65 is not supported by this backend.)	r   r   r   r   r   r   r   r   Úfrom_mldsa65_public_bytesr   s      r   r   z"MLDSA65PublicKey.from_public_bytes´   r   r   r   r   r    r!   c                ó   — dS r#   r$   r%   s      r   r'   zMLDSA65PublicKey.public_bytesÀ   r(   r   c                ó   — dS )z•
        The raw bytes of the public key.
        Equivalent to public_bytes(Raw, Raw).

        The public key is 1,952 bytes for MLDSA-65.
        Nr$   r*   s    r   r+   z!MLDSA65PublicKey.public_bytes_rawÊ   r(   r   Nr,   r   r-   r.   r/   c                ó   — dS r1   r$   r2   s       r   r3   zMLDSA65PublicKey.verifyÓ   r(   r   r4   c                ó   — dS r6   r$   r7   s      r   r8   zMLDSA65PublicKey.verify_muÞ   r(   r   r9   r:   r;   c                ó   — dS r=   r$   r>   s     r   r?   zMLDSA65PublicKey.__eq__ê   r(   r   c                ó   — dS rA   r$   r*   s    r   rB   zMLDSA65PublicKey.__copy__ð   r(   r   rC   rD   c                ó   — dS rF   r$   rG   s     r   rH   zMLDSA65PublicKey.__deepcopy__ö   r(   r   )r   r   r   r€   rI   rJ   rK   rL   rM   rN   ©r   r€   )rC   rD   r   r€   rP   r$   r   r   r€   r€   ³   rW   r   r€   c                  ó.  — e Zd Zedd„¦   «         Zedd„¦   «         Zej        dd„¦   «         Zej        dd„¦   «         Z	ej        dd„¦   «         Z
ej        d d!d„¦   «         Zej        d"d„¦   «         Zej        dd„¦   «         Zej        d#d„¦   «         ZdS )$ÚMLDSA65PrivateKeyr   c                ó¦   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             ¦   «         S r‚   )	r   r   r   r   r   r   r   r   Úgenerate_mldsa65_keyr]   s     r   r^   zMLDSA65PrivateKey.generate  r_   r   r   r   c                ó¨   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             |¦  «        S r‚   )	r   r   r   r   r   r   r   r   Úfrom_mldsa65_seed_bytesr   s      r   rb   z!MLDSA65PrivateKey.from_seed_bytes  rc   r   r€   c                ó   — dS )zD
        The MLDSA65PublicKey derived from the private key.
        Nr$   r*   s    r   re   zMLDSA65PrivateKey.public_key  r(   r   r   r   r    rf   rg   rh   r   c                ó   — dS rj   r$   rk   s       r   rl   zMLDSA65PrivateKey.private_bytes   r(   r   c                ó   — dS rn   r$   r*   s    r   ro   z#MLDSA65PrivateKey.private_bytes_raw.  r(   r   Nr-   r.   c                ó   — dS rq   r$   rr   s      r   rs   zMLDSA65PrivateKey.sign7  r(   r   r4   c                ó   — dS ru   r$   rv   s     r   rw   zMLDSA65PrivateKey.sign_mu=  r(   r   c                ó   — dS rA   r$   r*   s    r   rB   zMLDSA65PrivateKey.__copy__F  r(   r   rC   rD   c                ó   — dS rF   r$   rG   s     r   rH   zMLDSA65PrivateKey.__deepcopy__L  r(   r   )r   r�   )r   r   r   r�   r‹   rz   rJ   rK   r{   r|   )rC   rD   r   r�   r}   r$   r   r   r�   r�     r~   r   r�   c                  ó  — e Zd Zedd„¦   «         Zej        dd	„¦   «         Zej        dd
„¦   «         Zej        	 dd d„¦   «         Z	ej        d!d„¦   «         Z
ej        d"d„¦   «         Zej        d#d„¦   «         Zej        d$d„¦   «         ZdS )%ÚMLDSA87PublicKeyr   r   r   c                ó¨   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             |¦  «        S ©Nr   r   z+ML-DSA-87 is not supported by this backend.)	r   r   r   r   r   r   r   r   Úfrom_mldsa87_public_bytesr   s      r   r   z"MLDSA87PublicKey.from_public_bytesX  r   r   r   r   r    r!   c                ó   — dS r#   r$   r%   s      r   r'   zMLDSA87PublicKey.public_bytesd  r(   r   c                ó   — dS )z•
        The raw bytes of the public key.
        Equivalent to public_bytes(Raw, Raw).

        The public key is 2,592 bytes for MLDSA-87.
        Nr$   r*   s    r   r+   z!MLDSA87PublicKey.public_bytes_rawn  r(   r   Nr,   r   r-   r.   r/   c                ó   — dS r1   r$   r2   s       r   r3   zMLDSA87PublicKey.verifyw  r(   r   r4   c                ó   — dS r6   r$   r7   s      r   r8   zMLDSA87PublicKey.verify_mu‚  r(   r   r9   r:   r;   c                ó   — dS r=   r$   r>   s     r   r?   zMLDSA87PublicKey.__eq__Ž  r(   r   c                ó   — dS rA   r$   r*   s    r   rB   zMLDSA87PublicKey.__copy__”  r(   r   rC   rD   c                ó   — dS rF   r$   rG   s     r   rH   zMLDSA87PublicKey.__deepcopy__š  r(   r   )r   r   r   rš   rI   rJ   rK   rL   rM   rN   ©r   rš   )rC   rD   r   rš   rP   r$   r   r   rš   rš   W  rW   r   rš   c                  ó.  — e Zd Zedd„¦   «         Zedd„¦   «         Zej        dd„¦   «         Zej        dd„¦   «         Z	ej        dd„¦   «         Z
ej        d d!d„¦   «         Zej        d"d„¦   «         Zej        dd„¦   «         Zej        d#d„¦   «         ZdS )$ÚMLDSA87PrivateKeyr   c                ó¦   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             ¦   «         S rœ   )	r   r   r   r   r   r   r   r   Úgenerate_mldsa87_keyr]   s     r   r^   zMLDSA87PrivateKey.generate¦  r_   r   r   r   c                ó¨   — ddl m} |                     ¦   «         st          dt          j        ¦  «        ‚t          j                             |¦  «        S rœ   )	r   r   r   r   r   r   r   r   Úfrom_mldsa87_seed_bytesr   s      r   rb   z!MLDSA87PrivateKey.from_seed_bytes²  rc   r   rš   c                ó   — dS )zD
        The MLDSA87PublicKey derived from the private key.
        Nr$   r*   s    r   re   zMLDSA87PrivateKey.public_key¾  r(   r   r   r   r    rf   rg   rh   r   c                ó   — dS rj   r$   rk   s       r   rl   zMLDSA87PrivateKey.private_bytesÄ  r(   r   c                ó   — dS rn   r$   r*   s    r   ro   z#MLDSA87PrivateKey.private_bytes_rawÒ  r(   r   Nr-   r.   c                ó   — dS rq   r$   rr   s      r   rs   zMLDSA87PrivateKey.signÛ  r(   r   r4   c                ó   — dS ru   r$   rv   s     r   rw   zMLDSA87PrivateKey.sign_muá  r(   r   c                ó   — dS rA   r$   r*   s    r   rB   zMLDSA87PrivateKey.__copy__ê  r(   r   rC   rD   c                ó   — dS rF   r$   rG   s     r   rH   zMLDSA87PrivateKey.__deepcopy__ð  r(   r   )r   r§   )r   r   r   r§   r¥   rz   rJ   rK   r{   r|   )rC   rD   r   r§   r}   r$   r   r   r§   r§   ¥  r~   r   r§   )Ú
__future__r   rU   Úcryptography.exceptionsr   r   Ú"cryptography.hazmat.bindings._rustr   r   Úcryptography.hazmat.primitivesr   Úcryptography.utilsr   ÚABCMetar
   ÚhasattrÚregisterr   rZ   r€   r�   rš   r§   ÚMLDSAMuHasherr$   r   r   ú<module>r¼      s  ðð
 #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
à BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ FÐ FÐ FÐ FÐ FÐ FØ 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø %Ð %Ð %Ð %Ð %Ð %ðGð Gð Gð Gð G ¤ð Gñ Gô Gð GðT €7ˆ<˜Ñ!Ô!ð CØ×Ò˜lÔ0ÔAÑBÔBÐBðOð Oð Oð Oð O #¤+ð Oñ Oô Oð Oðd €7ˆ<˜Ñ!Ô!ð EØ×Ò˜|Ô1ÔCÑDÔDÐDðGð Gð Gð Gð G ¤ð Gñ Gô Gð GðT €7ˆ<˜Ñ!Ô!ð CØ×Ò˜lÔ0ÔAÑBÔBÐBðOð Oð Oð Oð O #¤+ð Oñ Oô Oð Oðd €7ˆ<˜Ñ!Ô!ð EØ×Ò˜|Ô1ÔCÑDÔDÐDðGð Gð Gð Gð G ¤ð Gñ Gô Gð GðT €7ˆ<˜Ñ!Ô!ð CØ×Ò˜lÔ0ÔAÑBÔBÐBðOð Oð Oð Oð O #¤+ð Oñ Oô Oð Oðd €7ˆ<˜Ñ!Ô!ð 5Ø×Ò˜|Ô1ÔCÑDÔDÐDØ Ô&Ô4€M€M€Mð5ð 5r   