2008-06-02 09:07:45 | | foggy_baca
 zaawansowany
Ilo¶ć postów: 99 Sk±d: Daleszyce Dołaczył: 2007-02-07 | Jak w temacie, nie do pisania programu tylko do jego rozpracowania w jakich¶ 60%. Jak ktos by mógł to moje gg 7750721. Potrzebne mi to pilnie -- a na ¶więta neon w galarecie :) | do góry |  |  |  |
|  |
2008-06-09 11:45:04 | | foggy_baca
 zaawansowany
Ilo¶ć postów: 99 Sk±d: Daleszyce Dołaczył: 2007-02-07 | Nikt się nie znajdzie?? to poważna sprawa :) -- a na ¶więta neon w galarecie :) | do góry |  |  |  |  |
2008-06-12 07:03:55 | | foggy_baca
 zaawansowany
Ilo¶ć postów: 99 Sk±d: Daleszyce Dołaczył: 2007-02-07 | CODE | #include<conio.h> #include<stdio.h> #include<limits.h> #include<stdlib.h> #include<time.h>
long Shift_n_add(long a,long b,long n) {
long r=0; long mask=0x00000001; while(b!=0) { if (b & mask) { r=r+a; if(r>=n) r=r-n; }
b=b>>1; if(b!=0) { a=a<<1; if(a>=n) a=a-n; }
}
return r; }
//////////////////////////// long Sq_n_mul(long a,long b,long n) { long r=1; long mask=0x00000001; while(b!=0) { if ( b & mask) r=Shift_n_add(r,a,n); b=b>>1; if(b!=0) a=Shift_n_add(a,a,n);
} return r;
} ////////////////////////// int test_l_pierwszej(long p,long MAX_ITRATIONS) { long a=0; int i; for(i=0;i<MAX_ITRATIONS;i++) { a=rand()%(p-1) + 1; if ( Sq_n_mul(a,p-1,p)!=1) return 0; } return 1;
} ////////////////////////// long gen_prime(int MAX,char id) //it generates a prime no from 1 upto INT_MAX i.e 32767 { long p=0; int checkf=0;
time_t t; srand((unsigned) time(&t)); printf("nGenerowanie liczby pierwszej "); printf("nWygenerowana liczba %c wynosi:",id); while(1){ srand((unsigned) time(&t)); p=rand()%(MAX)+1;
checkf=(p,rand()%(p-1) + 1); if(!checkf) {
continue ; } else{
return p; }
} } ////////////////////////////////////// long Euclid_alg(long a,long n) { //let long storedn=n; long u=1,v=0,q=a/n,tempa=0,tempu=0; while(n!=1) { tempa=a; a=n; n=tempa-(n*q); tempu=u; u=v; v=tempu-(v*q); q=a/n;
} if(v<0) v+=storedn;
return v; } ////////////////////////////////////// int main(void) { long p=29,q=23,n,d,e=0; int i=0; const int TEXT = 11; //let //e=257; //checked e=3 ; //checked e=17; long m[TEXT]={'a','l','a',' ','m','a', ' ','k','o','t','a'}; /////////////////////////////// p=gen_prime(400,'p'); //it will take some time..but always return a prime no; printf("p=%ld " ,p); //in range of 1-1000 q=gen_prime(p,'q'); //return a prime no less then p. printf("q=%ld",q);
//////////////////////////////////////////////////// n=p*q; d=Euclid_alg(e,(p-1)*(q-1)); printf("nKlucz publiczny=(%ld,%ld)",e,n); printf("nKlucz prywatny =(%ld,%ld)",d,n); printf("n**********************"); printf("n*************************************************"); printf("nnOryginalna wiadomosc:"); i=0; while(i<TEXT) { printf("%c",m[i]); i++; } printf("n*************************************************"); //////////////Encrypting msg/////////////// printf("nnZakodowana wiadomosc:"); i=0; while(i<TEXT) { m[i]= Sq_n_mul(m[i],e,n); printf("%c",m[i]); i++; } printf("n"); //////////////Decrypting msg/////////////// printf("nOdkodowana wiadomosc:"); i=0; while(i<TEXT) { m[i]= Sq_n_mul(m[i],d,n); printf("%c",m[i]); i++; } getch(); }
|
-- a na ¶więta neon w galarecie :) | do góry |  |  |  |  |
|