#ifndef _RSA_H #define _RSA_H 1 #include #include #include #include #include #include #include // TODO remove bytes bits helper #define RSA_SIZE 1024 #define RSA_SIZE_BYTES 1024 / 8 #define ERROR 0 #define WARNING 1 #define INFO 2 typedef struct s_rsa { t_bigint p; t_bigint q; t_bigint n; t_bigint e; } t_rsa; typedef struct s_bigint { int *data; int size; } t_bigint; void ft_log(int level, char *s); char *ft_itoa(int n); size_t ft_strlen(const char *s); char *ft_strjoin(char const *s1, char const *s2); void generate_keys(int *p, int *q, int *e); int *random_bits(int n); void generate_prime(int *p); int *phi(int *p, int *q); t_rsa rsa_new(int block_size); #endif