File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/SelfTest/Cipher/__pycache__/test_ChaCha20.cpython-310.pyc
Back
o ;jtO � @ s d dl Z d dlZd dlZd dlmZmZ d dlmZmZm Z d dl mZ d dlm Z d dlmZ G dd� dej�ZG d d � d ej�ZG dd� dej�ZG d d� dej�ZG dd� dej�ZG dd� dej�Zi fdd�Zedkr�d dlZdd� Zejdd� dS dS )� N)�hexlify� unhexlify)�b�tobytes�bchr)�strxor_c)�list_test_cases)�ChaCha20c @ s\ e Zd Zdd� Zdd� Zdd� Zdd� Zd d � Zdd� Zd d� Z dd� Z dd� Zdd� ZdS )�ChaCha20Testc C sL t jtd�d dd�}| �|jd� t jtd�d dd�}| �|jd� d S )N�0� s 00000000��key�nonces 000000000000)r �newr �assertEqualr )�self�cipher� r �\/opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/SelfTest/Cipher/test_ChaCha20.py�test_new_positive- s zChaCha20Test.test_new_positivec C sf t j}| �t|� | jt|td�d� | jt|td�d td�d� | jt|td�td�d d� d S )Nr )r � )r r r )r r �assertRaises� TypeErrorr � ValueError)r r r r r �test_new_negative3 s "zChaCha20Test.test_new_negativec C sN t jtd�d d�}t jtd�d d�}| �t|j�d� | �|j|j� d S )N� r )r r )r r r r �lenr ZassertNotEqual)r �cipher1�cipher2r r r �test_default_nonce: s zChaCha20Test.test_default_noncec C sH d}d}t j||d�}| �||j� d}t j||d�}| �||j� d S )N� AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAs PPPPPPPPr s QQQQQQQQQQQQ�r r r r )r r Znonce1r Znonce2r r r r � test_nonce@ s zChaCha20Test.test_noncec C s� t jtd�d td�d d�}|�td�� | �t|jtd�� t jtd�d td�d d�}|�td�� | �t|jtd�� dS ) zFVerify that a cipher cannot be used for both decrypting and encrypting�5r �6r r �8�9N)r r r �encryptr r �decrypt)r �c1�c2r r r �test_eiter_encrypt_or_decryptK s z*ChaCha20Test.test_eiter_encrypt_or_decryptc C s� t d�d }tjt d�d t d�d d�}tjt d�d t d�d d�}|�|�}| �|�|�|� | �|�t d��t d�� | �|�t d��t d�� d S ) N�Ai r$ r r% r r � )r r r r( r r) )r �ptr* r+ �ctr r r �test_round_tripV s zChaCha20Test.test_round_tripc C s ddl m} d}t|�}td�}t|�|k r%||�|��� 7 }t|�|k stjtd�d td�d d �}|�|�}tjtd�d td�d d �}tjtd�d td�d d �}d} |D ]0} | � |� || | | � �|| | | � � | � |�|| | | � �|| | | � � | | 7 } q[d S )zCVerify that an arbitrary number of bytes can be encrypted/decryptedr )�SHA1)r � � � � � � r. �7r �tr r N)ZCryptodome.Hashr2 �sumr r r �digestr r( r r) )r r2 �segments�totalr/ r r0 r �cipher3�idxZsegmentr r r �test_streaming` s"