Professional Documents
Culture Documents
#include <stdio.h>
int main()
{
char s[30],enc[30],dec[30],temp[30];
int key;
printf("Enter the word to be sent\n");
scanf("%s", &s);
printf("Enter the key to encrypt with\n");
scanf("%d", &key);
for(int i=0;s[i]!='\0';i++)
{
enc[i]=s[i]+(key%26);
}
printf("The encrypted word is %s\n", enc);
printf("Enter word to decrypt");
scanf("%s", &dec);
for(int j=0;dec[j]!='\0';j++)
{
temp[j]=dec[j]-(key%26);
}
printf("The decrypted word is %s", temp);
return 0;
}
312216205084
Riyaz Rafi Ahmed
OUTPUT:
312216205084
Riyaz Rafi Ahmed
Program: Playfair Cipher
import java.io.*;
import java.lang.*;
import java.util.*;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(len<=0)
break;
a[i][j]=new_key2[len2];
m.put(new_key2[len2], 1);
++len2;
--len;
}
char c='a';
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(a[i][j]==' ')
{
while (m.get(c)==1)
c=(char)((int)c+1);
312216205084
Riyaz Rafi Ahmed
if(c=='j')
c=(char)((int)c+1);
a[i][j]=c;
c=(char)((int)c+1);
}
m.clear();
char char1,char2;
int r1,r2,c1,c2,k;
r1=c1=r2=c2=0;
System.out.println();
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
System.out.print(a[i][j]+" ");
}
System.out.println();
}
for(k=0;k<str.length();k+=2)
{
char1=str2[k];
char2=str2[k+1];
if(char1=='j')
char1='i';
if(char2=='j')
char2='i';
if(char1==char2)
{
if(char1=='x')
char2='z';
else
char2='x';
}
for(i=0;i<5;i++)
312216205084
Riyaz Rafi Ahmed
for(j=0;j<5;j++)
{
if(a[i][j]==char1)
{
r1=i;
c1=j;
}
if(a[i][j]==char2)
{
r2=i;
c2=j;
}
}
if(r1==r2)
{
str2[k]=a[r1][(c1+1)%5];
str2[k+1]=a[r2][(c2+1)%5];
}
else if(c1==c2)
{
str2[k]=a[(r1+1)%5][c1];
str2[k+1]=a[(r2+1)%5][c2];
}
else
{
str2[k]=a[r1][c2];
str2[k+1]=a[r2][c1];
}
}
System.out.println();
System.out.print("The encrypted code is: ");
System.out.println(str2);
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(len<=0)
break;
a[i][j]=new_key2[len2];
m.put(new_key2[len2], 1);
++len2;
--len;
}
char c='a';
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(a[i][j]==' ')
{
while (m.get(c)==1)
c=(char)((int)c+1);
if(c=='j')
c=(char)((int)c+1);
a[i][j]=c;
c=(char)((int)c+1);
}
m.clear();
char char1,char2;
int r1,r2,c1,c2,k;
r1=c1=r2=c2=0;
System.out.println();
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
312216205084
Riyaz Rafi Ahmed
System.out.print(a[i][j]+" ");
}
System.out.println();
}
for(k=0;k<str.length();k+=2)
{
char1=str2[k];
char2=str2[k+1];
if(char1=='j')
char1='i';
if(char2=='j')
char2='i';
if(char1==char2)
{
if(char1=='x')
char2='z';
else
char2='x';
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
if(a[i][j]==char1)
{
r1=i;
c1=j;
}
if(a[i][j]==char2)
{
r2=i;
c2=j;
}
}
if(r1==r2)
312216205084
Riyaz Rafi Ahmed
{
str2[k]=a[r1][(c1-1)%5];
str2[k+1]=a[r2][(c2-1)%5];
}
else if(c1==c2)
{
str2[k]=a[(r1-1)%5][c1];
str2[k+1]=a[(r2-1)%5][c2];
}
else
{
str2[k]=a[r1][c2];
str2[k+1]=a[r2][c1];
}
if(str2[k+1]=='x')
{
if(k+1==str.length()-1)
str2[k+1]='\0';
else
str2[k+1]=str2[k];
}
}
System.out.println();
System.out.print("The decrypted code is: ");
System.out.println(str2);
}
Output
312216205084
Riyaz Rafi Ahmed
312216205084
Riyaz Rafi Ahmed
import java.io.*;
import java.lang.*;
import java.util.*;
for(i=1;i<26;i++)
if((det*i)%26==1)
312216205084
Riyaz Rafi Ahmed
{
detinv=i;
break;
}
for(i=0;i<3;i++)
for(j=0;j<3;j++)
adj[i][j]=(adj[i][j]*detinv)%26;
return adj;
}
char[] str2=str.toCharArray();
System.out.println("Enter the key matrix: ");
int[][] a=new int[3][3];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=sc.nextInt();
for(i=0;i<=str.length()+len%3-3;i+=3)
{
k=i;
int[][] mat=new int[3][1];
int[][] result=new int[3][1];
c1=str2[i];
c2=str2[i+1];
c3=str2[i+2];
mat[0][0]=m.get(c1);
mat[1][0]=m.get(c2);
mat[2][0]=m.get(c3);
result=mmul(a,mat);
for(t=0;t<3;t++)
result[t][0]=result[t][0]%26;
str2[i]=m2.get(result[0][0]);
str2[i+1]=m2.get(result[1][0]);
str2[i+2]=m2.get(result[2][0]);
}
System.out.println(str2);
}
str2[i]=m2.get(result[0][0]);
str2[i+1]=m2.get(result[1][0]);
if(m2.get(result[1][0])=='x' && i==str.length()+len%3-3)
str2[i+1]=' ';
str2[i+2]=m2.get(result[2][0]);
if(m2.get(result[2][0])=='x' && i==str.length()+len%3-3)
str2[i+2]=' ';
}
System.out.println(str2);
}
Output
312216205084
Riyaz Rafi Ahmed
312216205084
Riyaz Rafi Ahmed
#include<stdio.h>
#include<string.h>
int main()
{
char msg[50], key[20];
int msglen,keylen,i,j;
printf("Enter the message to encrypt\n");
scanf("%s", &msg);
printf("Enter the key");
scanf("%s", &key);
msglen = strlen(msg);
keylen = strlen(key);
char newKey[msglen], encryptedMsg[msglen], decryptedMsg[msglen];
for(i = 0, j = 0; i < msglen; ++i, ++j)
{
if(j == keylen)
j = 0;
newKey[i] = key[j];
}
newKey[i] = '\0'; //encryption
for(i = 0; i < msglen; ++i)
encryptedMsg[i] = ((msg[i] + newKey[i]) % 26) + 'A';
encryptedMsg[i] = '\0';
return 0;
}
Output:
312216205084
Riyaz Rafi Ahmed
Program Code:
import java.io.*;
import java.lang.*;
import java.util.*;
for(i=0;i<cols;i++)
for(j=0;j<key;j++)
{
if(counter==len)
break;
res[i][j]=str2[counter];
++counter;
}
char res2[][]=new char[key][cols];
for(i=0;i<key;i++)
for(j=0;j<cols;j++)
res2[i][j]=res[j][i];
printMat(res2,key,cols);
System.out.println();
for(i=0;i<key;i++)
for(j=0;j<cols;j++)
result+=res2[i][j];
System.out.println("Encrypted text: ");
System.out.println(result);
}
for(i=0;i<cols;i++)
for(j=0;j<rows;j++)
{
if(counter==len)
break;
res[i][j]=str2[counter];
++counter;
}
printMat(res,cols,rows);
System.out.println();
for(i=0;i<rows;i++)
for(j=0;j<cols;j++)
result+=res2[i][j];
System.out.println("Decrypted text: ");
System.out.println(result);
}
Output:
312216205084
Riyaz Rafi Ahmed
Program code:
import java.io.*;
import java.lang.*;
import java.util.*;
for(i=0;i<len_key;i++)
312216205084
Riyaz Rafi Ahmed
key_arr2[i]=key_arr[i]-'0';
int rows,cols;
cols=len_key;
if(len%cols==0)
rows=len/cols;
else
rows=len/cols+1;
printMat(matrix,rows,cols);
System.out.println();
int[] order=new int[len_key];
int find=1;
for(i=0;i<len_key;i++)
for(j=0;j<len_key;j++)
if(key_arr2[j]==find)
{
order[i]=j;
312216205084
Riyaz Rafi Ahmed
++find;
break;
}
for(i=0;i<len_key;i++)
{
for(j=0;j<rows;j++)
System.out.print(matrix[j][order[i]]);
}
System.out.println();
}
t=0;
for(i=0;i<len_key;i++)
for(j=0;j<rows;j++)
{
matrix[j][order[i]]=str2[t];
++t;
}
System.out.println(result);
}
Output: