diff options
Diffstat (limited to 'test_crypto.c')
-rw-r--r-- | test_crypto.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test_crypto.c b/test_crypto.c index a9acdde..5f72c71 100644 --- a/test_crypto.c +++ b/test_crypto.c @@ -68,6 +68,34 @@ test_smc_3d_array () int +test_serialization () +{ + gcry_mpi_point_t oldp = gcry_mpi_point_new (0); + gcry_mpi_point_t newp = gcry_mpi_point_new (0); + gcry_mpi_t oldi = gcry_mpi_new (0); + gcry_mpi_t newi = gcry_mpi_new (0); + struct ec_mpi serp; + struct ec_mpi seri; + + ec_keypair_create (oldp, oldi); + + ec_point_serialize (&serp, oldp); + mpi_serialize (&seri, oldi); + + ec_point_parse (newp, &serp); + mpi_parse (newi, &seri); + + check (!ec_point_cmp (oldp, newp), "serialization changed point"); + check (!gcry_mpi_cmp (oldi, newi), "serialization changed mpi"); + + gcry_mpi_point_release (oldp); + gcry_mpi_point_release (newp); + gcry_mpi_release (oldi); + gcry_mpi_release (newi); +} + + +int test_smc_zkp_dl () { gcry_mpi_t c = gcry_mpi_new (0); @@ -210,6 +238,7 @@ main (int argc, char *argv[]) for (tests_run = 0; tests_run < repeat; tests_run++) { + run (test_serialization); run (test_smc_zkp_dl); run (test_smc_zkp_2dle); run (test_smc_zkp_0og); |