Sie sind auf Seite 1von 8

**AddCipher**

#include <stdio.h>
#include<string.h>
void main()
{
char pt[100],ctxt[100];
int ct[100], n,i,j, len=0, chr[100];

printf("Enter a plain text (without spaces)");


scanf("%s",pt);

printf("Enter key value");


scanf("%d",&n);

for(j=0;pt[j]!='\0';j++)
{
chr[j] =pt[j] - 97;
len++;
}

for(i=0;i<len;i++)
{
ct[i]=(chr[i] + n)%26;
ctxt[i]=ct[i]+97;
printf("%c",ctxt[i]);
}
printf("\n");
}

**Affine**

#include<stdio.h>
void main()
{
char pt[100],ctxt[100];
int ct[100],chr[100],i,j,n1,n2,k1,k2,r=26,len=0,gcd;

printf("Enter a plain text (without spaces) ");


scanf("%s",pt);

printf("Enter the first key value: ");


scanf("%d",&n1);

printf("Enter the second key value: ");


scanf("%d",&n2);

for(j=0;pt[j]!='\0';++j)
{
chr[j] = pt[j]-97;
len++;
}

for(i=1; i<=n1 && i<=r; ++i)


{
if(n1%i==0 && r%i==0)
gcd=i;
}
if(gcd==1)
{
k1=n1;
k2=n2;
}
else
{
k2=n1;
k1=n2;
}

for(i=0;i<len;++i)
{
ct[i]=((chr[i]*k1)+k2)%26;
ctxt[i]=ct[i]+65;
printf("%c",ctxt[i]);
}

printf("\n");

**Coloumnar**

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
int order[6]={3,5,0,1,4,2},row=3,column=6,i,j,k;
char m[]="comehometomorrow",o[2][5]={NULL},r1[2][5]={NULL};
while(i<=strlen(m))
{
for(j=0;j<=2;j++)
{
for(k=0;k<=5;k++)
{
o[j][k]=m[i];
i++;
}
}
}
printf("\nThe matrix is:\n");
for(i=0;i<=2;i++)
{
for(j=0;j<=5;j++)
{
printf("%c",o[i][j]);
}
printf("\n");
}
printf("\n================ROUND 1================\n");
printf("\nThe cipher text is:");
for(i=0;i<=5;i++)
{
j=order[i];
for(k=0;k<row;k++)
{
r1[i][k]=o[k][j];
}
}
for(i=0;i<=2;i++)
{
for(j=0;j<=5;j++)
{
printf("%c",r1[i][j]);
}
}
printf("\n");
}

**Diffie**

#include<stdio.h>
#include<math.h>

long long int power(long long int a, long long int b,


long long int P)
{
if (b == 1)
return a;
else
return (((long long int)pow(a, b)) % P);
}

int main()
{
long long int P, G, x, a, y, b, ka, kb;
P = 23;
printf("The value of P : %lld\n", P);
G = 9;
printf("The value of G : %lld\n\n", G);
a = 4;
printf("The private key a for Alice : %lld\n", a);
x = power(G, a, P);
b = 3;
printf("The private key b for Bob : %lld\n\n", b);
y = power(G, b, P);
ka = power(y, a, P);
kb = power(x, b, P);
printf("Secret key for the Alice is : %lld\n", ka);
printf("Secret Key for the Bob is : %lld\n", kb);
return 0;
}

**MD5**

#include<stdio.h>
#include<stdlib.h>
void main()
{
int a=0XAB,b=0XCD,c=0XEF,d=0XAF;
int input[10],m[5],t[5];
int i;
printf("\n Enter input string: " );
for(i=0;i<5;i++)
scanf("%x" ,&input[i]);
i=0;
while(i<5)
{
m[i]=input[i];
i++;
}
printf("\n Enter the %d constants: " ,i);
for(i=0;i<5;i++)
scanf(" %x" ,&t[i]);
unsigned char P=((b&c)||(~b)&d);
i=0;
while(i<5)
{
a=a^P;
a=a^m[i];
a=a^t[i];
a=a>>1;
i++;
}
printf(" The Encrypted text is: %x %x %x %x" ,a,b,c,d);
}

**Multi**

#include <stdio.h>
#include<string.h>
void main()
{
char pt[100],ctxt[100];
int ct[100], n,i,j, len=0, chr[100];

printf("Enter a plain text (without spaces)");


scanf("%s",pt);

printf("Enter key value");


scanf("%d",&n);

for(j=0;pt[j]!='\0';j++)
{
chr[j] =pt[j] - 97;
len++;
}

for(i=0;i<len;i++)
{
ct[i]=(chr[i] * n)%26;
ctxt[i]=ct[i]+97;
printf("%c",ctxt[i]);
}
printf("\n");
}

