Ayuda con un sencillo programa

Iniciado por carepapa, 30 Mayo 2012, 00:11 AM

0 Miembros y 1 Visitante están viendo este tema.

carepapa

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

durasno

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
Ahorrate una pregunta, lee el man

carepapa

Oh, muchas gracias durasno... estuvo de perlas tu ayuda!!!  :D