пользовательский тип данных в C

Я работаю с криптографией и мне нужно использовать действительно большие числа. Я также использую новую инструкцию Intel для переносного умножения, которая требует тип данных m128i, который загружается с функцией, которая принимает в качестве аргументов данные с плавающей запятой.

Мне нужно сохранить 2 ^ 1223 целое число, а затем возвести его в квадрат и сохранить это значение.

Я знаю, что могу использовать библиотеку GMP, но думаю, что было бы быстрее создать два типа данных, которые оба хранят значения, такие как 2 ^ 1224 и 2 ^ 2448. У него будет меньше накладных расходов. Я собираюсь использовать karatsuba для умножения чисел, поэтому единственной операцией, которую мне нужно выполнить с типом данных, является сложение, так как я буду разбивать число до размера m128i.

Может ли кто-нибудь направить меня в направлении материала, который может помочь мне создать нужный мне размер целого числа.

Ответы на вопрос(1)

Ваш ответ на вопрос