
    M j/                       S SK Jr  S SKrS SKJrJr  S SKJr  S SK	J
r
  S SKJr   " S S\R                  S	9r\" \S
5      (       a%  \R!                  \R"                  R                  5         " S S\R                  S	9r\" \S
5      (       a%  \R!                  \R"                  R$                  5         " S S\R                  S	9r\" \S
5      (       a%  \R!                  \R"                  R&                  5         " S S\R                  S	9r\" \S
5      (       a%  \R!                  \R"                  R(                  5         " S S\R                  S	9r\" \S
5      (       a%  \R!                  \R"                  R*                  5         " S S\R                  S	9r\" \S
5      (       a&  \R!                  \R"                  R,                  5        gg)    )annotationsN)UnsupportedAlgorithm_Reasons)openssl)_serialization)Bufferc                  8   \ rS rSr\SS j5       r\R                        SS j5       r\R                  SS j5       r	\R                   S       SS jj5       r
\R                  SS j5       r\R                  SS j5       r\R                  SS	 j5       rS
rg)MLDSA44PublicKey   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  U5      $ 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clsdatar   s      ڀ/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/cryptography/hazmat/primitives/asymmetric/mldsa.pyfrom_public_bytes"MLDSA44PublicKey.from_public_bytes   F    H&&((&=99 
 !!;;DAA    c                    gz)
The serialized bytes of the public key.
N selfencodingformats      r   public_bytesMLDSA44PublicKey.public_bytes       r   c                    g)zu
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_raw!MLDSA44PublicKey.public_bytes_raw&   r'   r   Nc                    gz
Verify the signature.
Nr    r"   	signaturer   contexts       r   verifyMLDSA44PublicKey.verify/   r'   r   c                    gz
Checks equality.
Nr    r"   others     r   __eq__MLDSA44PublicKey.__eq__:   r'   r   c                    gz
Returns a copy.
Nr    r)   s    r   __copy__MLDSA44PublicKey.__copy__@   r'   r   c                    gz
Returns a deep copy.
Nr    r"   memos     r   __deepcopy__MLDSA44PublicKey.__deepcopy__F   r'   r   r    )r   bytesreturnr
   r#   _serialization.Encodingr$   z_serialization.PublicFormatrD   rC   rD   rC   Nr/   r   r   r   r0   Buffer | NonerD   Noner6   objectrD   boolrD   r
   )r@   dictrD   r
   __name__
__module____qualname____firstlineno__classmethodr   abcabstractmethodr%   r*   r1   r7   r;   rA   __static_attributes__r    r   r   r
   r
          	B 	B 	) , 
	  	  	
 "&	  	
 
  	 
 	 
 	 r   r
   )	metaclassr   c                  @   \ rS rSr\SS j5       r\SS j5       r\R                  SS j5       r	\R                          SS j5       r
\R                  SS j5       r\R                  SSS jj5       r\R                  SS	 j5       r\R                  SS
 j5       rSrg)MLDSA44PrivateKeyQ   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  5       $ r   )	r   r   r   r   r   r   r   r   generate_mldsa44_keyr   r   s     r   generateMLDSA44PrivateKey.generateR   D    H&&((&=99 
 !!6688r   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  U5      $ r   )	r   r   r   r   r   r   r   r   from_mldsa44_seed_bytesr   s      r   from_seed_bytes!MLDSA44PrivateKey.from_seed_bytes^   F    H&&((&=99 
 !!99$??r   c                    g)z4
The MLDSA44PublicKey derived from the private key.
Nr    r)   s    r   
public_keyMLDSA44PrivateKey.public_keyj   r'   r   c                    g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$   encryption_algorithms       r   private_bytesMLDSA44PrivateKey.private_bytesp   r'   r   c                    g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_raw#MLDSA44PrivateKey.private_bytes_raw~   r'   r   Nc                    gz
Signs the data.
Nr    r"   r   r0   s      r   signMLDSA44PrivateKey.sign   r'   r   c                    gr:   r    r)   s    r   r;   MLDSA44PrivateKey.__copy__   r'   r   c                    gr>   r    r?   s     r   rA   MLDSA44PrivateKey.__deepcopy__   r'   r   r    )rD   r]   )r   r   rD   r]   rO   r#   rF   r$   z_serialization.PrivateFormatrp   z)_serialization.KeySerializationEncryptionrD   rC   rG   rH   r   r   r0   rJ   rD   rC   )r@   rP   rD   r]   rR   rS   rT   rU   rV   rb   rg   rW   rX   rk   rq   ru   rz   r;   rA   rY   r    r   r   r]   r]   Q       	9 	9 	@ 	@ 	 
 	) - H	
 
  	  	 
 	 
 	 r   r]   c                  8   \ rS rSr\SS j5       r\R                        SS j5       r\R                  SS j5       r	\R                   S       SS jj5       r
