[ create a new paste ] login | about

Link: http://codepad.org/55oSSY2H    [ raw code | output | fork ]

C, pasted on Mar 25:
//ファイルkey.binに秘密鍵を書き込む。
void genkey(unsigned char str[256],unsigned char tt[256]){
FILE *fp;
int i;

  
  fp=fopen("key.bin","wb");
  /*
  hash(tt);
  //  printf("genkey\n");
  printf("%s\n",tt);

  fwrite(c1.m,1,16,fp);
  fwrite(c2.m,1,16,fp);
  */
/*
  for(i=0;i<16;i++)
    printf("%d ",c1.m[i]);
  printf("\n");
*/
  hash(str);
//  for(i=0;i<16;i++)
//    printf("%u ",c1.m[i]);
  fwrite(c1.dd,1,16,fp);
  fwrite(c2.dd,1,16,fp);
  
  fclose(fp);
  
}


//関数の値が0だったらもう一度秘密鍵の計算をやり直す
void lkb(unsigned char t[256],int x){
unsigned char str[16],m[32],s[256];
 int i,a;
 FILE *fp;

 flag=0;
 // printf("lkb=%s\n",t);

//   printf("lx=%u trace 0\n",x);
   //      printf("鍵生成に失敗しました。鍵を作りなおします");
   //      printf("ランダムにキーを叩いてください\n");
   for(i=0;i<16;i++){
     s[i]=c1.m[i];
     s[i+16]=c2.m[i];
   }
   //      scanf("%s",&s);
   genkey(s,t);
   lk(t);
   if(mode==2)
     kk(t);

    //  exit(1);
    //  break;
}



