Я проверяю безопасность приложения для университетского проекта, приложение шифрует файл с использованием RSA, в частности использует эту библиотеку: https://github.com/ilansmith/rsa (НЕ используйте это, оно имеет серьезные уязвимости ).
(Если вы хотите посмотреть, большинство операций между этими числами реализованы в файле rsa_num.c
.)
Этот инструмент использует массивы unsigned long long
для хранения большие числа, необходимые для RSA (n
, e
и d
):
typedef struct {
u64 arr[17]; //u64 is defined as unsigned long long
int top; //points to the last occupied slot of the array
} u1024_t;
Проблема в том, что я не понимаю, как числа хранятся в этом формате. Что мне нужно, так это возможность каким-то образом печатать действительные числа или, по крайней мере, способ восстанавливать числа из компонентов массивов.
Я попытался просто объединить их как строки, но это не так кажется правильным.
Спасибо тому, кто сможет помочь!