Witam. W poniższym kodzie deszyfrującym muszę dokładnie wskazać "kod opisujący metodę Kasiskiego"... czy ktoś byłby tak miły i wskazał ten kod? dla mnie to czarna magia z góry dzięki
Kod:
#include<stdio.h>
#include<iostream.h>
#include <math.h>
void main()
{
FILE *we, *wy;
int i, licznik;
int tablica_ASCII[200];
char znak;
char haslo[200];
char plik_jawny[20];
char plik_zaszyfrowany[20];
for (i=0; i<200; i++)
haslo[i]=42;
cout<<"plik_odszyfrowany: " ;
cin>>plik_zaszyfrowany;
cout<<"plik_wynikowy: ";
cin>>plik_jawny;
cout<<"Podaj haslo: " ;
cin>>haslo;
int pozycja=0;
for (i=0; i<200; i++)
if (haslo[pozycja]!=42)
{
tablica_ASCII[i]=haslo[pozycja];
pozycja++;
}
else
{
pozycja=0;
i--;
tablica_ASCII[i]=haslo[pozycja];
pozycja++;
}
for (i=0; i<200; i++)
tablica_ASCII[i]-=65;
licznik=0;
if((we=fopen(plik_zaszyfrowany,"rb"))!=NULL)
{
if((wy=fopen(plik_jawny,"wb"))!=NULL)
{
while((znak=getc(we))!=EOF)
{
if ((znak>=65)&&(znak<=90))
{
znak-=65;
znak-=tablica_ASCII[licznik];
if(licznik==200)
licznik=0;
else
licznik++;
if (znak<0)
znak=26-fabs(znak);
znak+=65;
putc(znak,wy);
}
else if ((znak>=97)&&(znak<=122))
{
znak-=97;
znak-=tablica_ASCII[licznik];
if(licznik==200)
licznik=0;
else
licznik++;
if (znak<0)
znak=26-fabs(znak);
znak+=97;
putc(znak,wy);
}
}
fclose(wy);
}
fclose(we);
}
cout<<"Deszyfrowanie zostalo zakonczone";
return;
}