//関数の値を計算して0なら失敗。lkbに渡して再計算
int lk(unsigned char t[256]){
  unsigned int o=0,x,a,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,c[17],d[2],l[17],flag=0;
int i,j,read_size,n,count=0;
 unsigned char e[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
 unsigned char r[17]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
FILE *fp;
unsigned char str[16],s[256],m[32];

for(i=0;i<256;i++){
  s[i]=0;
}

fp=fopen("key.bin","rb");
//read_size=fread(m,1,32,fp);
read_size=fread(gg,1,16,fp);
for(i=1;i<16;i++){
  c[i]=gg[i];
       printf("gg=%u ",gg[i]);
}

c[16]=1;
for(x=0;x<N;x++){
//a=gf[mlt(mlt(mlt(fg[x],fg[x]),mlt(fg[x],fg[x])),mlt(fg[x],fg[x]))]^gf[mlt(fg[x],fg[x])]^1; 

a16=gf[mltn(16,fg[x])];
a15=gf[mlt(gg[15],mltn(15,fg[x]))];
a14=gf[mlt(gg[14],mltn(14,fg[x]))];
a13=gf[mlt(gg[13],mltn(13,fg[x]))];
a12=gf[mlt(gg[12],mltn(12,fg[x]))];
a11=gf[mlt(gg[11],mltn(11,fg[x]))];
a10=gf[mlt(gg[10],mltn(10,fg[x]))];
a9=gf[mlt(gg[9],mltn(9,fg[x]))];
a8=gf[mlt(gg[8],mltn(8,fg[x]))];
a7=gf[mlt(gg[7],mltn(7,fg[x]))];
a6=gf[mlt(gg[6],mltn(6,fg[x]))];
a5=gf[mlt(mlt(mlt(fg[x],fg[x]),mlt(fg[x],fg[x])),mlt(gg[5],fg[x]))];
a4=gf[mlt(mlt(mlt(fg[x],fg[x]),mlt(fg[x],fg[x])),gg[4])];
a3=gf[mlt(mlt(fg[x],fg[x]),mlt(fg[x],gg[3]))];
a2=gf[mlt(mlt(fg[x],fg[x]),gg[2])];
a=gf[mlt(fg[x],gg[1])]^gg[0];
a=a^a2^a3^a4^a5^a6^a7^a8^a9^a10^a11^a12^a13^a14^a15^a16;
  if(a==0)
  printf("x=%u\n",x);

//  if(a==0) {lkb(t,x);printf("lk%u=0 ",x);break;}
}

//   printf("lka\n  ");
 c[0]=gg[0]^a;
 for(x=0;x<N;x++){
//c=[1^a,0,1,0,0,0,1]
  d[0]=x;
  d[1]=1;
  e[15]=1;
  for(i=0;i<15;i++)
    e[i]=0;
  i=K;
    while(i>0){
  r[i]=gf[mlt(fg[d[1]],fg[e[i-1]])];
  r[i-1]=gf[mlt(fg[d[0]],fg[e[i-1]])];
//printf("%d %d %d %d\n",r[i],i,r[i-1],e[i-1]);
	j=K;
    while(j>-1){
    c[j]=r[j]^gf[fg[c[j]]];
    //print c[j]," "
    j=j-1;
    }
//  print "\n"
      r[i]=c[i];
    //  printf("ei=%u\n",i-2);
      if(i-2>-1){
        e[i-2]=c[i-1];
      //  printf("e=%d\n",e[i-2]);
      }
      i=i-1;
    }

//printf("%d,%d,%d,%d,%d,%d\n",gf[mlt(fg[e[5]],dv(1,fg[a]))],gf[mlt(fg[e[4]],dv(1,fg[a]))],gf[mlt(fg[e[3]],dv(1,fg[a]))],gf[mlt(fg[e[2]],dv(1,fg[a]))],gf[mlt(fg[e[1]],dv(1,fg[a]))],gf[mlt(fg[e[0]],dv(1,fg[a]))]);

//print gf[mlt(fg[e[15]],dv(1,fg[a]))],",",gf[mlt(fg[e[14]],dv(1,fg[a]))],",",gf[mlt(fg[e[13]],dv(1,fg[a]))],",",gf[mlt(fg[e[12]],dv(1,fg[a]))],",",gf[mlt(fg[e[11]],dv(1,fg[a]))],",",gf[mlt(fg[e[10]],dv(1,fg[a]))],",",gf[mlt(fg[e[9]],dv(1,fg[a]))],",",gf[mlt(fg[e[8]],dv(1,fg[a]))],",",gf[mlt(fg[e[7]],dv(1,fg[a]))],",",gf[mlt(fg[e[6]],dv(1,fg[a]))],",",gf[mlt(fg[e[5]],dv(1,fg[a]))],",",gf[mlt(fg[e[4]],dv(1,fg[a]))],",",gf[mlt(fg[e[3]],dv(1,fg[a]))],",",gf[mlt(fg[e[2]],dv(1,fg[a]))],",",gf[mlt(fg[e[1]],dv(1,fg[a]))],",",gf[mlt(fg[e[0]],dv(1,fg[a]))],"\n";
  for(i=0;i<K;i++){
      h3[i][x]=gf[mlt(fg[e[K-1-i]],dv(1,fg[a]))];
      //        printf("%u ",h3[i][x]);
  }
//  printf("\n");
//print x," "

 }

}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
In function 'genkey':
Line 24: error: 'c1' undeclared (first use in this function)
Line 24: error: (Each undeclared identifier is reported only once
Line 24: error: for each function it appears in.)
Line 25: error: 'c2' undeclared (first use in this function)
In function 'lkb':
Line 38: error: 'flag' undeclared (first use in this function)
Line 45: error: 'c1' undeclared (first use in this function)
Line 46: error: 'c2' undeclared (first use in this function)
Line 51: error: 'mode' undeclared (first use in this function)
In function 'lk':
Line 75: error: 'gg' undeclared (first use in this function)
Line 82: error: 'N' undeclared (first use in this function)
Line 85: error: 'gf' undeclared (first use in this function)
Line 85: error: 'fg' undeclared (first use in this function)
Line 117: error: 'K' undeclared (first use in this function)
Line 142: error: 'h3' undeclared (first use in this function)


Create a new paste based on this one


Comments: