#ifndef POPERATION_H
#define POPERATION_H
// 定义点的结构
typedef struct {
long long x;
long long y;
} Point;
// 定义椭圆曲线的结构
typedef struct {
long long a, b; // 曲线参数 y^2 = x^3 + ax + b
long long p; // 有限域的素数
} EllipticCurve;
// 模逆运算的函数声明
long long mod_inverse(long long a, long long m);
// 点加运算的函数声明
Point point_add(Point P, Point Q, EllipticCurve ec);
// 点乘运算的函数声明
Point point_multiply(long long scalar, Point P, EllipticCurve ec);
#endif // POPERATION_H
ECDSA.h
#ifndef ECDSA_H
#define ECDSA_H
#include "POperation.h" // 包含 EllipticCurve 和 Point 结构的定义
// ECDSA签名函数声明
void ecdsa_sign(char* message, long long d, EllipticCurve ec, Point G, long long n, long long* r, long long* s);
// ECDSA验证函数声明
int ecdsa_verify(char* message, Point Q, EllipticCurve ec, Point G, long long n, long long r, long long s);
// 简单哈希函数声明
long long simple_hash(char* message);
#endif // ECDSA_H