File: //opt/alt/python37/lib64/python3.7/site-packages/Crypto/PublicKey/__pycache__/_DSA.cpython-37.pyc
B
    ��c�
  �               @   sp   d Z ddlT ddlmZ ddlmZmZ ddlmZ ddl	T G dd� de
�Zdd	� Zddd�Z
G d
d� d�Zd
S )z$Id$�    )�*)�number)�
bytes_to_long�
long_to_bytes)�SHAc               @   s   e Zd ZdS )�errorN)�__name__�
__module__�__qualname__� r   r   �H/opt/alt/python37/lib64/python3.7/site-packages/Crypto/PublicKey/_DSA.pyr   $   s   r   c             C   s�   | d�}t �|��� }t �tt|�d ���� }td�}xVtdd�D ]H}t|| �t|| �A }|dkrp|dB }|dkr�|dB }|d | }qDW xt|�s�|d }q�W t	dd�|  k r�t	dd	�k r�n n||fS t
d
��d S )N�   �   r   �   �   �   �   �   �   zBad q value generated)r   �new�digestr   r   �bignum�rangeZbord�isPrime�pow�RuntimeError)�randfunc�SZhash1Zhash2�q�i�cr   r   r   �	generateQ'