| Server IP : 217.160.0.135 / Your IP : 216.73.217.85 Web Server : Apache System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64 User : sws1074145052 ( 1074145052) PHP Version : 8.3.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/lib/python3/dist-packages/Cryptodome/PublicKey/__pycache__/ |
Upload File : |
�
8�tc�! � �b � g d �Z ddlmZ ddlmZmZmZ ddlmZ d� Z d� Z
G d� de� � Zd S )
)�generate� construct�
ElGamalKey� )�Random)�generate_probable_safe_prime�test_probable_prime� COMPOSITE��Integerc � � t � � }t | |�� � |_ |j dz
dz } t t j d|j |�� � d|j � � |_ |j dv r�@|j dz
|j z dk r�W|j � |j � � }|j dz
|z dk r�� t j d|j dz
|�� � |_ 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
)�
exact_bits�randfunc� � ��
min_inclusive�
max_exclusiver )r r r )
r r �p�powr �random_range�g�inverse�x�y)�bitsr �obj�q�ginvs �>/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ElGamal.pyr r "