#include "rsa.h" rsa_t rsa_init(size_t len) { rsa_t rsa; // rsa.p = bigint_prime(len / 2); // rsa.q = bigint_prime(len / 2); rsa.p = bigint_zero(len / 2); rsa.q = bigint_zero(len / 2); return rsa; } rsa_t rsa_generate_keys(size_t block_size) { size_t len = block_size / sizeof(uint32_t) / 8; rsa_t rsa = rsa_init(len); bigint_t a = bigint_zero(4); bigint_t b = bigint_zero(4); a.data[0] = 1234567890; b.data[0] = 234567; printf("cmp a and b %d\n", bigint_cmp(a, b)); a.data[0] = 1234567890; // b.data[0] = 1921572864; printf("cmp a and b %d\n", bigint_cmp(a, b)); /* printf("cmp a and b %d\n", bigint_cmp(a, b)); printf("cmp b and a %d\n", bigint_cmp(b, a)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); bigint_bitwise_left_shift(b); printf("b %ud\n", b.data[0]); printf("cmp a and b %d\n", bigint_cmp(a, b)); */ bigint_t result = assignable_bigint_modulo(a, b); printf("result is %ud\n", result.data[0]); return rsa; }