HEX
Server: Apache
System: Linux pdx1-shared-a1-29 6.18.39-grsec-noble+ #4 SMP Thu Jul 23 07:53:29 UTC 2026 x86_64
User: dh_bj99yp (22285841)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/rsa/__pycache__/randnum.cpython-312.pyc
�

�Cb`�
��h�dZddlZddlZddlmZmZdedefd�Zdedefd�Z	dedefd�Z
d	edefd
�Zy)z(Functions for generating random numbers.�N)�common�	transform�nbits�returnc���t|d�\}}tj|�}|dkDr?ttjd��}|d|z
z}t	j
d|�|z}|S)z�Reads 'nbits' random bits.

    If nbits isn't a whole number of bytes, an extra byte will be appended with
    only the lower bits set.
    �r��B)�divmod�os�urandom�ord�struct�pack)r�nbytes�rbits�
randomdata�randomvalues     �-/usr/lib/python3/dist-packages/rsa/randnum.py�read_random_bitsrsh���5�!�$�M�F�E����F�#�J�
�q�y��"�*�*�Q�-�(����E�	�!���[�[��k�2�Z�?�
���c�\�t|�}tj|�}|d|dz
zz}|S)z3Reads a random integer of approximately nbits bits.r	)rr�	bytes2int)rr�values   r�read_random_intr.s8��"�%�(�J����
�+�E�
�Q�5�1�9�
��E��Lrc�"�t|�}|dzS)zhReads a random odd integer of approximately nbits bits.

    >>> read_random_odd_int(512) & 1
    1
    r	)r)rrs  r�read_random_odd_intr;s��
�E�"�E��1�9�r�maxvaluec��tj|�}d}	t|�}||kr	|S|dzdk(r|r|dz}|dz
}�()z�Returns a random integer x with 1 <= x <= maxvalue

    May take a very long time in specific situations. If maxvalue needs N bits
    to store, the closer maxvalue is to (2 ** N) - 1, the faster this function
    is.
    r�
r	)r�bit_sizer)rr!�triesrs    r�randintr#Hs^�����x�(�H�
�E�
���)���H����L��2�:��?�u�
��M�H�
��
��r)�__doc__rr�rsarr�int�bytesrrrr#�rr�<module>r)sa��/�
�
�!��C��E��*
�3�
�3�
�
�s�
�s�
��c��c�r