示例#1
0
/* 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;
}
示例#3
0
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