Buenas tardes a todos, escribo porque necesito que me ayuden. Estoy haciendo un ejercicio sobre criptografía asimétrica El gamal. En el ejercicio me dan las claves públicas y ahora a lo que me enfrento es al problema del logaritmo discreto. Ahora para hacer esto hice un programa para averiguar la clave privada por medio de fuerza bruta, lo intente en java, pero a la iteración 215, los numeros me dan infinitos, lo hago así porque el generador es un valor relativamente pequeño g=457, entonces no es tan dificil atacarlo con fuerza bruta. Ahora lo estoy intentando en c, pero soy muy novato en este lenguaje y quisiera que me ayudara en el codigo ya que me saca un error:
#include <stdio.h>
#include <math.h>
int main ()
{
float elev = 0,i = 0;
for (i=0;i<=457;i++)
{
elev = pow (28, i)%457;
if (elev == 3)
{
printf(i);
}
}
return 0;
}
Espero me puedan responder pronto y muchas gracias