Functions | |
void | ecdsaKeyPair (int keypairCurve) |
產生ECDSA的key pair | |
int | ecdsaKeyVerify (int keypairCurve, char *qx, char *qy) |
驗證ECDSA的key pair | |
void | hash_message (char *message, unsigned long messageLen, int hashAlgorithm, unsigned char *out, unsigned long *outlen) |
void | ecdsaSignatureGenerate (int keypairCurve, int hashAlgorithm, char *d, char *message) |
產生ECDSA的簽章 | |
int | ecdsaSignatureVerify (int keypairCurve, int hashAlgorithm, char *qx, char *qy, char *r, char *s, char *message) |
驗證ECDSA的簽章 | |
Variables | |
const int | ECDSA_CURVE_P256 = 1 |
const int | ECDSA_CURVE_P384 = 2 |
const int | ECDSA_CURVE_P521 = 3 |
const int | ECDSA_HASH_SHA2_256 = 1 |
const int | ECDSA_HASH_SHA2_384 = 2 |
const int | ECDSA_HASH_SHA2_512 = 3 |
const int | ECDSA_HASH_SHA3_256 = 4 |
const int | ECDSA_HASH_SHA3_384 = 5 |
const int | ECDSA_HASH_SHA3_512 = 6 |
const int | ECDSA_HASH_SHAKE128 = 7 |
const int | ECDSA_HASH_SHAKE256 = 8 |
void ecdsaKeyPair | ( | int | keypairCurve | ) |
產生ECDSA的key pair
產生ECDSA的key pair,可以選擇不同的curve 使用範例:
keypairCurve | ECDSA_CURVE_P256, ECDSA_CURVE_P384, ECDSA_CURVE_P521 |
int ecdsaKeyVerify | ( | int | keypairCurve, |
char * | qx, | ||
char * | qy ) |
驗證ECDSA的key pair
驗證ECDSA的key pair,可以選擇不同的curve 使用範例:
keypairCurve | ECDSA_CURVE_P256, ECDSA_CURVE_P384, ECDSA_CURVE_P521 |
qx | 公鑰的x座標 |
qy | 公鑰的y座標 |
void ecdsaSignatureGenerate | ( | int | keypairCurve, |
int | hashAlgorithm, | ||
char * | d, | ||
char * | message ) |
產生ECDSA的簽章
產生ECDSA的簽章,可以選擇不同的curve及hash演算法
使用範例:
keypairCurve | ECDSA_CURVE_P256, ECDSA_CURVE_P384, ECDSA_CURVE_P521 |
hashAlgorithm | ECDSA_HASH_SHA2_256, ECDSA_HASH_SHA2_384, ECDSA_HASH_SHA2_512, ECDSA_HASH_SHA3_256, ECDSA_HASH_SHA3_384, ECDSA_HASH_SHA3_512, ECDSA_HASH_SHAKE128, ECDSA_HASH_SHAKE256 |
d | 私鑰 |
message | 訊息 |
int ecdsaSignatureVerify | ( | int | keypairCurve, |
int | hashAlgorithm, | ||
char * | qx, | ||
char * | qy, | ||
char * | r, | ||
char * | s, | ||
char * | message ) |
驗證ECDSA的簽章
驗證ECDSA的簽章,可以選擇不同的curve及hash演算法 使用範例:
keypairCurve | ECDSA_CURVE_P256, ECDSA_CURVE_P384, ECDSA_CURVE_P521 |
hashAlgorithm | ECDSA_HASH_SHA2_256, ECDSA_HASH_SHA2_384, ECDSA_HASH_SHA2_512, ECDSA_HASH_SHA3_256, ECDSA_HASH_SHA3_384, ECDSA_HASH_SHA3_512, ECDSA_HASH_SHAKE128, ECDSA_HASH_SHAKE256 |
qx | 公鑰的x座標 |
qy | 公鑰的y座標 |
r | 簽章的r值 |
s | 簽章的s值 |
message | 訊息 |
void hash_message | ( | char * | message, |
unsigned long | messageLen, | ||
int | hashAlgorithm, | ||
unsigned char * | out, | ||
unsigned long * | outlen ) |
const int ECDSA_CURVE_P256 = 1 |
const int ECDSA_CURVE_P384 = 2 |
const int ECDSA_CURVE_P521 = 3 |
const int ECDSA_HASH_SHA2_256 = 1 |
const int ECDSA_HASH_SHA2_384 = 2 |
const int ECDSA_HASH_SHA2_512 = 3 |
const int ECDSA_HASH_SHA3_256 = 4 |
const int ECDSA_HASH_SHA3_384 = 5 |
const int ECDSA_HASH_SHA3_512 = 6 |
const int ECDSA_HASH_SHAKE128 = 7 |
const int ECDSA_HASH_SHAKE256 = 8 |