
    )Jf                     f   d dl mZ d dlmZ d dlmZmZ d(d	Z G d
 de          Z G d de          Z	 G d de          Z
 G d de          Z G d de          Z G d de          ZeZ ej        eedej        d            G d de          ZeZ ej        eedej        d            G d de          Z G d de          ZeZ ej        eedej        d            G d  d!e          ZeZ ej        eed"ej        d!            G d# d$e          Z G d% d&e          Zd'S ))    )annotations)utils)BlockCipherAlgorithmCipherAlgorithm	algorithmr   keybytesreturnc                    t          j        d|           t          |          dz  | j        vr+t	          dt          |          dz   d| j         d          |S )Nr      zInvalid key size (z) for .)r   _check_byteslikelen	key_sizes
ValueErrorname)r   r   s     t/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py_verify_key_sizer      sj    	5#&&& 3xx!|9...FSAFFY^FFF
 
 	
 J    c                  P    e Zd Zd ZdZ eg d          Zd
dZedd            Z	d	S )AES   )r         i   r   r	   c                0    t          | |          | _        d S Nr   r   selfr   s     r   __init__zAES.__init__        #D#..r   r
   intc                0    t          | j                  dz  S Nr   r   r   r   s    r   key_sizezAES.key_size#       48}}q  r   Nr   r	   r
   r"   
__name__
__module____qualname__r   
block_size	frozensetr   r    propertyr'    r   r   r   r      sh        DJ	...//I/ / / / ! ! ! X! ! !r   r   c                  :    e Zd ZdZdZ edg          ZdZddZdS )AES128r   r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zAES128.__init__.   r!   r   Nr)   	r,   r-   r.   r   r/   r0   r   r'   r    r2   r   r   r4   r4   (   H        DJ	3%  IH/ / / / / /r   r4   c                  :    e Zd ZdZdZ edg          ZdZddZdS )	AES256r   r   r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zAES256.__init__8   r!   r   Nr)   r6   r2   r   r   r9   r9   2   r7   r   r9   c                  P    e Zd ZdZdZ eg d          ZddZedd	            Z	d
S )Camelliacamelliar   )r   r   r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zCamellia.__init__A   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zCamellia.key_sizeD   r(   r   Nr)   r*   r+   r2   r   r   r<   r<   <   se        DJ	///**I/ / / / ! ! ! X! ! !r   r<   c                  P    e Zd ZdZdZ eg d          ZddZedd	            Z	d
S )	TripleDES3DES@   )rC   r   r   r   r	   c                    t          |          dk    r	|||z   z  }n t          |          dk    r||d d         z  }t          | |          | _        d S )Nr      )r   r   r   r   s     r   r    zTripleDES.__init__N   sV    s88q==39CCXX^^3rr7NC#D#..r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zTripleDES.key_sizeU   r(   r   Nr)   r*   r+   r2   r   r   rA   rA   I   se        DJ	...))I/ / / / ! ! ! X! ! !r   rA   c                  b    e Zd Zd ZdZ e eddd                    ZddZe	dd
            Z
dS )BlowfishrC       i  r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zBlowfish.__init___   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zBlowfish.key_sizeb   r(   r   Nr)   r*   r,   r-   r.   r   r/   r0   ranger   r    r1   r'   r2   r   r   rH   rH   Z   so        DJ	%%C++,,I/ / / / ! ! ! X! ! !r   rH   zDBlowfish has been deprecated and will be removed in a future release)r   c                  b    e Zd Zd ZdZ e eddd                    ZddZe	dd
            Z
dS )CAST5rC   (      r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zCAST5.__init__v   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zCAST5.key_sizey   r(   r   Nr)   r*   rL   r2   r   r   rO   rO   q   so        DJ	%%C++,,I/ / / / ! ! ! X! ! !r   rO   zACAST5 has been deprecated and will be removed in a future releasec                  L    e Zd ZdZ eg d          Zd
dZedd            Zd	S )ARC4RC4)rP   8   rC   P   r      r   r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zARC4.__init__   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zARC4.key_size   r(   r   Nr)   r*   )	r,   r-   r.   r   r0   r   r    r1   r'   r2   r   r   rU   rU      sc        D	>>>??I/ / / / ! ! ! X! ! !r   rU   c                  N    e Zd Zd ZdZ edg          Zd
dZedd            Z	d	S )IDEArC   r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zIDEA.__init__   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zIDEA.key_size   r(   r   Nr)   r*   r+   r2   r   r   r]   r]      sc        DJ	3%  I/ / / / ! ! ! X! ! !r   r]   z@IDEA has been deprecated and will be removed in a future releasec                  N    e Zd Zd ZdZ edg          Zd	dZed
d            Z	dS )SEEDr   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zSEED.__init__   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zSEED.key_size   r(   r   Nr)   r*   r+   r2   r   r   ra   ra      sc        DJ	3%  I/ / / / ! ! ! X! ! !r   ra   z@SEED has been deprecated and will be removed in a future releasec                  b    e Zd Zd Z edg          ZddZedd            Zedd	            Z	d
S )ChaCha20r   r   r	   noncec                    t          | |          | _        t          j        d|           t	          |          dk    rt          d          || _        d S )Nrf   rE   z!nonce must be 128-bits (16 bytes))r   r   r   r   r   r   _nonce)r   r   rf   s      r   r    zChaCha20.__init__   sQ    #D#..w...u::@AAAr   r
   c                    | j         S r   )rh   r&   s    r   rf   zChaCha20.nonce   s
    {r   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zChaCha20.key_size   r(   r   N)r   r	   rf   r	   )r
   r	   r*   )
r,   r-   r.   r   r0   r   r    r1   rf   r'   r2   r   r   re   re      s~        D	3%  I       X ! ! ! X! ! !r   re   c                  N    e Zd Zd ZdZ edg          Zd	dZed
d            Z	dS )SM4r   r   r	   c                0    t          | |          | _        d S r   r   r   s     r   r    zSM4.__init__   r!   r   r
   r"   c                0    t          | j                  dz  S r$   r%   r&   s    r   r'   zSM4.key_size   r(   r   Nr)   r*   r+   r2   r   r   rl   rl      sc        DJ	3%  I/ / / / ! ! ! X! ! !r   rl   N)r   r   r   r	   r
   r	   )
__future__r   cryptographyr   &cryptography.hazmat.primitives.ciphersr   r   r   r   r4   r9   r<   rA   rH   _BlowfishInternal
deprecatedr,   DeprecatedIn37rO   _CAST5InternalrU   r]   _IDEAInternalra   _SEEDInternalre   rl   r2   r   r   <module>rx      sH  
 # " " " " "             	 	 	 	! ! ! ! !
 ! ! !/ / / / /! / / // / / / /! / / /
! 
! 
! 
! 
!# 
! 
! 
!! ! ! ! !$ ! ! !"
! 
! 
! 
! 
!# 
! 
! 
!    J		   
! 
! 
! 
! 
!  
! 
! 
!   	G		   	! 	! 	! 	! 	!? 	! 	! 	!
! 
! 
! 
! 
! 
! 
! 
!   F		   
! 
! 
! 
! 
! 
! 
! 
!   F		   ! ! ! ! ! ! ! !,
! 
! 
! 
! 
!
 
! 
! 
! 
! 
!r   