관리-도구
편집 파일: test_dss.cpython-311.pyc
� O�Dg� � �Z � d dl Z d dlZd dlmZmZ d dlmZmZmZ d dl m Z mZmZm Z mZmZmZmZmZ d dlmZ d dlmZmZ d dlmZ d dlmZmZ d d lmZmZ d � Z d� Z!d� Z" G d � d� � Z# G d� dej$ � � Z% G d� dej$ � � Z& eddddd� i� � pg Z' e(e'� � D �]$\ Z)Z* e+e*e,� � rJ e j- de*� � Z.e.sJ �e.�/ d� � �0 dd� � Z1 e"e1� � Z2�\ e3e*d� � re*j4 Z5e*j6 Z7e*j8 Z9�~e2�: e*j; � � Z<d� e*j= e7e5e9fD � � Z> ej? e>d� � Z@ ej: e@d� � ZAeAe<e*jB e*jC z fd �ZDeAe<e*jB e*jC z fd!�ZEe*jF dk r eGe&d"e)z eD� � �� eGe&d#e)z eE� � ��& edd$d%i � � pg ZH e(eH� � D �] \ Z)Z* e+e*e,� � rJ e j- de*� � Z.e.sJ �e.�/ d� � �0 dd� � Z1 e"e1� � Z2�\ e3e*d� � re*j4 Z5e*j6 Z7e*j8 Z9�~e2�: e*j; � � Z<d&� e*j= e7e5e9e*jI fD � � ZJ ej? eJd� � Z@ ej: e@d e#e*jK � � �'� � ZLeLe<e*jB e*jC z fd(�ZM eGe&d)e)z eM� � �� G d*� d+ej$ � � ZN G d,� d-ej$ � � ZO ed.d/d0d1� d2� d3� d4�� � pg Z'e' ed.d5d0d6� d7� d8� d4�� � pg z Z' e(e'� � D �]W\ Z)Z* e+e*e,� � rz e j- d9e*� � Z.e.sJ �e.�/ d:� � ZPe.�/ d;� � �0 dd� � Z1e1d<v re1d=d� ZQe1dd=� Z1ndZQ e"e1� � Z2��eQ�e2�: e*j; � � Z<ne2�: e*j; eQ�>� � Z< ej? ePe*jR e*jS �?� � ZT ej: eTd� � ZAeAe<e*jB e*jC z fd@�ZDeAe<e*jB e*jC z fdA�ZEe*jF �U d� � r eGeOd"e)z eD� � ��G eGeOd#e)z eE� � ��Y ed.dBd0dCdD� i� � pg ZH e(eH� � D ]�\ Z)Z* e+e*e,� � r_ e j- d9e*� � Z.e.sJ �e.�/ d:� � ZPe.�/ d;� � �0 dd� � Z1 e"e1� � Z2�pe2�: e*j; � � Z< ej? ePe*jV �E� � ZT ej: eTd e#e*jK � � �'� � ZLeLe<e*jB e*jC z fdF�ZW eGeOd)e)z eW� � �� G dG� dHej$ � � ZX G dI� dJej$ � � ZYdK� ZZ G dL� dMej$ � � Z[ G dN� dOej$ � � Z\i fdP�Z]e^dQk rdR� Z_ ej` dS�T� � dS dS )U� N)�hexlify� unhexlify)�tobytes�bord�bchr) �SHA1�SHA224�SHA256�SHA384�SHA512�SHA3_224�SHA3_256�SHA3_384�SHA3_512)�DSS)�DSA�ECC)�list_test_cases)�load_test_vectors�load_test_vectors_wycheproof)� bytes_to_long� long_to_bytesc � � | � dd� � � dd� � }t t |� � � � S )N� � � )�replacer r �� hexstring�wss ��/builddir/build/BUILD/imunify360-venv-2.4.0/opt/imunify360/venv/lib64/python3.11/site-packages/Crypto/SelfTest/Signature/test_dss.py�t2br"