#include #include int main (int argc, const char * argv[]) { DH *dh1; int i; unsigned char *key1; BIGNUM *Y; FILE *filep, *filex, *filey; char Ys[1000]; dh1=DH_generate_parameters(1024,2,NULL,NULL); DHparams_print_fp(stdout, dh1); if (!DH_generate_key(dh1)) printf("Erro a gerar chave privada 1\n"); filep=fopen("p.dat","w"); fprintf(filep,"%s",BN_bn2hex(dh1->p)); fclose(filep); filex=fopen("x.dat","w"); fprintf(filex,"%s",BN_bn2hex(dh1->pub_key)); fclose(filex); printf("Estou à espera! ..."); scanf("%d",&i); filey=fopen("y.dat","r"); fgets(Ys,1000,filey); BN_hex2bn(&Y, Ys); key1 = (unsigned char *)malloc(DH_size(dh1)); if (! DH_compute_key(key1,Y,dh1)) printf("Erro a gerar chave secreta 1\n"); for(i=0; i