o
     `                     @   sx  d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 dd ZeeeeG dd deZeeeeG d	d
 d
eZeeeeG dd deZeeeeG dd deZeeeeG dd deZeeG dd deZeeG dd deZeeeeG dd deZeeee
G dd deZdS )    )absolute_importdivisionprint_function)utils)BlockCipherAlgorithmCipherAlgorithm)ModeWithNoncec                 C   s<   t d| t|d | jvrtdt|d | j|S )Nkey   zInvalid key size ({}) for {}.)r   _check_byteslikelen	key_sizes
ValueErrorformatname)	algorithmr	    r   home/ych/rk3568/buildroot/output/rockchip_rk3568/host/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/algorithms.py_verify_key_size   s   r   c                   @   s4   e Zd Zd ZdZeg dZdd Zedd Z	dS )AES   )r         i   c                 C      t | || _d S Nr   r	   selfr	   r   r   r   __init__%      zAES.__init__c                 C      t | jd S Nr
   r   r	   r   r   r   r   key_size(      zAES.key_sizeN
__name__
__module____qualname__r   
block_size	frozensetr   r   propertyr$   r   r   r   r   r      s    r   c                   @   4   e Zd ZdZdZeg dZdd Zedd Z	dS )	CamelliaZcamelliar   )r   r   r   c                 C   r   r   r   r   r   r   r   r   4   r   zCamellia.__init__c                 C   r    r!   r"   r#   r   r   r   r$   7   r%   zCamellia.key_sizeNr&   r   r   r   r   r.   -   s    r.   c                   @   r-   )		TripleDESZ3DES@   )r0   r   r   c                 C   sF   t |dkr||| 7 }nt |dkr||d d 7 }t| || _d S )Nr
      )r   r   r	   r   r   r   r   r   C   s
   zTripleDES.__init__c                 C   r    r!   r"   r#   r   r   r   r$   J   r%   zTripleDES.key_sizeNr&   r   r   r   r   r/   <   s    r/   c                   @   8   e Zd Zd ZdZeedddZdd Ze	dd Z
d	S )
Blowfishr0       i  r
   c                 C   r   r   r   r   r   r   r   r   V   r   zBlowfish.__init__c                 C   r    r!   r"   r#   r   r   r   r$   Y   r%   zBlowfish.key_sizeNr'   r(   r)   r   r*   r+   ranger   r   r,   r$   r   r   r   r   r3   O       r3   c                   @   r2   )
CAST5r0   (      r
   c                 C   r   r   r   r   r   r   r   r   e   r   zCAST5.__init__c                 C   r    r!   r"   r#   r   r   r   r$   h   r%   zCAST5.key_sizeNr5   r   r   r   r   r8   ^   r7   r8   c                   @   s0   e Zd ZdZeg dZdd Zedd ZdS )ARC4ZRC4)r9   8   r0   P   r      r   r   c                 C   r   r   r   r   r   r   r   r   r   r   zARC4.__init__c                 C   r    r!   r"   r#   r   r   r   r$   u   r%   zARC4.key_sizeN)	r'   r(   r)   r   r+   r   r   r,   r$   r   r   r   r   r;   m   s    r;   c                   @   s2   e Zd Zd ZdZedgZdd Zedd Z	dS )IDEAr0   r   c                 C   r   r   r   r   r   r   r   r      r   zIDEA.__init__c                 C   r    r!   r"   r#   r   r   r   r$      r%   zIDEA.key_sizeNr&   r   r   r   r   r?   z   s    
r?   c                   @   s2   e Zd Zd ZdZedgZdd Zedd Z	dS )SEEDr   c                 C   r   r   r   r   r   r   r   r      r   zSEED.__init__c                 C   r    r!   r"   r#   r   r   r   r$      r%   zSEED.key_sizeNr&   r   r   r   r   r@      s    
r@   c                   @   s8   e Zd Zd ZedgZdd ZedZ	e
dd ZdS )ChaCha20r   c                 C   s6   t | || _td| t|dkrtd|| _d S )Nnoncer1   z!nonce must be 128-bits (16 bytes))r   r	   r   r   r   r   _nonce)r   r	   rB   r   r   r   r      s
   
zChaCha20.__init__rC   c                 C   r    r!   r"   r#   r   r   r   r$      r%   zChaCha20.key_sizeN)r'   r(   r)   r   r+   r   r   r   Zread_only_propertyrB   r,   r$   r   r   r   r   rA      s    

	rA   N)
__future__r   r   r   cryptographyr   Z&cryptography.hazmat.primitives.ciphersr   r   Z,cryptography.hazmat.primitives.ciphers.modesr   r   Zregister_interfaceobjectr   r.   r/   r3   r8   r;   r?   r@   rA   r   r   r   r   <module>   s<   