Beruflich Dokumente
Kultur Dokumente
for
Network Security Lab
Code No. :
L
P
C
0
2
1
Network Security
BACHELOR OF TECHNOLOGY
(Computer Science and Engineering)
Sem-6th
AIM-2
AIM-3
AIM-4
Aim -5
Aim-6
Aim-7
Aim-8
Aim-9
Aim-10
Aim-11
Aim-12
Aim-13
(DAYANAND)
Asst. Prof. (CSE)
HMRITM, Hamidpur, Delhi-36
HOD
arr1[j]=arr1[k];
arr1[k]=temp;
}
}
Aim:Steps:
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void encrypt(char *msg,int k)
//void main()
{
int length,*arr,i;
length=strlen(msg);
arr=(int* )malloc(length*sizeof(int));
for(i=0;i<length;i++)
{
arr[i]=msg[i]-97;
msg[i]=(arr[i]+k)%26+97;
}
}
void decrypt(char *mmsg,int k)
{
int len,*arr,i,temp;
len=strlen(mmsg);
arr=(int *)malloc(len*sizeof(int));
for(i=0;i<len;i++)
{
arr[i]=mmsg[i]-97;
temp=(arr[i]-k)%26;
while(temp<0)
temp=temp+26;
mmsg[i]=temp+97;
}
}
void main()
{
char msg[40],k;
clrscr();
printf("\n Enter the message");
fflush(stdin);
gets(msg);
printf("Enter the key\n");
scanf("%d",&k);
encrypt(msg,k);
printf("Encrypted message is %s",msg);
decrypt(msg,k);
printf("\n\n THE DECRYPTED MESSAGE IS:%s",msg);
getch();
}
printf("\t(where k is an integer)");
}
else
printf("\n \n it has no solution");
getch();
}
{
int len,*arr,i,temp;
len=strlen(mmsg);
arr=(int *)malloc(len*sizeof(int));
for(i=0;i<len;i++)
{
arr[i]=mmsg[i]-97;
mmsg[i]=(arr[i]*k)%26+97;
}
}
int gcd(int x,int y)
{
int i,g,n;
if(x<=y)
n=x;
else
n=y;
g=0;
for(i=1;i<=n;i++)
{
if(x%i==0 && y%i==0)
{
if(g<i)
g=i;
}
}
return g;
}
void main()
{
clrscr();
char msg[50],k,ch,q,r1,r2,r,t,t1,t2;
printf(" ENTER MESSAGE:");
fflush(stdin);
gets(msg);
printf("\n\nENTER 1 FOR ADDITIVE CIPHER");
printf("\n\nENTER 2 FOR MULTIPLICATIVE CIPHER");
printf("\n\nENTER 3 FOR AFFINE CIPHER");
printf("\n\nENTER CHOICE:");
scanf("%d",&ch);
switch(ch)
{
case 1:printf("\n\n ADDITIVE CIPHER");
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void addencrypt(char *msg,int k)
{
int length,*mat,j;
length=strlen(msg);
mat=(int* )malloc(length*sizeof(int));
for(j=0;j<length;j++)
{
mat[j]=msg[j]-97;
msg[j]=(mat[j]+k)%26+65;
}
}
void adddecrypt(char *msg,int k)
{
int length,*mat1,j;
length=strlen(msg);
mat1=(int* )malloc(length*sizeof(int));
for(j=0;j<length;j++)
{
mat1[j]=msg[j]-65;
msg[j]=(mat1[j]-k)%26+97;
if(((mat1[j]-k)%26)<0)
msg[j]=msg[j]+26;
}
}
void multencrypt(char *msg,int k)
{
int length,*mat,j;
length=strlen(msg);
mat=(int* )malloc(length*sizeof(int));
for(j=0;j<length;j++)
{
mat[j]=msg[j]-97;
msg[j]=(mat[j]*k)%26+65;
}
}
void multdecrypt(char *msg,int k1)
{
int length,*mat1,j;
length=strlen(msg);
mat1=(int* )malloc(length*sizeof(int));
for(j=0;j<length;j++)
{
mat1[j]=msg[j]-65;
msg[j]=(mat1[j]*k1)%26+97;
if(((mat1[j]*k1)%26)<0)
msg[j]=msg[j]+26;
}
}
void affineencrypt(char *msg,int k1,int k2)
{
int length,*mat,j;
length=strlen(msg);
mat=(int* )malloc(length*sizeof(int));
for(j=0;j<length;j++)
{
mat[j]=msg[j]-97;
msg[j]=((mat[j]*k1)+k2)%26+65;
}
}
void affinedecrypt(char *msg,int k2,int k1)
{
int length,*mat1,j;
length=strlen(msg);
mat1=(int* )malloc(length*sizeof(int));
for(j=0;j<length;j++)
{
mat1[j]=msg[j]-65;
msg[j]=((mat1[j]-k2)*k1)%26+97;
if((((mat1[j]-k2)*k1)%26)<0)
msg[j]=msg[j]+26;
}
}
void main()
{
int k2,k3;
char msg[40],ch;
int r1,r2,r,q,t1=0,t2=1,t,k1,k;
clrscr();
printf("\n\t Enter the message : ");
fflush(stdin);
gets(msg);
printf("\n\t select 1 for additive cipher");
printf("\n\t select 2 for mulplicative cipher");
printf("\n\t select 3 for affine cipher");
printf("\n\t select 4 for exit");
printf("\n\t enter ur choice =");
scanf("%c",&ch);
switch(ch)
{
case '1':printf("\n\t Enter the key : ");
scanf("%d",&k);
addencrypt(msg, k);
printf("\n THE ENCRYPTED MESSAGE IS:%s",msg);
adddecrypt(msg,k);
printf("\n THE DECRYPTED MESSAGE IS:%s",msg);
break;
case '2':printf("\n\t Enter the key : ");
scanf("%d",&k);
multencrypt(msg, k);
printf("\n THE ENCRYPTED MESSAGE IS:%s",msg);
r1=26,r2=k;
while(r2>0)
{
q=r1/r2;
r=r1-q*r2;
r1=r2,r2=r;
t=t1-q*t2;
t1=t2,t2=t;
}
if(r1==1)
{
while(t1<0)
{
t1=t1+26;
}
k1=t1;
multdecrypt(msg,k1);
printf("\n THE DECRYPTED MESSAGE IS:%s",msg);
}
else
printf("\n DECRYOPTION CAN'T POSSIBLE WITH THIS KEY k=
%d",k);
break;
case '3':printf("\n\t Enter the key k1: ");
scanf("%d",&k1);
printf("\n\t Enter the key k2:");
scanf("%d",&k2);
affineencrypt(msg, k1,k2);
printf("\n THE ENCRYPTED MESSAGE IS:%s",msg);
r1=26,r2=k1;
while(r2>0)
{
q=r1/r2;
r=r1-q*r2;
r1=r2,r2=r;
t=t1-q*t2;
t1=t2,t2=t;
}
if(r1==1)
{
while(t1<0)
{
t1=t1+26;
}
k1=t1;
affinedecrypt(msg,k2,k1);
printf("\n THE DECRYPTED MESSAGE IS:%s",msg);
}
else
printf("\n AFFINEDECRYOPTION CAN'T POSSIBLE WITH
THESE KEY k1=%d k2=%d",k1,k2);
break;
default:printf("wrong choice");
break;
}
getch(); }
if(strcmp(ppsw,uun)==0)
flag=1;
if(llen<5)
flag=1;
/*for(int i=0;i<llen;i++)
{
if(ppsw[i]>='0' && ppsw[i]<='9')
} */
if(flag==1)
printf("\nIT IS A WEAK PASSWORD");
}
}
int gcd(int x,int y)
{
int i,g,n;
if(x<=y)
n=x;
else
n=y;
g=1;
for(i=1;i<=n;i++)
{
if(x%i==0 && y%i==0)
{
if(g<i)
g=i;
}
}
printf("%d",g);
return g;
}
clrscr();
printf("Enter Two Relatively Prime Numbers\t: ");
scanf("%d%d",&p,&q);
n = p*q;
phi=(p-1)*(q-1);
printf("\n\tF(n)\t= %d",phi);
do
{
printf("\n\nEnter e\t: ");
scanf("%d",&e);
check();
}while(FLAG==1);
d = 1;
do
{
s = (d*e)%phi;
d++;
}while(s!=1);
d = d-1;
printf("\n\tPublic Key\t: {%d,%d}",e,n);
printf("\n\tPrivate Key\t: {%d,%d}",d,n);
printf("\n\nEnter The Plain Text\t: ");
scanf("%d",&M);
encrypt();
printf("\n\nEnter the Cipher text\t: ");
scanf("%d",&C);
decrypt();
getch();
}
Aim:language.
Steps:
# include <stdio.h>
# include <fstream.h>
# include <string.h>
# include <conio.h>
# include <iostream.h>
int key[64]={
0,0,0,1,0,0,1,1,
0,0,1,1,0,1,0,0,
0,1,0,1,0,1,1,1,
0,1,1,1,1,0,0,1,
1,0,0,1,1,0,1,1,
1,0,1,1,1,1,0,0,
1,1,0,1,1,1,1,1,
1,1,1,1,0,0,0,1
};
class Des
{
public:
int keyi[16][48],
total[64],
left[32],
right[32],
ck[28],
dk[28],
expansion[48],
z[48],
xor1[48],
sub[32],
p[32],
xor2[32],
temp[64],
pc1[56],
ip[64],
inv[8][8];
char final[1000];
void IP();
void PermChoice1();
void PermChoice2();
void Expansion();
void inverse();
void xor_two();
void xor_oneE(int);
void xor_oneD(int);
void substitution();
void permutation();
void keygen();
char * Encrypt(char *);
char * Decrypt(char *);
};
void Des::IP() //Initial Permutation
{
int k=58,i;
for(i=0;i<32;i++)
{
ip[i]=total[k-1];
if(k-8>0) k=k-8;
else
k=k+58;
}
k=57;
for( i=32;i<64;i++)
{
ip[i]=total[k-1];
if(k-8>0) k=k-8;
else
k=k+58;
}
}
void Des::PermChoice1() //Permutation Choice-1
{
int k=57,i;
for(i=0;i<28;i++)
{
pc1[i]=key[k-1];
if(k-8>0) k=k-8;
else
k=k+57;
}
k=63;
for( i=28;i<52;i++)
{
pc1[i]=key[k-1];
if(k-8>0) k=k-8;
else
k=k+55;
}
k=28;
for(i=52;i<56;i++)
{
pc1[i]=key[k-1];
k=k-8;
}
}
char up[20];
int len,i=0,j=0;
clrscr();
printf("\nenter the text for encryption:");
gets(text);
while(text[i]!='\0')
{
if(i%2==0)
{
up[j]=text[i];
j++;
}
i++;
}
up[j]='\0';
puts(up);
getch();
}