Playfair Cipher - Encryption (Java)
Playfair Cipher - Encryption (Java)
ENCRYPTION - - -
Example :
Plaintext : JAZZ
Key : MONARCHY
Code [ Java ] :
import java.util.Scanner;
'N','O','P','Q','R','S','T','U','V','W','X','Y'
,'Z'};
char[][] table=new char[5][5];
char[] encpt_arr = new char[100];
int encpt_arr_ctr=0;
int ctr=-1;
for(int i=0;i<key_arr.length;i++)
for(int j=0;j<25;j++)
if(key_arr[i]==alpha[j])
{
ctr++;
int round = ctr/5;
table[round][ctr%5]=alpha[j];
alpha[j]='0';
break;
}
for(int i=0;i<alpha.length;i++)
{
if(alpha[i]!='0')
{
ctr++;
int round = ctr/5;
table[round][ctr%5]=alpha[i];
}
}
for(int i=0;i<c;i=i+2)
{
if(any[i]=='J')
any[i]='I';
if(any[i+1]=='J')
any[i+1]='I';
int row1=0,row2=0,col1=0,col2=0;
for(int j=0;j<5;j++)
{
for(int k=0;k<5;k++)
{
if(any[i]==table[j][k])
{
row1=j;
col1=k;
break;
}
}
}
for(int j=0;j<5;j++)
{
for(int k=0;k<5;k++)
{
if(any[i+1]==table[j][k])
{
row2=j;
col2=k;
break;
}
}
}
if(row1==row2)
{
col1=(col1+1)%5;
col2=(col2+1)%5;
encpt_arr[encpt_arr_ctr++]=table[row1][col1];
encpt_arr[encpt_arr_ctr++]=table[row2][col2];
}
else if(col1==col2)
{
row1=(row1+1)%5;
row2=(row2+1)%5;
encpt_arr[encpt_arr_ctr++]=table[row1][col1];
encpt_arr[encpt_arr_ctr++]=table[row2][col2];
}
else if(row1!=row2 && col1!=col2)
{
int row=0,col=0;
row=row1;
col=col2;
encpt_arr[encpt_arr_ctr++]=table[row][col];
row=row2;
col=col1;
encpt_arr[encpt_arr_ctr++]=table[row][col];
}
else
{
}
}
encrypt(pt,key);
}
}
Sample Output :
Enter plaintext: JAZZ
Enter key: MONARCHY