Strona główna
 
Szukaj
Strona główna
Forum -> Hyde Park -> POszukuje kogo¶ kto zna C++
Strony (1)
2008-06-02 09:07:45
Temat: POszukuje kogo¶ kto zna C++
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 male  

2008-06-09 11:45:04
Temat: Re: POszukuje kogo¶ kto zna C++
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 male  
2008-06-12 07:03:55
Temat: Re: POszukuje kogo¶ kto zna C++
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 male  
Strony (1)
 
Skocz do forum:

Logowanie
Login hasło
Zapamiętaj te ustawienia i od tej pory loguj mnie automatycznie (przy pomocy "cookies").
Zaloguj używaj±c SSL

Nie masz jeszcze konta? Możesz sobie założyć !

© 2005 Kieleckie Forum Akwarystyczne - KFA. Wszelkie prawa zastrzeżone.


Strona wygenerowana po raz: 34791993
w tym 31005407 razy przez niezalogowanych użytkowników
0.018 | forum engine by Andrzej Sobczyk
Kasy Fiskalne Kielce | Drukarki Fiskalne Kielce | Wagi Sklepowe Kielce
Menu podręczne
  Strona główna
  Forum