Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: carepapa en 30 Mayo 2012, 00:11 AM

Título: Ayuda con un sencillo programa
Publicado por: carepapa en 30 Mayo 2012, 00:11 AM
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
Título: Re: Ayuda con un sencillo programa
Publicado por: durasno en 30 Mayo 2012, 00:31 AM
Hola! el operador % se usa con enteros, pow devuelve un double.. A diferencia de java, para imprimir tenes que pasar el formato:
printf("%d\n",i);

Saludos
Título: Re: Ayuda con un sencillo programa
Publicado por: carepapa en 30 Mayo 2012, 04:43 AM
Oh, muchas gracias durasno... estuvo de perlas tu ayuda!!!  :D