File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/PublicKey/__pycache__/ECC.cpython-310.pyc
Back
o ;j_� � @ s� d dl mZ d dlZd dlZd dlZd dlmZmZmZm Z m Z d dlmZ d dl mZmZmZmZ d dlmZmZmZ d dlmZmZ d dlmZ d d lmZmZmZ d dlmZ G dd � d e!�Z"G dd� de#�Z$dd� Z%dd� Z&d6dd�Z'dd� Z(d7dd�Z)dd� Z*dd� Z+dd� Z,d d!� Z-d"d#� Z.d$d%� Z/d&d'� Z0d(d)� Z1d*d+� Z2d6d,d-�Z3e4d.kr�d dl5Z5d/Z6ed0 j7�8� Z9d1Z:e5�5� Z;e<e:�D ]Z=e9e6 Z>q�e?d2e5�5� e; e: d3 d4� e5�5� Z;e<e:�D ]Z=e>e6 Z>q�e?d5e5�5� e; e: d3 d4� dS dS )8� )�print_functionN)�bord�tobytes�tostr�bchr� is_string)�Integer)�DerObjectId�DerOctetString�DerSequence�DerBitString)�_expand_subject_public_key_info�_create_subject_public_key_info� _extract_subject_public_key_info)�SHA512�SHAKE256)�get_random_bytes� )�EccPoint� EccXPoint�_curves)�CurveIDc @ s e Zd ZdS )�UnsupportedEccFeatureN)�__name__� __module__�__qualname__� r r �L/opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/PublicKey/ECC.pyr 7 s r c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z e dd� �Ze dd� �Ze dd� �Z dd� Zdd� Zdd� Zdd� Zdd� Zd0dd �Zd!d"� Zd#d$� Zd%d&� Zd'd(� Zd)d*� Zd+d,� Zd-d.� Zd/S )1�EccKeya� Class defining an ECC key. Do not instantiate directly. Use :func:`generate`, :func:`construct` or :func:`import_key` instead. :ivar curve: The **canonical** name of the curve as defined in the `ECC table`_. :vartype curve: string :ivar pointQ: an ECC point representing the public component. :vartype pointQ: :class:`EccPoint` or :class:`EccXPoint` :ivar d: A scalar that represents the private component in NIST P curves. It is smaller than the order of the generator point. :vartype d: integer :ivar seed: A seed that represents the private component in Ed22519 (32 bytes), Curve25519 (32 bytes), Curve448 (56 bytes), Ed448 (57 bytes). :vartype seed: bytes c K sd t |�}|�dd�}|�dd�| _|�dd�| _|�dd�| _|du r*| jr*| jj}|r4tdt|� ��|tvr>t d| ��t| | _ | j j| _t| jdu�t| jdu� }|dkre| jdu rct d ��dS |d krmt d��| j j tjkr�| jdur}t d��t| j�d kr�t d��t�| j��� }|d d� | _t|dd � �}|d dM <