cangrepp

Some cryptographic attacks
Log | Files | Refs | README

commit 5fa8cbe0981d7e93bee6da2d6962e4b4fda862cf
parent 6b0e23ea580b02f04e6fd7a7de40a9fcb49f7d0a
Author: olikru <olikru@tkruger.se>
Date:   Tue, 19 Mar 2024 12:58:16 +0100

added simple unit test for fermat factoring

Diffstat:
MMakefile | 2++
Mtest_angrepp.c | 21+++++++++++++++++++++
2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile @@ -9,7 +9,9 @@ CFLAGS+=-fno-builtin CFLAGS+=-I/usr/local/include CFLAGS+=-I/usr/local/include/flint +CFLAGS+=-I/home/olikru/.local/include/flint LDFLAGS+=-L/usr/local/lib -lflint -lgmp +LDFLAGS+=-L/home/olikru/.local/lib INSTALL_PATH=$(HOME)/.local BUILD=build diff --git a/test_angrepp.c b/test_angrepp.c @@ -1,8 +1,11 @@ #include <assert.h> #include <stdio.h> #include <stdlib.h> +#include <flint.h> +#include <fmpz.h> #include "cyclefind.h" +#include "pierre.h" static uint64_t test_f(uint64_t x) @@ -30,11 +33,29 @@ test_cyclefind_brent() assert(mu == 1); } +static void +test_pierre_factor() +{ + fmpz_t n, r; + fmpz_init(n); + fmpz_init(r); + fmpz_set_str(n, "13957163057215389251", 10); + + fermat_factor(r, n, 200); + + assert(fmpz_divisible(n, r)); + assert(fmpz_cmp_ui(r, 1) > 0); + + fmpz_clear(n); + fmpz_clear(r); +} + int main() { test_cyclefind_floyd(); test_cyclefind_brent(); + test_pierre_factor(); printf("test ok\n"); }