| 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�� � � � d dl mZ d dlZd dlZd dlZd dlmZ d dlmZm Z m
Z
mZmZ d dl
mZmZ d dlmZ d dlmZmZmZmZ d dlmZmZmZ d d lmZmZmZmZm Z m!Z! d d
l"m#Z# d dl$m%Z% edd
� � Z& edd� � Z'i Z(g d�a)d� Z* e*� � [*g d�a+d� Z, e,� � [,g d�a-d� Z. e.� � [. G d� de/� � Z0 G d� de1� � Z2 e2e(d j3 e(d j4 d� � Z5e(d �6 e5�� � Z7e(�8 e9�: tR e7� � � � [5[7b) e2e(d j3 e(d j4 d� � Z;e(d �6 e;�� � Z<e(�8 e9�: tV e<� � � � [;[<b+ e2e(d j3 e(d j4 d� � Z=e(d �6 e=�� � Z>e(�8 e9�: tZ e>� � � � [=[>b- G d� de1� � Z?d � Z@d!� ZAd"� ZBd#� ZCd2d$�ZDd%� ZEd&� ZFd'� ZGd(� ZHd)� ZId2d*�ZJeKd+k r�d dlLZLd,ZMe(d jN �O � � ZPd-ZQ eLjL � � ZR eSeQ� � D ]ZTePeMz ZU� eVd. eLjL � � eRz
eQz d/z d0� � eLjL � � ZR eSeQ� � D ]ZTeUeMz ZU� eVd1 eLjL � � eRz
eQz d/z d0� � dS dS )3� )�print_functionN)�
namedtuple)�bord�tobytes�tostr�bchr� is_string)�
bytes_to_long�
long_to_bytes)�Integer)�DerObjectId�DerOctetString�DerSequence�DerBitString)�_expand_subject_public_key_info�_create_subject_public_key_info� _extract_subject_public_key_info)�load_pycryptodome_raw_lib�VoidPointer�SmartPointer�c_size_t�c_uint8_ptr�c_ulonglong)�get_random_bytes)�getrandbitszCryptodome.PublicKey._ec_wsav
typedef void EcContext;
typedef void EcPoint;
int ec_ws_new_context(EcContext **pec_ctx,
const uint8_t *modulus,
const uint8_t *b,
const uint8_t *order,
size_t len,
uint64_t seed);
void ec_free_context(EcContext *ec_ctx);
int ec_ws_new_point(EcPoint **pecp,
const uint8_t *x,
const uint8_t *y,
size_t len,
const EcContext *ec_ctx);
void ec_free_point(EcPoint *ecp);
int ec_ws_get_xy(uint8_t *x,
uint8_t *y,
size_t len,
const EcPoint *ecp);
int ec_ws_double(EcPoint *p);
int ec_ws_add(EcPoint *ecpa, EcPoint *ecpb);
int ec_ws_scalar(EcPoint *ecp,
const uint8_t *k,
size_t len,
uint64_t seed);
int ec_ws_clone(EcPoint **pecp2, const EcPoint *ecp);
int ec_ws_copy(EcPoint *ecp1, const EcPoint *ecp2);
int ec_ws_cmp(const EcPoint *ecp1, const EcPoint *ecp2);
int ec_ws_neg(EcPoint *p);
int ec_ws_normalize(EcPoint *ecp);
int ec_ws_is_pai(EcPoint *ecp);
�_Curvez7p b order Gx Gy G modulus_bits oid context desc openssh)�p256�
NIST P-256zP-256�
prime256v1� secp256r1�nistp256c
�R � d} d}d}d}d}t | d� � }t |d� � }t |d� � }t � � }t � |� � � t |� � t |� � t |� � t
t |� � � � t t d� � � � � � } | rt d| z � � �t |� � � t j
� � }
t t | � � t |� � t |� � t |� � t |� � d d d
|
dd� � }t � t$ � t( |� � � � d S )
Nl ������? @�� l K`�O�pq^cv
3,�e<
1�U�]>{|R�*��Zl Q%�x+�Oh�bi+}s����� @�� l �B11e %:f=K`�wr�H�7g�HK8�hkl �Q~o��]�l+f�Ug+<�)Z?�8�O�?q!�O� �@ z#Error %d initializing P-256 context� z1.2.840.10045.3.1.7r zecdsa-sha2-nistp256)r r �_ec_lib�ec_ws_new_context�
address_ofr r �lenr r �ImportErrorr �get�ec_free_contextr r �_curves�update�dict�fromkeys�
p256_names)�p�b�order�Gx�Gy�p256_modulus�p256_b�
p256_order�ec_p256_context�result�contextr s �:/usr/lib/python3/dist-packages/Cryptodome/PublicKey/ECC.py� init_p256r>