File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/PublicKey/__pycache__/ElGamal.cpython-310.pyc
Back
o ;j�! � @ sX g d �Z ddlmZ ddlmZmZmZ ddlmZ dd� Z dd� Z G d d � d e�ZdS ))�generate� construct� ElGamalKey� )�Random)�generate_probable_safe_prime�test_probable_prime� COMPOSITE��Integerc C s� t � }t| |d�|_|jd d? } ttjd|j|d�d|j�|_|jdv r'q|jd |j dkr2q|j�|j�}|jd | dkrCq tjd|jd |d�|_t|j|j|j�|_ |S )a Randomly generate a fresh, new ElGamal key. The key will be safe for use for both encryption and signature (although it should be used for **only one** purpose). Args: bits (int): Key length, or size (in bits) of the modulus *p*. The recommended value is 2048. randfunc (callable): Random number generation function; it should accept a single integer *N* and return a string of random *N* random bytes. Return: an :class:`ElGamalKey` object )Z exact_bits�randfunc� � �Z min_inclusiveZ max_exclusiver )r r r ) r r �p�powr �random_range�g�inverse�x�y)�bitsr �obj�qZginv� r �P/opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/PublicKey/ElGamal.pyr "