diff --git a/rsa/bigint.c b/rsa/bigint.c index db812d5..a48ac09 100644 --- a/rsa/bigint.c +++ b/rsa/bigint.c @@ -71,7 +71,6 @@ int bigint_cmp(bigint_t a, bigint_t b) { while (cursor >= 0) { uint32_t abit = a.data[cursor / size] & (1 << (cursor % size)); uint32_t bbit = b.data[cursor / size] & (1 << (cursor % size)); - //printf("cursor %d abit %ud bbit %ud\n", cursor, abit, bbit); if (abit > bbit) { return 1; } @@ -171,63 +170,39 @@ void bigint_add(bigint_t a, bigint_t b) { size_t width = a.len * size; uint32_t carriage = 0; -// printf("hello add\n"); for (size_t cursor = 0; cursor < width; cursor++) { -// printf("hahaha %ld %ld\n", cursor, width); uint32_t a_bit = a.data[cursor / size] >> (cursor % size) & 1; uint32_t b_bit = b.data[cursor / size] >> (cursor % size) & 1; result.data[cursor / size] |= (a_bit ^ b_bit ^ carriage) << (cursor % size); carriage = (a_bit & b_bit) | ((a_bit ^ b_bit) & carriage); } -// printf("im out\n"); bigint_destroy(a); a = bigint_clone(result); bigint_destroy(result); } void bigint_set_zeros(bigint_t n) { -// printf("hello set zeros\n"); for (size_t i = 0; i < n.len; i++) { n.data[i] = 0; } -// printf("goodbye set zeros\n"); } bigint_t assignable_bigint_mul(bigint_t a, bigint_t b) { bigint_t result = bigint_zero(RSA_BLOCK_SIZE / 8 / sizeof(uint32_t) * 4); bigint_t b_tool = bigint_zero(RSA_BLOCK_SIZE / 8 / sizeof(uint32_t) * 4); - /*if (a.len > b.len) { - result = bigint_zero(a.len); - b_tool = bigint_zero(a.len); - } else { - result = bigint_zero(a.len + b.len); - b_tool = bigint_zero(a.len + b.len); - }*/ size_t size = sizeof(uint32_t) * 8; size_t width = a.len * size; - printf("multiplying %d and %d\n", a.data[0], b.data[0]); - -// printf("hello mul\n"); for (size_t cursor = 0; cursor < width; cursor++) { -// printf("hello BIG LOOP ls %ld %ld\n", cursor, width); if (a.data[cursor / 32] >> (cursor % 32) & 1) { bigint_set_zeros(b_tool); - printf("bef %d\n", b_tool.data[0]); -// printf("hello memcpy\n"); memcpy(b_tool.data, b.data, b.len * sizeof(uint32_t)); - printf("aft %d\n", b_tool.data[0]); -// printf("goodbye memcpy\n"); for (size_t i = 0; i < cursor; i++) { -// printf("hello bitwise ls %ld %ld\n", i, cursor); bigint_bitwise_left_shift(b_tool); -// printf("goodbye bitwise ls\n"); } -// printf("before hello add\n"); bigint_add(result, b_tool); } } -// printf("GOODBYE BIG LOOP ls \n"); bigint_destroy(b_tool); return result; } @@ -235,12 +210,6 @@ bigint_t assignable_bigint_mul(bigint_t a, bigint_t b) { // a^e mod n // clean memory tricks !!! bigint_t assignable_bigint_pow_mod(bigint_t a, bigint_t e, bigint_t n) { - printf("print a\n"); - bigint_print(a); - printf("print e\n"); - bigint_print(e); - printf("print n\n"); - bigint_print(n); bigint_t result = bigint_clone(a); size_t size = sizeof(uint32_t) * 8; int cursor = e.len * size - 1; @@ -248,20 +217,7 @@ bigint_t assignable_bigint_pow_mod(bigint_t a, bigint_t e, bigint_t n) { cursor--; } cursor--; - /* - printf("SQUARE\n"); - bigint_t tmp_result2 = assignable_bigint_mul(result, result); - bigint_destroy(result); - result = bigint_clone(tmp_result2); - bigint_destroy(tmp_result2); - tmp_result2 = assignable_bigint_modulo(result, n); - bigint_destroy(result); - result = bigint_clone(tmp_result2); - bigint_destroy(tmp_result2); - */ - printf("cursor %d\n", cursor); while (cursor >= 0) { - printf("SQUARE\n"); bigint_t tmp_result2 = assignable_bigint_mul(result, result); bigint_destroy(result); result = bigint_clone(tmp_result2); @@ -271,7 +227,6 @@ bigint_t assignable_bigint_pow_mod(bigint_t a, bigint_t e, bigint_t n) { result = bigint_clone(tmp_result2); bigint_destroy(tmp_result2); if (e.data[cursor / 32] & 1 << (cursor % 32)) { - printf("MULTIPLY\n"); bigint_t tmp_result = assignable_bigint_mul(result, a); bigint_destroy(result); result = bigint_clone(tmp_result); @@ -283,7 +238,6 @@ bigint_t assignable_bigint_pow_mod(bigint_t a, bigint_t e, bigint_t n) { } cursor -= 1; } - printf("this time its over\n"); return result; } @@ -312,7 +266,7 @@ bigint_t bigint_prime(size_t len) { printf("random bytes\n"); bigint_print(n); bigint_set_msb_and_lsb_to_one(n); - printf("msb and lsb set to tone\n"); + printf("msb and lsb set to one\n"); bigint_print(n); bigint_t d = bigint_clone(n);