Я2][ g d Z ddlZddlZddlZddlmZmZmZmZm Z ddl
mZ ddlm
Z
mZ ddlmZ ddlmZmZmZmZmZ ddlmZ dd lmZmZmZ dd
lmZmZm Z G d de! Z"d
Z#ddZ$ddZ%d Z&d Z'd Z(d Z)d Z*ddZ+e+Z,dZ-dS ))generate constructDsaKey
import_key N)bchrbordtobytestostr
iter_range)Random)PKCS8PEM)SHA256) DerObjectDerSequence
DerIntegerDerObjectIdDerBitString)Integer)test_probable_prime COMPOSITEPROBABLY_PRIME)_expand_subject_public_key_info_create_subject_public_key_info _extract_subject_public_key_infoc e Zd ZdZg dZd Zd Zd Zd Zd Z d Z
d Zd
Zd Z
d Zd
Zd Zd Z ddZeZeZd Zd Zd Zd Zd Zd Zd ZdS )r a Class defining an actual DSA key.
Do not instantiate directly.
Use :func:`generate`, :func:`construct` or :func:`import_key` instead.
:ivar p: DSA modulus
:vartype p: integer
:ivar q: Order of the subgroup
:vartype q: integer
:ivar g: Generator
:vartype g: integer
:ivar y: Public key
:vartype y: integer
:ivar x: Private key
:vartype x: integer
:undocumented: exportKey, publickey
ygpqxc t | }t d }| | s"t dt ||z
z ||z
}|rB|t d k r/t dt |t d z
z t | | _ d S )Nr r r r! z$Some DSA components are missing = %sr" zUnknown DSA components = %s)setkeysissubset
ValueErrorstrdict_key)selfkey_dict input_set
public_set extra_sets v/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/PublicKey/DSA.py__init__zDsaKey.__init__g s
(( .//
""9-- :C i!7889 : :
:
* ;c&kk11: S[[!899: ; ;
;NN c st d d|cxk r j k sn t d fddD \ }}}}t j d| }||z | }||z } t ||| |z }
|||z | |
z z z |z }t t |
|f S )Nz)DSA public key cannot be used for signing zk is not between 2 and q-1c * g | ]}j | S r, .0compr- s r2