mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-30 14:42:36 +08:00
Fix tests on DLL
This commit is contained in:
@@ -38,13 +38,29 @@ static int sm9_bn_equ_hex(const sm9_bn_t a, const char *hex)
|
||||
#define hex_fp_inv "7d404b0027a93e3fa8f8bc7ee367a96814c42a3b69feb1845093406948a34753"
|
||||
|
||||
int test_sm9_fp() {
|
||||
const SM9_TWIST_POINT _P2 = {
|
||||
{{0xAF82D65B, 0xF9B7213B, 0xD19C17AB, 0xEE265948, 0xD34EC120, 0xD2AAB97F, 0x92130B08, 0x37227552},
|
||||
{0xD8806141, 0x54806C11, 0x0F5E93C4, 0xF1DD2C19, 0xB441A01F, 0x597B6027, 0x78640C98, 0x85AEF3D0}},
|
||||
{{0xC999A7C7, 0x6215BBA5, 0xA71A0811, 0x47EFBA98, 0x3D278FF2, 0x5F317015, 0x19BE3DA6, 0xA7CF28D5},
|
||||
{0x84EBEB96, 0x856DC76B, 0xA347C8BD, 0x0736A96F, 0x2CBEE6ED, 0x66BA0D26, 0x2E845C12, 0x17509B09}},
|
||||
{{1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}},
|
||||
};
|
||||
const SM9_TWIST_POINT *P2 = &_P2;
|
||||
const SM9_TWIST_POINT _Ppubs = {
|
||||
{{0x96EA5E32, 0x8F14D656, 0x386A92DD, 0x414D2177, 0x24A3B573, 0x6CE843ED, 0x152D1F78, 0x29DBA116},
|
||||
{0x1B94C408, 0x0AB1B679, 0x5E392CFB, 0x1CE0711C, 0x41B56501, 0xE48AFF4B, 0x3084F733, 0x9F64080B}},
|
||||
{{0xB4E3216D, 0x0E75C05F, 0x5CDFF073, 0x1006E85F, 0xB7A46F74, 0x1A7CE027, 0xDDA532DA, 0x41E00A53},
|
||||
{0xD0EF1C25, 0xE89E1408, 0x1A77F335, 0xAD3E2FDB, 0x47E3A0CB, 0xB57329F4, 0xABEA0112, 0x69850938}},
|
||||
{{1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}},
|
||||
};
|
||||
const SM9_TWIST_POINT *Ppubs = &_Ppubs;
|
||||
sm9_fp_t x;
|
||||
sm9_fp_t y;
|
||||
sm9_fp_t r;
|
||||
int j = 1;
|
||||
|
||||
sm9_bn_copy(x, SM9_P2->X[1]);
|
||||
sm9_bn_copy(y, SM9_Ppubs->Y[0]);
|
||||
sm9_bn_copy(x, P2->X[1]);
|
||||
sm9_bn_copy(y, Ppubs->Y[0]);
|
||||
|
||||
sm9_fp_t iv = {0x87654321, 0x0fedcba9, 0x9abcdef0, 0x12345678, 0x87654321, 0x0fedcba9, 0x9abcdef0, 0x12345678};
|
||||
sm9_bn_from_hex(r, hex_iv); if (sm9_bn_cmp(r, iv) != 0) goto err; ++j;
|
||||
@@ -119,6 +135,22 @@ err:
|
||||
#define hex_fp2_div2 "0ba84d8497422e09335d0693165f7376839b54b7d1a3e45ec2b6e3b5c275f5cb-af07946a8e30f24c1a9a8db2995b2b9bb4f126f1e0ca7b76a3c2ab66d67576a2"
|
||||
|
||||
int test_sm9_fp2() {
|
||||
const SM9_TWIST_POINT _P2 = {
|
||||
{{0xAF82D65B, 0xF9B7213B, 0xD19C17AB, 0xEE265948, 0xD34EC120, 0xD2AAB97F, 0x92130B08, 0x37227552},
|
||||
{0xD8806141, 0x54806C11, 0x0F5E93C4, 0xF1DD2C19, 0xB441A01F, 0x597B6027, 0x78640C98, 0x85AEF3D0}},
|
||||
{{0xC999A7C7, 0x6215BBA5, 0xA71A0811, 0x47EFBA98, 0x3D278FF2, 0x5F317015, 0x19BE3DA6, 0xA7CF28D5},
|
||||
{0x84EBEB96, 0x856DC76B, 0xA347C8BD, 0x0736A96F, 0x2CBEE6ED, 0x66BA0D26, 0x2E845C12, 0x17509B09}},
|
||||
{{1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}},
|
||||
};
|
||||
const SM9_TWIST_POINT *P2 = &_P2;
|
||||
const SM9_TWIST_POINT _Ppubs = {
|
||||
{{0x96EA5E32, 0x8F14D656, 0x386A92DD, 0x414D2177, 0x24A3B573, 0x6CE843ED, 0x152D1F78, 0x29DBA116},
|
||||
{0x1B94C408, 0x0AB1B679, 0x5E392CFB, 0x1CE0711C, 0x41B56501, 0xE48AFF4B, 0x3084F733, 0x9F64080B}},
|
||||
{{0xB4E3216D, 0x0E75C05F, 0x5CDFF073, 0x1006E85F, 0xB7A46F74, 0x1A7CE027, 0xDDA532DA, 0x41E00A53},
|
||||
{0xD0EF1C25, 0xE89E1408, 0x1A77F335, 0xAD3E2FDB, 0x47E3A0CB, 0xB57329F4, 0xABEA0112, 0x69850938}},
|
||||
{{1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}},
|
||||
};
|
||||
const SM9_TWIST_POINT *Ppubs = &_Ppubs;
|
||||
sm9_fp2_t x;
|
||||
sm9_fp2_t y;
|
||||
sm9_fp2_t r;
|
||||
@@ -126,8 +158,8 @@ int test_sm9_fp2() {
|
||||
sm9_fp_t k;
|
||||
int j = 1;
|
||||
|
||||
sm9_fp2_copy(x, SM9_P2->Y);
|
||||
sm9_fp2_copy(y, SM9_Ppubs->X);
|
||||
sm9_fp2_copy(x, P2->Y);
|
||||
sm9_fp2_copy(y, Ppubs->X);
|
||||
sm9_bn_from_hex(k, hex_iv);
|
||||
|
||||
sm9_fp2_t iv2 = {{0xc9bb073c, 0xf1fdd299, 0xd14f49a9, 0xd632457d, 0x664a2b72, 0x6e492768, 0x4e243d80, 0xa3965402},
|
||||
@@ -198,6 +230,14 @@ err:
|
||||
"3a70e829b83dc311970bc8d3e3e652f88a1ecd49b4672aa18c1c613c9a97d86f"
|
||||
|
||||
int test_sm9_fp4() {
|
||||
const SM9_TWIST_POINT _Ppubs = {
|
||||
{{0x96EA5E32, 0x8F14D656, 0x386A92DD, 0x414D2177, 0x24A3B573, 0x6CE843ED, 0x152D1F78, 0x29DBA116},
|
||||
{0x1B94C408, 0x0AB1B679, 0x5E392CFB, 0x1CE0711C, 0x41B56501, 0xE48AFF4B, 0x3084F733, 0x9F64080B}},
|
||||
{{0xB4E3216D, 0x0E75C05F, 0x5CDFF073, 0x1006E85F, 0xB7A46F74, 0x1A7CE027, 0xDDA532DA, 0x41E00A53},
|
||||
{0xD0EF1C25, 0xE89E1408, 0x1A77F335, 0xAD3E2FDB, 0x47E3A0CB, 0xB57329F4, 0xABEA0112, 0x69850938}},
|
||||
{{1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0}},
|
||||
};
|
||||
const SM9_TWIST_POINT *Ppubs = &_Ppubs;
|
||||
sm9_fp4_t x;
|
||||
sm9_fp4_t y;
|
||||
sm9_fp4_t r;
|
||||
|
||||
Reference in New Issue
Block a user