Я использую следующую программу для генерации ключа RSA длиной 4 байта (без знака long). Итак, мой вопрос, как я могу изменить мою программу для работы с большими целыми числами?
void keygen(unsigned long int e, unsigned long int p, unsigned long int q)
{
unsigned long int phi,d,n,s;
n = p*q;
phi=(p-1)*(q-1);
d = phi / e ;
do
{
d++;
}
while( ((d*e) % phi) != 1 );
printf("\n public key: { e=%u n=%u }",e,n);
printf("\n private key: { d=%u n=%u }",d,n);
printf("\n verify modulo = %d\n",((d*e) % phi)); /* this need to be 1 */
}
void main()
{
keygen(3, 17, 19);
system("pause");
}