/* inicio */ int main (int argc, char * argv[]) { int tam; if (argc != 4) { printf("Error: argumentos incorrectos!\n"); return 0; } tam = identificaVector(argv[3], cifrado); identificaVector(argv[2], vectorSI); printf("Clave: %s\n", argv[1]); printf("Llave privada: %s\n", imprimeVector(vectorSI, 8, buffer)); printf("Mensaje cifrado: %s\n\n", imprimeVector(cifrado, tam, buffer)); calculaMMMI(argv[1]); descifra(argv[2], tam); printf("\nMensaje: %s\n", mensaje); return 1; }
/* inicio */ int main (int argc, char * argv[]) { if ((urandom = fopen("/dev/urandom", "r")) == NULL) { printf("error: no puedo abrir /dev/urandom!\n"); return 0; } if (argv[1] == NULL) { printf("error: clave vacia!\n"); return 0; } printf("clave: %s\n\n", argv[1]); generaVectorSI(); calculaMM(argv[1]); calculaVectorPub(); printf("llave privada: %s\n", imprimeVector(vectorSI, 8, buffer)); printf("llave publica: %s\n", imprimeVector(vectorPub, 8, buffer)); fclose(urandom); return 1; }
int main (int argc, char *argv[]){ double *A; // Matriz A double *B; // Matriz B double *C; // Matriz C double timetick; //El tamano de la matriz sera n= N*r , donde N y r se reciben //por parametro se tendran N*N bloques de r*r cada uno if (argc < 4){ printf("\n Falta un parametro "); printf("\n 1. Cantidad de bloques por dimension "); printf("\n 2. Dimension de cada bloque "); printf("\n 3. 0/1 para imprimir/no imprimir resultados "); return 0; } int N = atoi(argv[1]); int r = atoi(argv[2]); int imprimir=atoi(argv[3]); int n = N*r; //dimension de la matriz int sizeMatrix=n*n; //cantidad total de datos matriz int sizeBlock=r*r; //cantidad total de datos del bloque int i; A= (double *)malloc(sizeMatrix*sizeof(double)); //aloca memoria para A B= (double *)malloc(sizeMatrix*sizeof(double)); //aloca memoria para B C= (double *)malloc(sizeMatrix*sizeof(double)); //aloca memoria para C crearMatriz(A, sizeMatrix); //Inicializa A crearIdentidad(B,sizeBlock,sizeMatrix,N,r); //Inicializa B como matriz identidad timetick = dwalltime(); producto(A,B,C,r,N,sizeMatrix,sizeBlock); printf("Tiempo en segundos %f \n", dwalltime() - timetick); //tiempo if (imprimir ==1){ printf("\n\n A (como esta almacenada): \n" ); imprimeVector(A, sizeMatrix); printf("\n\n B (como esta almacenada): \n" ); imprimeVector(B,sizeMatrix); printf("\n\n A: \n" ); imprimeMatriz(A,N,r); printf(" \n\n B: \n" ); imprimeMatriz(B,N,r); printf("\n\n C: \n" ); imprimeMatriz(C,N,r); } printf(" \n\n Realizando comprobacion ... \n" ); for (i=0;i<sizeMatrix ;i++ ) { if (A[i]!=C[i]) { printf("\n Error %f", C[i] ); } } //imprimir tiempo free(A); free(B); free(C); return 0; } //FIN MAIN