File: //usr/local/CyberPanel/lib64/python3.10/site-packages/paramiko/__pycache__/primes.cpython-310.pyc
o
�h� � @ sJ d Z ddlZddlmZ ddlmZ ddlmZ dd� ZG dd � d �Z dS )
z,
Utility functions for dealing with primes.
� N)�util)� byte_mask)�SSHExceptionc C sv t �| d �}|d d }td|d �d } t�|�}|dkr-t|d |�|dd� }t �|d�}|| k r: |S q)z returns a random # from 0 to N-1� � � � Tr N)r �
bit_length�pow�os�urandomr �inflate_long)�n�bits�
byte_count�
hbyte_mask�x�num� r �E/usr/local/CyberPanel/lib/python3.10/site-packages/paramiko/primes.py�_roll_random s
�r c @ s0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
S )�ModulusPackzx
convenience object for holding the contents of the /etc/ssh/moduli file,
on systems that have such a file.
c C s i | _ g | _d S )N)�pack� discarded)�selfr r r �__init__: s
zModulusPack.__init__c
C s� |� � \}}}}}}}t|�}t|�}t|�}t|�}t|�}t|d�}|dk s8|dk s8|d@ rB|dk rB|dk rB| j�|df� d S |dkrHd}t�|�} | |krd| |d krd| j�|d �|�f� d S | | jvrng | j| <