**RF**
#include<stdio.h>
void main()
{
char pt[100];
int len=1,i;
printf("Enter plain text:\n");
scanf("%s",pt);
for(i=0;pt[i]!='\0';i++)
{
len++;
}
len=len-1;
//printf("%d",len);
printf("\nCipher Text is:");
for(i=0;i<len;i=i+2)
{
printf("%c",pt[i]);
}
for(i=1;i<len;i=i+2)
{
printf("%c",pt[i]);
}
printf("\n");
}

**Rsa2**

#include<stdio.h>
#include<math.h>
int gcd(int a, int h)
{
int temp;
while (1)
{
temp = a%h;
if (temp == 0)
return h;
a = h;
h = temp;
}
}
int main()
{
int i, j, num, isPrime,a[10]={0},k=0,p,q;
printf("Enter n ");
scanf("%d", &num);
printf("All Prime Factors of %d are: \n", num);
for(i=2; i<=num; i++)
{
if(num%i==0)
{
isPrime = 1;
for(j=2; j<=i/2; j++)
{
if(i%j==0)
{
isPrime = 0;
break;
}
}
if(isPrime==1)
{
a[k]=i;
k++;
}
}
}
p=a[0];
q=a[1];
printf("p=%d\nq=%d",p,q);
int phi = (p-1)*(q-1);
printf("\nphi=%d",phi);
int e;
for(i=2;i<=phi;i++)
{
if(phi%i!=0)
{
e=i;
break;
}
}
printf("\ne=%d",e);
while (e < phi)
{
if (gcd(e, phi)==1)
break;
else
e++;
}
k = 4; // A constant value
int d = (1 + (k*phi))/e;
printf("\nd=%d",d);
int msg;
printf("\nEnter Message data:");
scanf("%d",&msg);
double c = pow(msg, e);
c = fmod(c, num);
printf("\nEncrypted data = %lf", c);
double m = pow(c, d);
double m1 = fmod(m, num);
printf("\nOriginal Message Sent = %d", msg);
return 0;
}

**Vernam**

#include<stdio.h>
void main()
{
char pt[20],k[20],pt1[20],k1[20],chr[20],ct[20];
int i,j,len=0,len1=0;
printf("Enter a plain text: ");
scanf("%s",pt);
printf("Enter the one time pad: ");
scanf("%s",k);
for(i=0;pt[i]!='\0';i++)
{
pt1[i] = pt[i] - 97;
len++;
}
for(j=0;k[j]!='\0';j++)
{
k1[j] = k[j] - 97;
len1++;
}
for(i=0,j=0;i<len,j<len1;i++,j++)
{
chr[i] = pt1[i] + k1[j];
if(chr[i] > 25)
chr[i] = chr[i] - 26;
}
for(i=0;i<len;i++)
{
ct[i] = chr[i] + 65;
printf("%c",ct[i]);
}
printf("\n");
}

**Vigenere**

#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
void main()
{
int i,j,k,numstr[100],numkey[100],numcipher[100];
char str[100],key[100];
printf("Enter a string\n");
scanf("%s",str);
//converting entered string to Capital letters
for(i=0,j=0;i<strlen(str);i++)
{
if(str[i]!=' ')
{str[j]=toupper(str[i]);
j++;
}
}
str[j]='\0';
printf("Entered string is : %s \n",str);
//Storing string in terms of ascii
for(i=0;i<strlen(str);i++)
{
numstr[i]=str[i]-'A';
}
printf("Enter a key\n");
scanf("%s",key);
//converting entered key to Capital letters
for(i=0,j=0;i<strlen(key);i++)
{
if(key[i]!=' ')
{
key[j]=toupper(key[i]);
j++;
}
}
key[j]='\0';
//Assigning key to the string
for(i=0;i<strlen(str);)
{
for(j=0;(j<strlen(key))&&(i<strlen(str));j++)
{
numkey[i]=key[j]-'A';
i++;
}
}
for(i=0;i<strlen(str);i++)
{
numcipher[i]=numstr[i]+numkey[i];
}
for(i=0;i<strlen(str);i++)
{
if(numcipher[i]>25)
{
numcipher[i]=numcipher[i]-26;
}
}
printf("Vigenere Cipher text is\n");
for(i=0;i<strlen(str);i++)
{
printf("%c",(numcipher[i]+'A'));
}
printf("\n");printf("The decrypted text is :- %s\n",str);
}

Das könnte Ihnen auch gefallen