\R                  SS j5       r\R                  SS j5       r\R                  SS	 j5       rS
rg)MLDSA65PublicKey   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  U5      $ 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   "MLDSA65PublicKey.from_public_bytes   r   r   c                    gr   r    r!   s      r   r%   MLDSA65PublicKey.public_bytes   r'   r   c                    g)zu
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*   !MLDSA65PublicKey.public_bytes_raw   r'   r   Nc                    gr-   r    r.   s       r   r1   MLDSA65PublicKey.verify   r'   r   c                    gr4   r    r5   s     r   r7   MLDSA65PublicKey.__eq__   r'   r   c                    gr:   r    r)   s    r   r;   MLDSA65PublicKey.__copy__   r'   r   c                    gr>   r    r?   s     r   rA   MLDSA65PublicKey.__deepcopy__   r'   r   r    )r   rC   rD   r   rE   rG   rH   rI   rL   rD   r   )r@   rP   rD   r   rQ   r    r   r   r   r      rZ   r   r   c                  @   \ rS rSr\SS j5       r\SS j5       r\R                  SS j5       r	\R                          SS j5       r
\R                  SS j5       r\R                  SSS jj5       r\R                  SS	 j5       r\R                  SS
 j5       rSrg)MLDSA65PrivateKey   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  5       $ r   )	r   r   r   r   r   r   r   r   generate_mldsa65_keyra   s     r   rb   MLDSA65PrivateKey.generate   rd   r   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  U5      $ r   )	r   r   r   r   r   r   r   r   from_mldsa65_seed_bytesr   s      r   rg   !MLDSA65PrivateKey.from_seed_bytes   ri   r   c                    g)z4
The MLDSA65PublicKey derived from the private key.
Nr    r)   s    r   rk   MLDSA65PrivateKey.public_key   r'   r   c                    grn   r    ro   s       r   rq   MLDSA65PrivateKey.private_bytes   r'   r   c                    grt   r    r)   s    r   ru   #MLDSA65PrivateKey.private_bytes_raw  r'   r   Nc                    grx   r    ry   s      r   rz   MLDSA65PrivateKey.sign  r'   r   c                    gr:   r    r)   s    r   r;   MLDSA65PrivateKey.__copy__  r'   r   c                    gr>   r    r?   s     r   rA   MLDSA65PrivateKey.__deepcopy__"  r'   r   r    )rD   r   )r   r   rD   r   r   r   rG   rH   r   )r@   rP   rD   r   r   r    r   r   r   r      r   r   r   c                  8   \ rS rSr\SS j5       r\R                        SS j5       r\R                  SS j5       r	\R                   S       SS jj5       r
\R                  SS j5       r\R                  SS j5       r\R                  SS	 j5       rS
rg)MLDSA87PublicKeyi-  c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  U5      $ 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   "MLDSA87PublicKey.from_public_bytes.  r   r   c                    gr   r    r!   s      r   r%   MLDSA87PublicKey.public_bytes:  r'   r   c                    g)zu
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*   !MLDSA87PublicKey.public_bytes_rawD  r'   r   Nc                    gr-   r    r.   s       r   r1   MLDSA87PublicKey.verifyM  r'   r   c                    gr4   r    r5   s     r   r7   MLDSA87PublicKey.__eq__X  r'   r   c                    gr:   r    r)   s    r   r;   MLDSA87PublicKey.__copy__^  r'   r   c                    gr>   r    r?   s     r   rA   MLDSA87PublicKey.__deepcopy__d  r'   r   r    )r   rC   rD   r   rE   rG   rH   rI   rL   rD   r   )r@   rP   rD   r   rQ   r    r   r   r   r   -  rZ   r   r   c                  @   \ rS rSr\SS j5       r\SS j5       r\R                  SS j5       r	\R                          SS j5       r
\R                  SS j5       r\R                  SSS jj5       r\R                  SS	 j5       r\R                  SS
 j5       rSrg)MLDSA87PrivateKeyio  c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  5       $ r   )	r   r   r   r   r   r   r   r   generate_mldsa87_keyra   s     r   rb   MLDSA87PrivateKey.generatep  rd   r   c                    SSK Jn  UR                  5       (       d  [        S[        R
                  5      e[        R                  R                  U5      $ r   )	r   r   r   r   r   r   r   r   from_mldsa87_seed_bytesr   s      r   rg   !MLDSA87PrivateKey.from_seed_bytes|  ri   r   c                    g)z4
The MLDSA87PublicKey derived from the private key.
Nr    r)   s    r   rk   MLDSA87PrivateKey.public_key  r'   r   c                    grn   r    ro   s       r   rq   MLDSA87PrivateKey.private_bytes  r'   r   c                    grt   r    r)   s    r   ru   #MLDSA87PrivateKey.private_bytes_raw  r'   r   Nc                    grx   r    ry   s      r   rz   MLDSA87PrivateKey.sign  r'   r   c                    gr:   r    r)   s    r   r;   MLDSA87PrivateKey.__copy__  r'   r   c                    gr>   r    r?   s     r   rA   MLDSA87PrivateKey.__deepcopy__  r'   r   r    )rD   r   )r   r   rD   r   r   r   rG   rH   r   )r@   rP   rD   r   r   r    r   r   r   r   o  r   r   r   )
__future__r   rW   cryptography.exceptionsr   r   "cryptography.hazmat.bindings._rustr   r   cryptography.hazmat.primitivesr   cryptography.utilsr   ABCMetar
   hasattrregisterr   r]   r   r   r   r   r    r   r   <module>r      s  
 # 
 B F 9 %; ;| <!!l00AABF#++ FR <!!|11CCD; ;| <!!l00AABF#++ FR <!!|11CCD; ;| <!!l00AABF#++ FR <!!|11CCD "r   