Προς το περιεχόμενο

Βοήθεια για τον αλγοριθμο κρυπτογραφισης Affine σε C


KoMe

Προτεινόμενες αναρτήσεις

Γεια χαρα σε ολους και ευχαριστω για τον χρονο σας!

Θα ηθελα να ρωτησω αν μπορει καποιος να με βοηθησει να ολοκληρωσω τον κωδικα κρυπτογραφισης Affine σε γλωσσα C !

Για την ακριβεια θελω ενα προγραμμα που να κρυπτογραφει και να αποκρυπτογραφει με την συγκεκριμενη μεθοδο για Z=26.

Εχω γραψει τα εξης:

#include<stdio.h>

#include<math.h>

 

int a,b,hj,Z=26,z=26,B,P,E,F,D,ANDIST,i;

char input[32];

int asc[32];

 

int main()

{

int j;

char alphabet[26],c[50],k;

k='a';

for (i=0;i<26;i++){

alphabet=k;

k++;

}

printf("\n please insert keys a,b (a ENTER , b ENTER) and string length (numb ENTER, NOTE: max string length is 100) \n");

fflush(stdin);

scanf("%d",& a);

fflush(stdin);

scanf("%d",& B);

fflush(stdin);

scanf("%d",& hj);

 

int A=a;

 

fflush(stdin);

printf("plese insert string");

scanf("%c",&input);

 

 

 

printf("\nfor encoding enter 1");

printf("\nfor decoding enter 2\n");

fflush(stdin);

scanf("%d",&F);

 

if (F=1)

{

for(i=0;i<hj;i++)

{

asc=input;

}

// for (i=0;i<hj;i++)

// {

// asc=(asc*a+B)%z;

// printf("\n %d",asc);

//}

 

for (j=0;j<hj;j++){

for (i=0;i<27;i++){

if (asc[j]==alphabet)

c[j]=alphabet[(a*i+B)%26];

}

}

for (j=0;j<hj;j++)

printf("%c\n",c[j]);

 

}

else if (F=2)

{

D=2;

while (D>1)

{

D=A%Z;

E=(Z-D)/A;

Z=A;

A=D;

}

 

if (D=1)

{

printf("\nThe oposit of a=%d excist's in z=%d",a,z);

P=1+z;

ANDIST=P/a;

printf("\nThe oposit is %d", ANDIST);

}

else

{

printf("\nAn oposit does NOT excist in Z=%d\n",z);

return(0);

}

 

 

for (i=0;i=hj;i++)

{

asc=((ANDIST*(asc-B)))%z;

printf("%d\n",asc);

}

 

 

}

else

{

printf("\nERROR WRONG INPUT");

return(0);

}

 

system("pause");

 

 

return(0);

}

 

Σας ευχαριστω εκ των πρωτερων για τη βοηθεια σας :-)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...