qdixon.h 540 B

1234567891011121314151617181920212223242526272829
  1. #ifndef _QA_DIXON_H_
  2. #define _QA_DIXON_H_
  3. extern struct qa_question DixonQuestion;
  4. typedef struct matrix {
  5. char **M;
  6. size_t f;
  7. size_t r;
  8. } matrix_t;
  9. matrix_t* identity_matrix_new(int d);
  10. matrix_t* matrix_new(int r, int c);
  11. void matrix_free(matrix_t *m);
  12. matrix_t *kernel(matrix_t *m);
  13. void discover_smooth(BIGNUM *y, BIGNUM *x, BIGNUM *n,
  14. BN_CTX *ctx, char *v, size_t len);
  15. int dixon_smooth(BIGNUM *x, BN_CTX *ctx, char *v, size_t len);
  16. RSA *dixon_factorize(const RSA *rsa);
  17. #endif /* _QA_DIXON_H_ */