%PDF- %PDF-
| Direktori : /opt/alt/python37/lib64/python3.7/site-packages/Crypto/Util/__pycache__/ |
| Current File : //opt/alt/python37/lib64/python3.7/site-packages/Crypto/Util/__pycache__/number.cpython-37.pyc |
B
��]�t � @ s2 d Z ddlmZmZ ddlmZ ddlZddlZddl T e
Zyddlm
Z
W n ek
rd dZ
Y nX e
dk r~e
js~ede� ddlT d d
� Zd+dd�Zd,d
d�Zd-dd�Zd.dd�Zdd� Zdd� Zd/dd�Zd0dd�Zd1dd�Zd2dd�ZddlZd3d d!�Zd"d#� ZddlZd4d$d%�Zd&d'� Z d(d)� Z!d*Z"dS )5z$Id$� )�"GetRandomNumber_DeprecationWarning�PowmInsecureWarning)�warnN)�*)� _fastmathzcNot using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.� c C s d}x| |? r|d7 }qW |S )zEsize(N:long) : int
Returns the size of the number N in bits.
r r � )�N�bitsr r �E/opt/alt/python37/lib64/python3.7/site-packages/Crypto/Util/number.py�sizeK s
r c C s t �dt� t| |�S )zBDeprecated. Use getRandomInteger or getRandomNBitInteger instead.z�Crypto.Util.number.getRandomNumber has confusing semanticsand has been deprecated. Use getRandomInteger or getRandomNBitInteger instead.)�warningsr r �getRandomNBitInteger)r �randfuncr r r �getRandomNumberT s r c C s` |dkrt � t�� j}|| d? �}| d }|dkrTt|d��d| ? }t|�| }t|�}|S )z�getRandomInteger(N:int, randfunc:callable):long
Return a random number with at most N bits.
If randfunc is omitted, then Random.new().read is used.
This function is for internal use only and may be renamed or removed in
the future.
N� � r r )�_import_Random�Random�new�read�ordZbchr�
bytes_to_long)r r �SZodd_bits�char�valuer r r �getRandomInteger[ s
r c C s>