Sindbad~EG File Manager
�
�� h�; � �� � d dl mZ d dlmZ d dlmZ d dlmZ d dlm Z d dl
mZ ddgZ G d � de
� � Z G d
� de� � Z G d� d
e� � Z G d� de� � Zdd�ZdS )� )�DerSequence)�
long_to_bytes)�Integer)�HMAC)�EccKey)�DsaKey�DssSigScheme�newc �6 � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z dS ) r zkA (EC)DSA signature object.
Do not instantiate directly.
Use :func:`Crypto.Signature.DSS.new`.
c � � || _ || _ || _ | j � � � | _ | j dz
dz dz | _ dS )z�Create a new Digital Signature Standard (DSS) object.
Do not instantiate this object directly,
use `Crypto.Signature.DSS.new` instead.
� � N)�_key� _encoding�_order�size_in_bits�_order_bits�_order_bytes)�self�key�encoding�orders �v/builddir/build/BUILD/imunify360-venv-2.5.2/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/Signature/DSS.py�__init__zDssSigScheme.__init__3 sO � � �� �!�������;�3�3�5�5���!�-��1�a�7�!�;����� c �4 � | j � � � S )zRReturn ``True`` if this signature object can be used
for signing messages.)r �has_private)r s r �can_signzDssSigScheme.can_signA s � � �y�$�$�&�&�&r c � � t d� � ��NzTo be provided by subclasses��NotImplementedError�r �msg_hashs r �_compute_noncezDssSigScheme._compute_nonceG � � �!�"@�A�A�Ar c � � t d� � �r r! r# s r �_valid_hashzDssSigScheme._valid_hashJ r&